Escolher contagem de estilhaços no Azure Cosmos DB para PostgreSQL
APLICA-SE A: Azure Cosmos DB para PostgreSQL (alimentado pela extensão de banco de dados Citus para PostgreSQL)
Escolher a contagem de estilhaços para cada tabela distribuída é um equilíbrio entre a flexibilidade de ter mais fragmentos e a sobrecarga para o planejamento e a execução de consultas entre eles. Se você decidir alterar a contagem de estilhaços de uma tabela após a distribuição, poderá usar a função alter_distributed_table .
Caso de uso de SaaS multilocatário
A escolha ideal varia dependendo dos seus padrões de acesso aos dados. Por exemplo, no caso de uso do banco de dados SaaS multilocatário, recomendamos escolher entre 32 e 128 fragmentos. Para cargas de trabalho menores, digamos <100 GB, você pode começar com 32 fragmentos e para cargas de trabalho maiores, você pode escolher 64 ou 128. Esta escolha dá-lhe a margem de manobra para escalar de 32 a 128 máquinas operárias.
Caso de uso de análise em tempo real
No caso de uso do Real-Time Analytics, a contagem de estilhaços deve estar relacionada ao número total de núcleos nos trabalhadores. Para garantir o máximo paralelismo, você deve criar fragmentos suficientes em cada nó para que haja pelo menos um fragmento por núcleo de CPU. Normalmente, recomendamos a criação de um alto número de fragmentos iniciais, por exemplo, 2x ou 4x o número de núcleos de CPU atuais. Ter mais fragmentos permite dimensionamento futuro se você adicionar mais trabalhadores e núcleos de CPU.
Lembre-se de que, para cada consulta, o Azure Cosmos DB para PostgreSQL abre uma conexão de banco de dados por fragmento e que essas conexões são limitadas. Tenha cuidado para manter a contagem de estilhaços pequena o suficiente para que as consultas distribuídas muitas vezes não precisem esperar por uma conexão. Dito de outra forma, as conexões necessárias, (max concurrent queries * shard count)
, não devem exceder o total de conexões possíveis no sistema, (number of workers * max_connections per worker)
.
Próximos passos
- Saiba mais sobre as opções de desempenho do cluster.
- Dimensionar um cluster para cima ou para fora
- Reequilibrar estilhaços