Saltar al contenido principal
Esta es la Parte 2 de una guía sobre la migración de PostgreSQL a ClickHouse. A través de un ejemplo práctico, muestra cómo llevar a cabo la migración de forma eficiente mediante un enfoque de replicación en tiempo real (CDC). Muchos de los conceptos tratados también se aplican a las transferencias masivas manuales de datos de PostgreSQL a ClickHouse.
La mayoría de las consultas SQL de su entorno de PostgreSQL deberían ejecutarse en ClickHouse sin modificaciones y, probablemente, más rápido.

Deduplicación usando CDC

Al usar replicación en tiempo real con CDC, ten en cuenta que las actualizaciones y eliminaciones pueden generar filas duplicadas. Para gestionar esto, puedes usar técnicas basadas en vistas y vistas materializadas actualizables. Consulta esta guía para aprender a migrar tu aplicación de PostgreSQL a ClickHouse con la mínima fricción al usar replicación en tiempo real con CDC.

Optimizar consultas en ClickHouse

Aunque es posible migrar esto con una reescritura mínima de las consultas, se recomienda aprovechar las funciones de ClickHouse para simplificarlas considerablemente y mejorar aún más su rendimiento. Los ejemplos de esta sección cubren patrones de consulta comunes y muestran cómo optimizarlos con ClickHouse. Utilizan el Stack Overflow dataset completo (hasta abril de 2024) con recursos equivalentes en PostgreSQL y ClickHouse (8 núcleos, 32 GiB de RAM).
Para simplificar, las consultas siguientes omiten el uso de técnicas para deduplicar los datos.
Los recuentos aquí diferirán ligeramente, ya que los datos de Postgres solo contienen filas que cumplen la integridad referencial de las claves foráneas. ClickHouse no impone esas restricciones y, por lo tanto, contiene el dataset completo; por ejemplo, incluye usuarios anónimos.
Users (con más de 10 preguntas) que reciben la mayor cantidad de vistas:
Qué tags tienen más views:
Funciones de agregación Siempre que sea posible, conviene aprovechar las funciones de agregación de ClickHouse. A continuación, mostramos cómo usar la función argMax para calcular la pregunta más vista de cada año.
Esto es mucho más sencillo (y más rápido) que la consulta equivalente en Postgres:
Condicionales y arrays Las funciones condicionales y de array simplifican considerablemente las consultas. La siguiente consulta calcula las etiquetas (con más de 10 000 apariciones) con el mayor aumento porcentual entre 2022 y 2023. Observe cómo la siguiente consulta de ClickHouse es concisa gracias a los condicionales, las funciones de array y la posibilidad de reutilizar alias en las cláusulas HAVING y SELECT.
Haz clic aquí para ver la parte 3
Última modificación el 10 de junio de 2026