Aunque ClickHouse es conocido por su velocidad y fiabilidad, el rendimiento óptimo se alcanza dentro de determinados parámetros operativos. Por ejemplo, tener demasiadas tablas, bases de datos o partes puede afectar negativamente al rendimiento. Para evitarlo, ClickHouse Cloud aplica límites en varias dimensiones operativas. A continuación se enumeran los valores predeterminados de estas medidas de protección. Salvo que se indique lo contrario, estas medidas de protección se aplican a nivel de servicio.
| Dimensión | Límite |
|---|---|
| Bases de datos | 1000 |
| Tablas | 5000 |
| Vistas | 15000 |
| Diccionarios | 5000 |
| Colecciones con nombre (vista previa privada) | 1000 |
| Columnas | ~1000 (se prefiere el formato ancho al compacto) |
| Particiones | 50k |
| Partes | 10k (consulte la configuración de max_parts_in_total) |
| Tamaño de parte | 150 GB |
| Servicios por organización | 20 (flexible) |
| Réplicas por servicio | 20 (flexible) |
| Réplicas por warehouse | 50 (flexible) |
| Baja cardinalidad | 10k o menos |
| Claves principales en una tabla | 4–5 que filtren suficientemente los datos |
| Concurrencia de consultas | 1000 (por réplica) |
| Ingesta por lotes | Cualquier valor > 1M de filas se divide en bloques de 1M de filas |
Para conocer los límites de réplicas y escalado de warehouse, consulte warehouses.
Los valores anteriores son medidas de protección predeterminadas. El límite aplicado a un servicio específico puede ser superior al valor mostrado aquí, ya que los servicios más grandes se configuran con mayor holgura. El límite real aplicable a su servicio se incluye en la advertencia que recibe al aproximarse a él. Para los servicios que ya superan los límites de uso anteriores, los límites de tablas y bases de datos se establecen en el recuento actual de tablas y bases de datos del servicio más un 25 %.
Los límites específicos de advertencia y rechazo de su servicio pueden verificarse consultando system.server_settings. Por ejemplo,
SELECT *
FROM system.server_settings
WHERE name IN ('max_table_num_to_warn', 'max_table_num_to_throw', 'max_database_num_to_warn', 'max_database_num_to_throw', 'max_view_num_to_warn', 'max_view_num_to_throw', 'max_dictionary_num_to_warn', 'max_dictionary_num_to_throw', 'max_named_collection_num_to_warn', 'max_named_collection_num_to_throw')