Athrun Data Intelligence


Recientemente, comenzamos a trabajar con un nuevo cliente de atención médica y ciencias biológicas que invirtió mucho en Debezium para su canal de SQL Server a Snowflake. Sobre el papel, la alternativa tenía sentido: Debezium es el habitual de la industria para la captura distribuida de datos de cambios (CDC). Es de código destapado, robusto y, lo más importante, no requiere cuota de osadía.

Sin secuestro, el precio de “cero dólares” de Debezium resultó ser más parecido a un hijuelo infundado que a una cerveza infundado. Los ahorros iniciales fueron rápidamente eclipsados ​​por la complejidad operativa de ordenar los clústeres de Kafka Connect y la constante fricción de la cambio del esquema. En última instancia, las horas de ingeniería necesarias simplemente para “perdurar las luces encendidas” dejaron al cliente con una infraestructura rica pero con pocos datos.

El cliente necesitaba una alternativa casi en tiempo efectivo que no requiriera un equipo dedicado de ingenieros que actuaran como niñeras. Como resultado, decidieron portar toda su inmueble a Snowflake Openflow.

El objetivo era engañosamente simple: sincronizar datos de SQL Server con Snowflake casi en tiempo efectivo. Con una ventana de latencia de uno a cinco minutos, esto no sólo requería velocidad; la delegación requería un canal que fuera resiliente, escalable y, sobre todo, manejable.

El panorama: requisitos de escalera y rendimiento

Para entender por qué el mantenimiento de Debezium se volvió insoportable, es importante observar el bombeo de datos que se movía. Esta no fue una sincronización de una sola mesa; fue un diástole de delegación crítica para los prospección del cliente.

Aquí hay un vistazo rápido a los números del gran tamaño del tesina:

  • Total de instancias del servidor SQL: 19
  • Bases de datos totales: 540, repartidos en 19 instancias
  • Tablas totales: Más o menos de 129.600, ya que cada colchoneta de datos contenía ~240 tablas
  • Objetivo de latencia: Una ventana estricta de uno a cinco minutos desde el momento en que una transacción llega a SQL Server hasta el momento en que se puede consultar en Snowflake

A esta escalera, incluso un pequeño inconveniente en el diseño antecedente provocaría un retraso enorme. En el "vieja forma," recuperarse de una interrupción de 30 minutos podría requerir horas de intervención manual. El cliente necesitaba un sistema que pudiera manejar este bombeo sin un monitoreo constante.

La carga heredada: una inmueble Debezium multisalto

La inmueble heredada: un pastel de complejidad de siete capas

Antaño de la migración, los datos seguían un camino espacioso y sinuoso desde la fuente hasta el panel final del analista. El flujo de trabajo se veía así:

  1. El desencadenante: Debezium se conectó a los registros CDC de SQL Server para detectar cambios a nivel de fila.
  2. El intermediario: Estos eventos fueron serializados y llevados a temas específicos de Kafka..
  3. El puente: Se requería un clúster de Kafka Connect separado para sondear esos temas e intentar destinar los datos al ámbito de preparación de Snowflake.
  4. El aterrizaje crudo: Los datos llegaron a Snowflake como "JSON sin formato" blobs: esencialmente un lío de metadatos y cargas efectos anidadas.
  5. La pundonor: Conveniente a que los eventos de Debezium están envueltos en sobres complejos (estados antaño y a posteriori), fue necesario escribir y perdurar tareas personalizadas de Snowflake.
  6. El aplanamiento: Estas tareas se activarían periódicamente para analizar el JSON y aplanar los datos en un formato relacional.
  7. La fusión final: Sólo entonces se podrían fusionar los datos en las tablas de producción finales para el consumo.

¿Por qué esto fue un "Gastos operativos"

Cada flecha en la Figura 1 representa un punto potencial de error. Si el trabajador de Kafka Connect se retrasaba, los datos llegaban tarde. Si la tarea Snowflake fallaba, la tabla sin procesar se llenaba de datos sin analizar. No sólo estábamos moviendo datos; estábamos gestionando un ecosistema confuso de servicios interdependientes.

Colapsando la pila: el maniquí de ingesta directa de Openflow

La cambio de Openflow: colapsando la pila

Si la Figura 1 muestra una "gastos generales operativos," La figura 2 muestra un planeo directo. Cuando presentamos Openflow, la inmueble "ruido" desapareció. En espacio de una carrera de relevos de múltiples saltos que involucra Debezium, MSK, Kafka Connect y tareas manuales de Snowflake, pasamos a un enfoque directo de SQL Server a Snowflake.

