Skip to main content
En este artículo, desglosamos un tutorial que te muestra cómo hacer streaming de datos de SQL Server a ClickHouse. ClickHouse es ideal si buscas analítica ultrarrápida para informes y dashboards internos o de cara al cliente. Te guiaremos paso a paso para configurar ambas bases de datos, conectarlas y, por último, usar Streamkap para transmitir tus datos. Si SQL Server gestiona tus operaciones diarias, pero necesitas la velocidad y la potencia de ClickHouse para analítica, estás en el lugar adecuado.

¿Por qué transmitir datos de SQL Server a ClickHouse?

Si estás aquí, probablemente ya conozcas el problema: SQL Server es muy fiable para las transacciones, pero sencillamente no está diseñado para ejecutar consultas analíticas complejas en tiempo real. Ahí es donde ClickHouse destaca. ClickHouse está diseñado para analítica, con agregaciones e informes ultrarrápidos, incluso sobre conjuntos de datos enormes. Por eso, configurar una pipeline de CDC en streaming para enviar tus datos transaccionales a ClickHouse te permite ejecutar informes a gran velocidad, ideales para operaciones, equipos de producto o dashboards para clientes. Casos de uso típicos:
  • Informes internos sin ralentizar las aplicaciones de producción
  • Dashboards de cara al cliente que deben ser rápidos y estar siempre actualizados
  • Streaming de eventos, como mantener al día los logs de actividad de los usuarios para analítica

Lo que necesitarás para empezar

Antes de entrar en materia, esto es lo que deberías tener preparado:

Requisitos previos

  • Una instancia de SQL Server en funcionamiento
  • Para este tutorial, usamos AWS RDS para SQL Server, pero cualquier instancia moderna de SQL Server sirve.Configurar AWS SQL Server desde cero.
  • Una instancia de ClickHouse
  • Autogestionada o en la nube.Configurar ClickHouse desde cero.
  • Streamkap
  • Esta herramienta será la base de tu pipeline de streaming de datos.

Información de la conexión

Asegúrate de tener:
  • La dirección del servidor, el puerto, el nombre de usuario y la contraseña de SQL Server. Se recomienda crear un usuario y un rol independientes para que Streamkap pueda acceder a tu base de datos de SQL Server.Consulta nuestra documentación sobre la configuración.
  • La dirección del servidor, el puerto, el nombre de usuario y la contraseña de ClickHouse. Las listas de acceso IP de ClickHouse determinan qué servicios pueden conectarse a tu base de datos de ClickHouse.Sigue las instrucciones aquí.
  • Las tablas que quieres sincronizar; por ahora, empieza con una sola
1

Creación de una fuente de datos de SQL Server en Streamkap

¡Vamos allá!Empezaremos configurando la conexión de la fuente. Así es como Streamkap sabe de dónde obtener los cambios.Así se hace:
  1. Abre Streamkap y ve a la sección de fuentes.
  2. Crea una fuente nueva.
  • Asígnale un nombre fácil de reconocer (p. ej., sqlserver-demo-source).
  1. Completa los detalles de conexión de tu SQL Server:
  • Host (p. ej., your-db-instance.rds.amazonaws.com)
  • Puerto (el predeterminado para SQL Server es 3306)
  • Nombre de usuario y contraseña
  • Nombre de la base de datos

Qué ocurre internamente

Cuando lo configures, Streamkap se conectará a tu SQL Server y detectará las tablas. Para esta demo, elegiremos una tabla con datos que ya estén llegando, como eventos o transacciones.
2

Añadir un destino de ClickHouse en Streamkap

Ahora configuraremos el destino al que enviaremos todos estos datos.Al igual que con la fuente, crearemos un destino con los datos de conexión de ClickHouse.

Pasos:

  1. Ve a la sección de destinos en Streamkap.
  2. Agrega un destino nuevo: elige ClickHouse como tipo de destino.
  3. Introduce la información de tu ClickHouse:
  • Host
  • Puerto (el valor predeterminado es 9000)
  • Nombre de usuario y contraseña
  • Nombre de la base de datos
Captura de pantalla de ejemplo: agregar un nuevo destino de ClickHouse en el panel de Streamkap.

Modo upsert: ¿qué es?

Este es un paso importante: queremos usar el modo “upsert” de ClickHouse, que (internamente) usa el engine ReplacingMergeTree en ClickHouse. Esto nos permite fusionar los registros entrantes de forma eficiente y gestionar las actualizaciones después de ingestar los datos, mediante lo que ClickHouse llama “part merging”.
  • Esto garantiza que tu tabla de destino no se llene de duplicados cuando haya cambios en SQL Server.

Gestión de la evolución del esquema

A veces, ClickHouse y SQL Server no tienen las mismas columnas, sobre todo cuando tu aplicación está en producción y los desarrolladores siguen agregando columnas sobre la marcha.
  • Buenas noticias: Streamkap puede gestionar la evolución básica del esquema. Eso significa que, si agregas una columna nueva en SQL Server, también aparecerá en ClickHouse.
Solo selecciona “schema evolution” en la configuración de tu destino. Siempre puedes ajustarlo más adelante según sea necesario.
3

Configura el pipeline en Streamkap

Con el origen y el destino configurados, es hora de la parte divertida: ¡poner tus datos en streaming!

Configuración de la canalización

  1. Ve a la pestaña Pipelines en Streamkap.
  2. Crea una canalización nueva.
  3. Selecciona tu origen de SQL Server (sqlserver-demo-source).
  4. Selecciona tu destino de ClickHouse (clickhouse-tutorial-destination).
  5. Elige la tabla que quieres transmitir; por ejemplo, events.
  6. Configúrala para Change Data Capture (CDC).
  • Para esta ejecución, transmitiremos datos nuevos (si quieres, al principio puedes omitir el backfill y centrarte en los eventos de CDC).
