Skip to main content

Pregunta

ClickHouse Keeper proporciona el sistema de coordinación para la replicación de datos y la ejecución de consultas DDL distribuidas. ClickHouse Keeper es compatible con ZooKeeper, pero quizá no resulte evidente por qué conviene usar ClickHouse Keeper en lugar de ZooKeeper. En este artículo se analizan algunas de las ventajas de Keeper.

Respuesta

ClickHouse Cloud usa clickhouse-keeper a gran escala para miles de servicios en un entorno multiinquilino. Diseñamos y desarrollamos Keeper para eliminar nuestra dependencia de la implementación de ZooKeeper basada en Java. ClickHouse Keeper resuelve muchas limitaciones bien conocidas de ZooKeeper y aporta mejoras adicionales, entre ellas:
  • Las instantáneas y los logs consumen mucho menos espacio en disco gracias a una mejor compresión
  • No hay límite en el tamaño predeterminado de los paquetes ni en el de los datos de los nodos (en ZooKeeper es de 1 MB)
  • No existe el problema de desbordamiento de zxid (en ZooKeeper obliga a reiniciar cada 2B transacciones)
  • Recuperación más rápida tras particiones de red gracias al uso de un protocolo de consenso distribuido mejor
  • Usa menos memoria para el mismo volumen de datos
  • Es más fácil de configurar y no requiere especificar el tamaño del heap de la JVM ni una implementación personalizada de recolección de basura
  • Algunos comandos personalizados del protocolo permiten operaciones más rápidas en tablas ReplicatedMergeTree
  • Una cobertura mayor en las pruebas de Jepsen
Además, el equipo de soporte de ClickHouse ha observado una disminución drástica de los problemas de clúster en entornos que usan clickhouse-keeper en lugar de ZooKeeper. Consulta la página de documentación de Keeper para obtener más información sobre cómo configurar y ejecutar ClickHouse Keeper.
Última modificación el 3 de julio de 2026