Cómo Openflow redefinió el pipeline:

  • Seguimiento de cambios nativo: En espacio de CDC, Openflow SQL Server Connector aprovecha el seguimiento de cambios nativo para identificar transacciones con precisión quirúrgica.
  • Crecimiento automatizada del esquema: Uno de los mayores dolores de habitante con Debezium (la deriva del esquema) dejó de ser un problema. Openflow detecta automáticamente cambios de fuente y actualiza las tablas de Snowflake en tiempo efectivo. No más tuberías rotas porque un DBA agregó una columna.
  • Ingestión directa de copo de cocaína: Pasamos por detención a Kafka por completo. Openflow maneja la ingesta directamente en Snowflake, eliminando la pobreza de almacenamiento intermediario o clústeres de computación externos.
  • Exterminio de tareas personalizadas: Conveniente a que Openflow entrega datos en un formato avispado para usar, el cliente pudo eliminar su biblioteca de tareas complejas de aplanamiento de Snowflake y scripts de combinación.

Comparación

Comparemos Debezium y Openflow con algunas métricas operativas del mundo efectivo de la configuración de producción de un cliente.

Aspecto debecio flujo destapado
Mecanismo CDC CDC (pesado) Seguimiento de cambios (irreflexivo)
Sobrecarga de SQL Server Más detención Más bajo
Orquestación de tuberías Personalizado/manual Copo de cocaína ventilado
Complejidad de implementación muy detención Bajo a moderado
Metadatos del esquema Emite eventos CDC estructurales con metadatos de esquema integrados en mensajes Kafka Gestiona automáticamente los metadatos del esquema interiormente de Snowflake
Creación de tablas en Snowflake Manejado manualmente El conector se gestiona automáticamente
Crecimiento del esquema Los cambios de esquema deben detectarse y aplicarse manualmente El conector se gestiona automáticamente
Flujo de datos SQL Server ->Temas de Kafka->Kafka Connect->tablas sin formato->tareas de combinación personalizadas->tabla final SQL Server->Mesa final de copo de cocaína
Fusión y transformación Se requieren tareas personalizadas de Snowflake para aplanar JSON y fusionar filas CDC El conector se gestiona automáticamente
Orilla de responsabilidad Debezium sólo procesa eventos en Kafka. El procesamiento posterior debe construirse y mantenerse Canalización de un extremo a otro manejada por Openflow
Observabilidad Costumbre Fuera de la caja

Aquí, comparamos Debezium y Openflow con algunas comparaciones de costos del mundo efectivo.

Aspecto debecio flujo destapado
Costo de la osadía Código destapado, sin tarifas de osadía de conector No hay licencias de producto separadas para Openflow
Costos de infraestructura Requiere ecosistema Kafka: corredores MSK/Kafka + trabajadores de Kafka Connect Requiere la implementación de Openflow BYOC en la VPC del cliente. Automatizado mediante formación de nubes.
Costos operativos Muy detención, conveniente al escalado, mantenimiento y seguimiento de Kafka. Se requiere un equipo de soporte L2 independiente para la encargo. Más bajo. La implementación de Openflow BYOC es una responsabilidad compartida entre Snowflake y los clientes, donde Snowflake automatiza todos los pasos.
Costo del copo de cocaína Almacenamiento, almacén, conector de fregadero Snowpipe/Snowflake Almacenamiento, almacén, Snowpipe Streaming, computación Openflow

Conclusión: ¿Es hora de simplificar?

Sobrevenir de Debezium a Openflow no se prostitución sólo de cambiar una utensilio; se prostitución de recuperar tiempo de ingeniería. Eliminando a Kafka "intermediario," Nuestro cliente no solo ahorró en costos de infraestructura: obtuvo una tubería más resistente y autorreparable que escalera sin tener que cuidar a los niños.

Si tu equipo está actualmente "rica en infraestructura y escaso en datos," Puede que sea el momento de colapsar tu pila.

¿Perspicaz para simplificar la ingesta de Snowflake?

Así es como puedes dar el ulterior paso:

  • Audite sus gastos generales: Echa un vistazo a tus horarios de mantenimiento actuales de Debezium/Kafka. Si pasas más de dos horas a la semana "arreglando la plomería," Eres el principal candidato para Snowflake Openflow.
  • Véalo en batalla: Recepción nuestro sitio web para ver cómo Openflow maneja el seguimiento de cambios de SQL Server de forma nativa y automatiza la cambio de su esquema Snowflake.
  • Iniciar un piloto: Configure una prueba de concepto (POC) y compare la estabilidad de latencia de uno a cinco minutos de Openflow con su configuración contemporáneo de Debezium.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *