Eventos
17 de mar., 21 - 21 de mar., 10
Junte-se à série de encontros para criar soluções de IA escaláveis com base em casos de uso do mundo real com outros desenvolvedores e especialistas.
Registrar agoraNão há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
APLICA-SE A: NoSQL
APLICA-SE AO: MongoDB
Este artigo explica como estimar as RU/s (unidades de solicitação) do Azure Cosmos DB quando você está considerando a migração de dados, mas tudo o que sabe é a contagem total de vCore ou vCPU nos conjuntos de réplicas de banco de dados existentes. Quando você migrar um ou mais conjuntos de réplicas para o Azure Cosmos DB, cada coleção mantida nesses conjuntos de réplicas será armazenada como uma coleção do Azure Cosmos DB, que consiste em um cluster fragmentado com um fator de replicação 4x. Você pode ler mais sobre nossa arquitetura neste guia de particionamento e colocação em escala. As unidades de solicitação representam o modo como a capacidade da taxa de transferência é provisionada em uma coleção. Você pode ler o guia de unidades de solicitação e o guia de provisionamento das RU/s para saber mais. Quando você migra uma coleção, o Azure Cosmos DB provisiona fragmentos suficientes para atender às unidades de solicitação provisionadas e armazenar os dados. Portanto, a estimativa das RU/s para coleções é uma etapa importante na escala do conjunto de dados planejado do Azure Cosmos DB antes da migração. Com base em nossa experiência com milhares de clientes, descobrimos que esta fórmula nos ajuda a chegar a uma estimativa aproximada de RU/s por meio de vCores ou vCPUs:
Provisioned RU/s = C*T/R
Os valores para C são fornecidos acima. O T deve ser determinado examinando o número de vCores ou vCPUs em cada conjunto de réplicas com suporte de dados do banco de dados existente e somando para obter o total; se você não puder estimar o T, siga nosso guia para estimar as RU/s usando o planejador de capacidade do Azure Cosmos DB em vez deste guia. O T não deverá incluir vCores ou vCPUs associados ao servidor de roteamento de banco de dados existente ou ao cluster de configuração, se ele tiver esses componentes.
Para o R, recomendamos conectar o fator de replicação médio dos conjuntos de réplicas de banco de dados; se essas informações não estiverem disponíveis, R=3 é uma boa regra prática.
As APIs de interoperabilidade do Azure Cosmos DB são executadas sobre a API para NoSQL e implementam as próprias arquiteturas exclusivas. Portanto, o Azure Cosmos DB for MongoDB v4.0 tem um valor de C diferente da API do Azure Cosmos DB para NoSQL.
Considere um conjunto de réplicas único com um fator de replicação de R=3 com base em um SKU de servidor com quatro núcleos. Então
Então, as unidades de solicitação recomendadas para a API do Azure Cosmos DB para NoSQL são
Provisioned RU/s, API for NoSQL = (600 RU/s/vCore) * (12 vCores) / (3) = 2,400 RU/s
E as unidades de solicitação recomendadas para o Azure Cosmos DB for MongoDB são
Provisioned RU/s, API for MongoDB = (1,000 RU/s/vCore) * (12 vCores) / (3) = 4,000 RU/s
Considere um cluster fragmentado e replicado compreendendo três conjuntos de réplicas, cada um com um fator de replicação três, em que cada servidor é um SKU com quatro núcleos. Então
Então, as unidades de solicitação recomendadas para a API do Azure Cosmos DB para NoSQL são
Provisioned RU/s, API for NoSQL = (600 RU/s/vCore) * (36 vCores) / (3) = 7,200 RU/s
E as unidades de solicitação recomendadas para o Azure Cosmos DB for MongoDB são
Provisioned RU/s, API for MongoDB = (1,000 RU/s/vCore) * (36 vCores) / (3) = 12,000 RU/s
Considere um cluster fragmentado e replicado compreendendo três conjuntos de réplicas, em que cada servidor é um SKU com quatro núcleos. Os conjuntos de réplicas são "heterogêneos" no sentido de que cada um tem um fator de replicação diferente: 3x, 1x e 5x, respectivamente. A abordagem recomendada é usar o fator de replicação médio ao calcular as unidades de solicitação. Então
Então, as unidades de solicitação recomendadas para a API do Azure Cosmos DB para NoSQL são
Provisioned RU/s, API for NoSQL = (600 RU/s/vCore) * (36 vCores) / (3) = 7,200 RU/s
E as unidades de solicitação recomendadas para o Azure Cosmos DB for MongoDB são
Provisioned RU/s, API for MongoDB = (1,000 RU/s/vCore) * (36 vCores) / (3) = 12,000 RU/s
Como migrar de um banco de dados gerenciado na nuvem: se você usa atualmente um banco de dados gerenciado em nuvem, esses serviços geralmente parecem ser provisionados em unidades de vCores ou vCPUs (em outras palavras, T), mas a contagem de núcleos que você provisiona define o valor de vCores/réplica ou de vCPU/replica (T/R) para um conjunto de réplicas de nó R; o verdadeiro número de núcleos é R vezes mais do que o provisionado explicitamente. É recomendável determinar se esta descrição se aplica ao banco de dados gerenciado em nuvem atual e, se for o caso, você deve multiplicar o número nominal de vCores ou vCPUs provisionados por R para obter uma estimativa precisa de T.
vCores versus vCPUs: neste artigo, tratamos "vCore" e "vCPU" como sinônimos, portanto, C tem unidades de RU/s/vCore ou RU/s/vCPU, sem distinção. No entanto, na prática, essa simplificação pode não ser precisa em algumas situações. Esses termos podem ter significados distintos; por exemplo, se as CPUs físicas dão suporte a hyperthreading, é possível que 2 vCPU = 1 vCore w/HT ou outra opção. Em geral, a relação vCore/vCPU depende do hardware e é recomendável investigar qual é a relação no hardware do cluster existente e se a computação do cluster é provisionada em termos de vCores ou vCPUs. Se vCPU e vCore tiverem significados distintos no hardware, é recomendável tratar as estimativas acima de C como se elas tivessem unidades de RU/s/vCore e, se necessário, converter o T de vCPU para vCore usando o fator de conversão apropriado para o hardware.
A estimativa de RU/s de vCores ou vCPUs requer a coleta de informações sobre o total de vCores/vCPUs e o fator de replicação dos conjuntos de réplicas do banco de dados existente. Em seguida, você pode usar relacionamentos conhecidos entre vcores/vCPUs e taxa de transferência para estimar RU/s (unidades de solicitação) do Azure Cosmos DB. Encontrar essa estimativa de unidade de solicitação será uma etapa importante na previsão da escala do conjunto de dados do Azure Cosmos DB após a migração.
A tabela abaixo resume a relação entre vCores e vCPUs para a API do Azure Cosmos DB para NoSQL e a API para MongoDB v4.0:
vCores | RU/s (API para NoSQL) (fator de replicação=3) |
RU/s (API para MongoDB v4.0) (fator de replicação=3) |
---|---|---|
3 | 600 | 1000 |
6 | 1200 | 2000 |
12 | 2400 | 4000 |
24 | 4800 | 8000 |
48 | 9600 | 16000 |
96 | 19200 | 32000 |
192 | 38400 | 64000 |
384 | 76800 | 128000 |
Eventos
17 de mar., 21 - 21 de mar., 10
Junte-se à série de encontros para criar soluções de IA escaláveis com base em casos de uso do mundo real com outros desenvolvedores e especialistas.
Registrar agoraTreinamento
Módulo
Migrar para o Azure Cosmos DB for MongoDB baseado em vCore - Training
Migrar para o Azure Cosmos DB for MongoDB baseado em vCore.
Certificação
Microsoft Certified: Azure Cosmos DB Developer Specialty - Certifications
Escreva consultas eficientes, crie políticas de indexação, gerencie e provisione recursos na API e no SDK do SQL com o Microsoft Azure Cosmos DB.