Características clave
- CDC de streaming en tiempo real: Streamkap captura los cambios directamente de los registros de tu base de datos, lo que garantiza que los datos en ClickHouse sean una réplica en tiempo real del origen. Procesamiento de flujo simplificado: transforma, enriquece, enruta, da formato y crea embeddings a partir de los datos en tiempo real antes de que lleguen a ClickHouse. Impulsado por Flink, sin nada de la complejidad.
- Totalmente gestionado y escalable: Proporciona una canalización lista para producción y sin mantenimiento, lo que elimina la necesidad de gestionar tu propia infraestructura de Kafka, Flink, Debezium o registro de esquemas. La plataforma está diseñada para un alto rendimiento y puede escalar linealmente para gestionar miles de millones de eventos.
- Evolución automática del esquema: Streamkap detecta automáticamente los cambios de esquema en la base de datos de origen y los propaga a ClickHouse. Puede gestionar la incorporación de nuevas columnas o los cambios en los tipos de columna sin intervención manual.
- Optimizado para ClickHouse: La integración está diseñada para funcionar de forma eficiente con las funcionalidades de ClickHouse. De forma predeterminada, utiliza el motor ReplacingMergeTree para gestionar sin problemas las actualizaciones y eliminaciones del sistema de origen.
- Entrega resiliente: La plataforma ofrece una garantía de entrega de al menos una vez, lo que asegura la consistencia de los datos entre tu origen y ClickHouse. Para las operaciones de upsert, realiza la deduplicación en función de la clave primaria.
Primeros pasos
Requisitos previos
- Una cuenta de Streamkap.
- Los detalles de conexión de tu clúster de ClickHouse: Hostname, Port, Username y Password.
- Una base de datos de origen (p. ej., PostgreSQL, SQL Server) configurada para permitir CDC. Puedes encontrar guías de configuración detalladas en la documentación de Streamkap.
1
Configurar la fuente en Streamkap
- Inicia sesión en tu cuenta de Streamkap.
- En la barra lateral, ve a Connectors y selecciona la pestaña fuentes.
- Haz clic en + Add y selecciona el tipo de base de datos de origen (p. ej., SQL Server RDS).
- Completa los detalles de conexión, incluidos el endpoint, el puerto, el nombre de la base de datos y las credenciales del usuario.
- Guarda el connector.
2
Configura el destino de ClickHouse
- En la sección Connectors, selecciona la pestaña destinos.
- Haz clic en + Add y elige ClickHouse de la lista.
- Introduce los detalles de conexión de tu servicio ClickHouse:
- Hostname: El nombre de host de tu instancia de ClickHouse (p. ej.,
abc123.us-west-2.aws.clickhouse.cloud) - Port: El puerto HTTPS seguro, normalmente
8443 - Username and Password: Las credenciales de tu usuario de ClickHouse
- Database: El nombre de la base de datos de destino en ClickHouse
- Hostname: El nombre de host de tu instancia de ClickHouse (p. ej.,
- Guarda el destino.
3
Crear y ejecutar la canalización
- Ve a Pipelines en la barra lateral y haz clic en + Create.
- Selecciona la fuente y el destino que acabas de configurar.
- Elige los schemas y las tablas que quieres transmitir.
- Asigna un nombre a tu canalización y haz clic en Save.
4
Verificar los datos en ClickHouse
Conéctate a tu clúster de ClickHouse y ejecuta una consulta para ver los datos que van llegando a la tabla de destino.
Cómo funciona con ClickHouse
Motor de tabla y gestión de datos
upsert. Cuando crea una tabla en ClickHouse, utiliza el motor ReplacingMergeTree. Este motor es ideal para gestionar eventos de CDC:
- La clave primaria de la tabla de origen se usa como clave ORDER BY en la definición de la tabla ReplacingMergeTree.
- Las actualizaciones en el origen se escriben como filas nuevas en ClickHouse. Durante su proceso de combinación en segundo plano, ReplacingMergeTree consolida estas filas y conserva solo la versión más reciente según la clave de ordenación.
-
Las eliminaciones se gestionan mediante una marca de metadatos que alimenta el parámetro
is_deletedde ReplacingMergeTree. Las filas eliminadas en el origen no se quitan de inmediato, sino que se marcan como eliminadas.- Opcionalmente, los registros eliminados pueden conservarse en ClickHouse con fines analíticos
Columnas de metadatos
Consultar los datos más recientes
SELECT * podría mostrar filas históricas o eliminadas antes de que se complete una fusión. Para obtener el estado más actual de sus datos, debe filtrar los registros eliminados y seleccionar solo la versión más reciente de cada fila.
Puede hacerlo con el modificador FINAL, que es práctico, pero puede afectar al rendimiento de la consulta: