Elección del recuento de particiones en Azure Cosmos DB for PostgreSQL
SE APLICA A: Azure Cosmos DB for PostgreSQL (con tecnología de la extensión de base de datos de Citus en PostgreSQL)
Elegir el recuento de particiones para cada tabla distribuida es un equilibrio entre la flexibilidad de tener más particiones y la sobrecarga para planear y ejecutar consultas entre ellas. Si decide cambiar el recuento de particiones de una tabla después de la distribución, puede usar la función alter_distributed_table.
Caso de uso de SaaS multiinquilino
La opción óptima varía en función de los patrones de acceso de los datos. Por ejemplo, en el caso de uso de la base de datos SaaS multiinquilino, se recomienda elegir entre 32 y 128 particiones. Para cargas de trabajo más pequeñas, supongamos <100 GB, podría empezar con 32 particiones y para cargas de trabajo más grandes podría elegir 64 o 128. Esta opción le ofrece el margen para escalar de 32 a 128 máquinas de trabajo.
Caso de uso de análisis en tiempo real
En el caso de uso de análisis en tiempo real, el recuento de particiones debe estar relacionado con el número total de núcleos de los trabajos. Para garantizar el paralelismo máximo, debe crear suficientes particiones en cada nodo de forma que haya al menos una partición por núcleo de CPU. Normalmente, se recomienda crear un gran número de particiones iniciales, por ejemplo, 2 o 4 veces el número de núcleos de CPU actuales. Tener más particiones permite el escalado futuro si agrega más trabajos y núcleos de CPU.
Tenga en cuenta que, para cada consulta, Azure Cosmos DB for PostgreSQL abre una conexión de base de datos por partición y que estas conexiones son limitadas. Tenga cuidado de mantener el recuento de particiones lo suficientemente pequeño como para que las consultas distribuidas no tengan que esperar a una conexión. Por otra parte, las conexiones necesarias, (max concurrent queries * shard count)
, no deben superar el total de conexiones posibles en el sistema, (number of workers * max_connections per worker)
.
Pasos siguientes
- Obtenga más información sobre las opciones de rendimiento del clúster.
- Escalado vertical u horizontal de un clúster
- Reequilibrio de particiones