Distribuir dados globalmente com o Azure Cosmos DB
APLICA-SE A: NoSQL MongoDB Cassandra Gremlin Tabela
As aplicações atuais têm de ter uma capacidade de resposta elevada e estar sempre online. Para obter baixa latência e elevada disponibilidade, as instâncias destas aplicações têm de ser implementadas em datacenters próximos dos seus utilizadores. Normalmente, estas aplicações são implementadas em vários datacenters e são distribuídas globalmente. As aplicações distribuídas globalmente precisam de uma base de dados distribuída globalmente que possa replicar de forma transparente os dados em qualquer parte do mundo para permitir que as aplicações operem numa cópia dos dados próxima dos utilizadores.
O Azure Cosmos DB é um sistema de base de dados distribuído globalmente que lhe permite ler e escrever dados das réplicas locais da sua base de dados. O Azure Cosmos DB replica os dados de forma transparente para todas as regiões associadas à sua conta do Azure Cosmos DB. Ele foi projetado para fornecer baixa latência, escalabilidade elástica de taxa de transferência, semântica bem definida para consistência de dados e alta disponibilidade. Em resumo, se seu aplicativo precisar de tempo de resposta rápido em qualquer lugar do mundo, se for necessário estar sempre online e precisar de escalabilidade ilimitada e elástica de taxa de transferência e armazenamento, você deverá criar seu aplicativo no Azure Cosmos DB.
Você pode configurar seus bancos de dados para serem distribuídos globalmente e estarem disponíveis em qualquer uma das regiões do Azure. Para diminuir a latência, coloque os dados perto de onde os usuários estão. A escolha das regiões necessárias depende do alcance global do seu aplicativo e da localização dos usuários. O Azure Cosmos DB fornece uma única imagem do sistema do seu banco de dados do Azure Cosmos DB distribuído globalmente e contêineres nos quais seu aplicativo pode ler e gravar localmente.
Nota
As contas sem servidor do Azure Cosmos DB só podem ser executadas em uma única região do Azure. Para obter mais informações, consulte Usando recursos sem servidor.
Com o Azure Cosmos DB, você pode adicionar ou remover as regiões associadas à sua conta a qualquer momento. A sua aplicação não precisa de ser colocada em pausa ou reimplementada para adicionar ou remover uma região. O Azure Cosmos DB está disponível em todos os cinco ambientes de nuvem distintos do Azure disponíveis para os clientes:
Nuvem pública do Azure, que está disponível globalmente.
O Microsoft Azure operado pela 21Vianet está disponível através de uma parceria única entre a Microsoft e a 21Vianet, um dos maiores provedores de internet do país na China.
O Azure Germany fornece serviços sob um modelo de confiança de dados, que garante que os dados dos clientes permaneçam na Alemanha sob o controle da T-Systems International GmbH, uma subsidiária da Deutsche Telekom, atuando como administrador de dados alemão.
O Azure Government está disponível em quatro regiões nos Estados Unidos para agências governamentais dos EUA e seus parceiros.
O Azure Government for Department of Defense (DoD) está disponível em duas regiões dos Estados Unidos para o Departamento de Defesa dos EUA.
Principais benefícios da distribuição global
Crie aplicativos globais ativos-ativos. Com seu novo protocolo de replicação de gravações em várias regiões, todas as regiões oferecem suporte a gravações e leituras. O recurso de gravação em várias regiões também permite:
- Escalabilidade ilimitada de gravação elástica e leitura.
- 99,999% de disponibilidade de leitura e escrita em todo o mundo.
- Leituras e gravações garantidas servidas em menos de 10 milissegundos no percentil 99.
À medida que você adiciona e remove regiões de e para sua conta do Azure Cosmos DB, seu aplicativo não precisa ser reimplantado ou pausado, ele continua a estar altamente disponível em todos os momentos.
Crie aplicativos altamente responsivos. Seu aplicativo pode executar leituras e gravações quase em tempo real em todas as regiões que você escolheu para seu banco de dados. O Azure Cosmos DB lida internamente com a replicação de dados entre regiões com garantias de nível de consistência do nível selecionado.
Crie aplicativos altamente disponíveis. A execução de um banco de dados em várias regiões do mundo aumenta a disponibilidade de um banco de dados. Se uma região não estiver disponível, outras regiões processarão automaticamente as solicitações de aplicativos. O Azure Cosmos DB oferece 99,999% de disponibilidade de leitura e gravação para bancos de dados de várias regiões.
Mantenha a continuidade dos negócios durante interrupções regionais. O Azure Cosmos DB oferece suporte a failover gerenciado por serviço durante uma interrupção regional. Durante uma interrupção regional, o Azure Cosmos DB continua a manter seus SLAs de latência, disponibilidade, consistência e taxa de transferência. Para ajudar a garantir que todo o seu aplicativo esteja altamente disponível, o Azure Cosmos DB oferece uma API de failover manual para simular uma interrupção regional. Usando essa API, você pode realizar exercícios regulares de continuidade de negócios.
Dimensione a taxa de transferência de leitura e gravação globalmente. Você pode permitir que todas as regiões sejam graváveis e dimensionem de forma elástica leituras e gravações em todo o mundo. A taxa de transferência que seu aplicativo configura em um banco de dados do Azure Cosmos DB ou em um contêiner é provisionada em todas as regiões associadas à sua conta do Azure Cosmos DB. A taxa de transferência provisionada é garantida por SLAs apoiados financeiramente.
Escolha entre vários modelos de consistência bem definidos. O protocolo de replicação do Azure Cosmos DB oferece cinco modelos de consistência bem definidos, práticos e intuitivos. Cada modelo tem uma compensação entre consistência e desempenho. Use esses modelos de consistência para criar aplicativos distribuídos globalmente com facilidade.
Próximos passos
Leia mais sobre distribuição global nos seguintes artigos:
- Distribuição global - sob o capô
- Como configurar gravações de várias regiões em seus aplicativos
- Configurar clientes para multihoming
- Adicionar ou remover regiões da sua conta do Azure Cosmos DB
- Criar uma política de resolução de conflitos personalizada para a API para contas NoSQL
- Modelos de consistência programáveis no Azure Cosmos DB
- Escolha o nível de consistência certo para o seu aplicativo
- Níveis de consistência nas APIs do Azure Cosmos DB
- Compensações de disponibilidade e desempenho para vários níveis de consistência