Skip to main content
Streamkap es una plataforma de integración de datos en tiempo real especializada en CDC (captura de cambios de datos) en streaming y procesamiento de flujo. Está construida sobre una pila escalable y de alto rendimiento que utiliza Apache Kafka, Apache Flink y Debezium, y se ofrece como un servicio totalmente gestionado en despliegues SaaS o BYOC (Bring your own Cloud). Streamkap le permite transmitir en streaming cada insert, actualización y eliminación desde bases de datos de origen como PostgreSQL, MySQL, SQL Server, MongoDB y otras directamente a ClickHouse con latencia de milisegundos. Esto la hace ideal para impulsar paneles analíticos en tiempo real, analítica operativa y alimentar modelos de aprendizaje automático con datos en vivo.

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

Esta guía ofrece una visión general de cómo configurar una canalización de Streamkap para cargar datos en ClickHouse.

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

  1. Inicia sesión en tu cuenta de Streamkap.
  2. En la barra lateral, ve a Connectors y selecciona la pestaña fuentes.
  3. Haz clic en + Add y selecciona el tipo de base de datos de origen (p. ej., SQL Server RDS).
  4. Completa los detalles de conexión, incluidos el endpoint, el puerto, el nombre de la base de datos y las credenciales del usuario.
  5. Guarda el connector.
2

Configura el destino de ClickHouse

  1. En la sección Connectors, selecciona la pestaña destinos.
  2. Haz clic en + Add y elige ClickHouse de la lista.
  3. 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
  4. Guarda el destino.
3

Crear y ejecutar la canalización

  1. Ve a Pipelines en la barra lateral y haz clic en + Create.
  2. Selecciona la fuente y el destino que acabas de configurar.
  3. Elige los schemas y las tablas que quieres transmitir.
  4. Asigna un nombre a tu canalización y haz clic en Save.
Una vez creada, la canalización se activará. Streamkap primero tomará una snapshot de los datos existentes y luego comenzará a transmitir cualquier cambio nuevo a medida que se produzca.
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

La integración de Streamkap está diseñada para gestionar de forma eficiente los datos de CDC en ClickHouse.

Motor de tabla y gestión de datos

De forma predeterminada, Streamkap usa un modo de ingestión 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_deleted de 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

Streamkap agrega varias columnas de metadatos a cada tabla para gestionar el estado de los datos:

Consultar los datos más recientes

Dado que ReplacingMergeTree procesa las actualizaciones y eliminaciones en segundo plano, una consulta simple 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:
Para obtener un mejor rendimiento en tablas grandes, especialmente si no necesita leer todas las columnas y se trata de consultas analíticas puntuales, puede usar la función argMax para seleccionar manualmente el registro más reciente para cada clave primaria:
Para casos de uso en producción y consultas recurrentes y concurrentes de usuarios finales, se pueden usar vistas materializadas para modelar los datos y adaptarlos mejor a los patrones de acceso de los sistemas aguas abajo.

Más información

Última modificación el 24 de julio de 2026