Configurar o banco de dados distribuído global usando a API do Azure Cosmos DB para MongoDB
APLICA-SE A: MongoDB
Neste artigo, mostramos como usar o portal do Azure para configurar um banco de dados distribuído global e conectar-se a ele usando a API do Azure Cosmos DB para MongoDB.
Este artigo abrange as seguintes tarefas:
- Configurar a distribuição global com o portal do Azure
- Configurar a distribuição global usando a API do Azure Cosmos DB para MongoDB
Adicionar regiões de base de dados globais com o Portal do Azure
O Azure Cosmos DB está disponível em todas as regiões do Azure em todo o mundo. Depois de selecionar o nível de consistência predefinido para a sua conta de base de dados, pode associar uma ou mais regiões (dependendo da sua escolha do nível de consistência predefinido e das suas necessidades de distribuição global).
No Portal do Azure, na barra esquerda, clique em Azure Cosmos DB.
Na página Azure Cosmos DB, selecione a conta de base de dados a modificar.
Na página da conta, clique em Replicar dados globalmente no menu.
Na página Replicar dados globalmente, selecione as regiões a adicionar ou remover, clicando em regiões do mapa e, em seguida, clique em Guardar. Existe um custo para a adição de regiões, consulte a página de preços ou o artigo Distribuir dados globalmente com o Azure Cosmos DB para obter mais informações.
Depois de adicionar uma segunda região, a opção Ativação Pós-falha Manual fica ativada na página Replicar dados globalmente no portal. Pode utilizar esta opção para testar o processo de ativação pós-falha ou alterar a região de escrita principal. Depois de adicionar uma terceira região, a opção Prioridades da Ativação Pós-falha fica ativada na mesma página, para que possa alterar a ordem de ativação pós-falha para as leituras.
Selecionar regiões globais de bases de dados
Existem dois cenários comuns para configurar duas ou mais regiões:
- Proporcionar acesso de latência baixa aos dados pelos utilizadores finais, independentemente da respetiva localização em todo o mundo
- Adicionar resiliência regional para continuidade empresarial e recuperação após desastre (BCDR)
Para proporcionar latência baixa aos utilizadores finais, recomenda-se que implemente a aplicação e o Azure Cosmos DB nas regiões que correspondem àquelas onde os utilizadores da aplicação estão localizados.
Para BCDR, é recomendável adicionar regiões com base nos pares de regiões descritos no artigo Replicação entre regiões no Azure: continuidade de negócios e recuperação de desastres.
Verificando sua configuração regional
Uma maneira simples de verificar sua configuração global com a API do Azure Cosmos DB para MongoDB é executar o comando isMaster() do Shell do Mongo.
A partir da Shell de Mongo:
db.isMaster()
Resultados de exemplo:
{
"_t": "IsMasterResponse",
"ok": 1,
"ismaster": true,
"maxMessageSizeBytes": 4194304,
"maxWriteBatchSize": 1000,
"minWireVersion": 0,
"maxWireVersion": 2,
"tags": {
"region": "South India"
},
"hosts": [
"vishi-api-for-mongodb-southcentralus.documents.azure.com:10255",
"vishi-api-for-mongodb-westeurope.documents.azure.com:10255",
"vishi-api-for-mongodb-southindia.documents.azure.com:10255"
],
"setName": "globaldb",
"setVersion": 1,
"primary": "vishi-api-for-mongodb-southindia.documents.azure.com:10255",
"me": "vishi-api-for-mongodb-southindia.documents.azure.com:10255"
}
Conectando-se a uma região preferida
A API do Azure Cosmos DB para MongoDB permite especificar a preferência de leitura da sua coleção para um banco de dados distribuído globalmente. Para leituras de baixa latência e elevada disponibilidade global, recomendamos a definição da preferência de leitura da coleção como mais próxima. Está configurada uma preferência de leitura de mais próxima para ler a partir da região mais próxima.
var collection = database.GetCollection<BsonDocument>(collectionName);
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.Nearest));
Para aplicativos com uma região primária de leitura/gravação e uma região secundária para cenários de recuperação de desastres (DR), recomendamos definir a preferência de leitura da sua coleção como preferencial primária. Uma preferência de leitura de preferencial primária é configurada para leitura da região secundária quando a região primária não está disponível.
var collection = database.GetCollection<BsonDocument>(collectionName);
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.SecondaryPreferred));
Por último, se quiser especificar manualmente as regiões de leitura. Pode definir a região Etiqueta na sua preferência de leitura.
var collection = database.GetCollection<BsonDocument>(collectionName);
var tag = new Tag("region", "Southeast Asia");
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.Secondary, new[] { new TagSet(new[] { tag }) }));
Já está, isto conclui este tutorial. Pode saber como gerir a consistência da sua conta replicada globalmente ao ler Níveis de consistência no Azure Cosmos DB. Para obter mais informações sobre como funciona a replicação de base de dados global no Azure Cosmos DB, veja Distribuir dados globalmente com o Azure Cosmos DB.
Próximos passos
Neste tutorial, fez o seguinte:
- Configurar a distribuição global com o portal do Azure
- Configurar a distribuição global usando a API do Azure Cosmos DB para MongoDB
Agora, pode avançar para o próximo tutorial para saber como desenvolver localmente com o emulador local do Azure Cosmos DB.
Tentando fazer o planejamento de capacidade para uma migração para o Azure Cosmos DB? Você pode usar informações sobre seu cluster de banco de dados existente para planejamento de capacidade.
- Se tudo o que você sabe é o número de vcores e servidores em seu cluster de banco de dados existente, leia sobre como estimar unidades de solicitação usando vCores ou vCPUs
- Se você souber as taxas de solicitação típicas para sua carga de trabalho de banco de dados atual, leia sobre como estimar unidades de solicitação usando o planejador de capacidade do Azure Cosmos DB