Captura de pantalla de la configuración de la canalización: selección de origen, destino y tabla.

¿Deberías hacer backfill?

Puede que te preguntes: ¿debería cargar datos antiguos?En muchos casos de analítica, puede que solo quieras empezar transmitiendo los cambios a partir de ahora, pero siempre puedes volver atrás y cargar también datos más antiguos.Por ahora, simplemente elige “don’t backfill”, a menos que tengas una necesidad específica.
4

Observe el flujo de datos

¡Ahora tu pipeline está configurado y activo!Esto es lo que sucede:
  • A medida que llegan nuevos datos a la tabla de origen en SQL Server, el pipeline de Streamkap captura el cambio y lo envía a ClickHouse.
  • ClickHouse (gracias a ReplacingMergeTree y a la combinación de partes) ingesta estas filas y fusiona las actualizaciones.
  • El esquema se mantiene al día: agrega columnas en SQL Server y también aparecerán en ClickHouse.
Un dashboard en vivo o logs que muestran cómo aumenta el recuento de filas en ClickHouse y SQL Server en tiempo real.Puedes ver literalmente cómo aumentan las filas en ClickHouse a medida que SQL Server recibe datos.
Es de esperar cierto retraso en escenarios de alta carga, pero en la mayoría de los casos de uso el streaming es casi en tiempo real.

Entre bastidores: ¿qué hace realmente Streamkap?

Para que te hagas una idea:
  • Streamkap supervisa el registro binario de SQL Server (el mismo registro que se usa para la replicación).
  • En cuanto insertas, actualizas o eliminas una fila en tu tabla, Streamkap captura el evento.
  • Convierte el evento en algo que ClickHouse puede entender y lo envía, aplicando los cambios al instante en tu base de datos analítica.
Esto no es solo ETL: es CDC (captura de cambios de datos) en tiempo real.

Opciones avanzadas

Modos Upsert vs. Insert

¿Cuál es la diferencia entre simplemente insertar cada fila (Insert Mode) y asegurarse de que también se reflejen las actualizaciones y eliminaciones (Upsert Mode)?
  • Insert Mode: Cada fila nueva se añade; incluso si es una actualización, obtendrás duplicados.
  • Upsert Mode: Las actualizaciones de las filas existentes sobrescriben los datos ya presentes, mucho mejor para mantener los análisis actualizados y limpios.

Gestión de cambios de esquema

Las aplicaciones cambian, y tus esquemas también. Con este pipeline:
  • ¿Añadir una columna nueva a tu tabla operativa? Streamkap la detectará y la añadirá también en ClickHouse.
  • ¿Eliminar una columna? Según la configuración, puede que necesites una migración, pero la mayoría de las incorporaciones se realizan sin problemas.

Supervisión en producción: seguimiento del pipeline

Comprobación del estado del pipeline

Streamkap ofrece un panel donde puedes:
  • Ver el retraso del pipeline (¿qué tan actualizados están tus datos?)
  • Supervisar el recuento de filas y el rendimiento
  • Recibir alertas si algo no va bien
Ejemplo de panel: gráfico de latencia, recuento de filas e indicadores de estado.

Métricas comunes que conviene vigilar

  • Retraso: ¿Cuánto se ha rezagado ClickHouse respecto a SQL Server?
  • Rendimiento: Filas por segundo
  • Tasa de errores: Debería ser cercana a cero

Pasar a producción: consultar ClickHouse

Ahora que tus datos ya están en ClickHouse, puedes consultarlos con todas esas herramientas de análisis rápidas. Aquí tienes un ejemplo básico:
Combina ClickHouse con herramientas de visualización como Grafana, Superset o Redash para obtener informes completos.

Próximos pasos y profundizaciones

Este recorrido apenas muestra una pequeña parte de lo que puedes hacer. Ahora que ya dominas lo básico, esto es lo siguiente que puedes explorar:
  • Configurar flujos filtrados (sincronizar solo algunas tablas/columnas)
  • Hacer streaming desde múltiples orígenes hacia una única base de datos analítica
  • Combinar esto con S3/lagos de datos para almacenamiento en frío
  • Automatizar las migraciones de esquema cuando cambies las tablas
  • Proteger tu pipeline con SSL y reglas de firewall
No pierdas de vista el blog de Streamkap para consultar guías más detalladas.

FAQ y solución de problemas

P: ¿Esto funciona con bases de datos en la nube? R: ¡Sí! En este ejemplo usamos AWS RDS. Solo asegúrate de abrir los puertos adecuados. P: ¿Y el rendimiento? R: ClickHouse es rápido. El cuello de botella suele ser la red o la velocidad del binlog de la base de datos de origen, pero en la mayoría de los casos verás un retraso de menos de un segundo. P: ¿También admite eliminaciones? R: Por supuesto. En modo upsert, las eliminaciones también se marcan y se procesan en ClickHouse.

Para terminar

Aquí tienes una visión completa de cómo llevar tus datos de SQL Server a ClickHouse en streaming con Streamkap. Es una solución rápida, flexible e ideal para equipos que necesitan analítica casi en tiempo real sin sobrecargar sus bases de datos de producción. ¿Listo para probarlo? Ve a la página de registro y avísanos si quieres que tratemos temas como:
  • Upsert vs. Insert y los pormenores de ambos
  • Latencia de extremo a extremo: ¿qué tan rápido puedes obtener tu vista analítica final?
  • Optimización del rendimiento y throughput
  • Dashboards reales sobre esta stack
¡Gracias por leer! ¡Feliz streaming!
Última modificación el 23 de julio de 2026