El análisis operativo es cada vez más en tiempo real en lugar de histórico. Al estudiar miles o millones de transacciones, podés medir mejor el rendimiento de ventas, el comportamiento del cliente y la eficiencia de la planta de ese momento.
Algoritmos avanzados, como el aprendizaje automático, ayudan a hacer predicciones operativas cada vez más precisas. Todo esto requiere de canales en tiempo real que adquieran, transformen y analicen grandes volúmenes de datos transaccionales con una latencia mínima en cada etapa: Adquisición, transformación y análisis de datos.
El motor de procesamiento en memoria de fuente abierta Apache Spark ha merecido mucha atención por su capacidad para acelerar las etapas de transformación y análisis, ejecutándose en almacenes de datos como S3 y HDFS. Por ejemplo, la API de Spark Streaming puede procesar datos en segundos a medida que llegan desde la fuente.
Sin embargo, el procesamiento en tiempo real en el objetivo de análisis no genera información si los datos de origen que fluyen a Spark tienen horas o días de antigüedad. Y este es el obstáculo que la tecnología de Change Data Capture (CDC) puede romper, especialmente para los datos transaccionales.
Los CDC adquieren transacciones de bases de datos en vivo y envían copias a las canalizaciones con una latencia cercana a cero, eliminando esos trabajos por lotes lentos e inflados. También reduce los gastos generales de procesamiento de producción y los requisitos de ancho de banda de transferencia en la nube.
Juntos, CDC y Spark pueden formar una sinergia poderosa para las canalizaciones de datos efectivos en tiempo real. Estas son las mejores prácticas que podés emplear para que esto suceda:
-Aceptar que las nuevas cargas de trabajo de análisis rompen las canalizaciones y plataformas anticuadas. El aprendizaje automático ilustra mejor el apetito voraz de los nuevos algoritmos. Cuantas más transacciones de clientes, controles de cadena de suministro y registros clínicos proceses, más probabilidades tendrás de identificar los patrones reveladores y, por lo tanto, hacer predicciones precisas. Las herramientas ETL tradicionales, los almacenes de datos e incluso el motor MapReduce ™ Hadoop orientado a lotes no pueden seguir el ritmo de conjuntos de datos grandes y de rápido movimiento.
-Seleccionar un almacén de datos que sea más compatible con tus conjuntos de datos transaccionales. Los intercambios aquí pueden ser complicados. Mientras que las bases de datos están optimizadas para formatos de datos estructurados, las nuevas plataformas como AWS S3, Azure Blob Store y Hadoop pueden ser más rentables y escalables. Además, los ingenieros de datos a menudo pueden resolver de manera más flexible los problemas de calidad de datos en HDFS y los componentes de Hadoop compatibles. Si necesitas el cumplimiento de atomicidad, consistencia, aislamiento y durabilidad (ACID); debés seleccionar una base de datos o Hive, que ahora admite procesos de fusión de ACID dentro de la pila de Hadoop. CDC y Spark pueden ejecutarse en cualquier plataforma.
-Considerá Apache Kafka u otras plataformas de transmisión antes de que los datos persistan en el almacenamiento de objetos. Las colas de mensajes de Kafka a menudo admiten más fácilmente muchas fuentes y altos volúmenes de datos. También pueden almacenar temporalmente los datos entrantes durante períodos de tiempo configurables cuando los intervalos de tiempo de procesamiento difieren de la producción de origen. Un alto número de fuentes, altos volúmenes de datos y diferentes intervalos de tiempo fuente-destino son comunes con las transacciones de la base de datos que se generan continuamente pero se analizan periódicamente.
-Limitar la cantidad de destinos y secuencias cuando uses las colas de mensajes de Kafka. Los datos que se envían a través de CDC pueden requerir lógica adicional para establecer una coherencia de transacción precisa y garantizar el cumplimiento de ACID en función de los esquemas de bases de datos de origen y los parámetros de registro / fila. Esta sobrecarga de procesamiento aumenta rápidamente cuando esa lógica debe aplicarse a múltiples consumidores que usan datos de múltiples temas y múltiples productores.
-Considerar los paquetes en la nube para reducir la complejidad de implementación y administración. AWS, Azure y Google Cloud incluyen Spark en ofertas de IaaS como Amazon EMR, Azure Data Lake Store (ADLS) y Google Dataproc. Además, Databricks proporciona una plataforma como servicio basada en Spark en la que podés configurar tu propio sistema de análisis y canalización de datos.
Estos enfoques pueden eliminar la necesidad de implementar y administrar recursos informáticos y de almacenamiento en las instalaciones.
Implementado de manera efectiva, la tecnología de CDC puede servir como una base poderosa para las canalizaciones transaccionales modernas de Spark. Ese canal de datos en tiempo real, con bloqueos eficientes para la transferencia inmediata, es alcanzable y real.
Para obtener más información, podés descargar el libro electrónico Streaming Change Data Capture: A Foundation for Modern Data Architectures.
¿Querés obtener más información sobre las canalizaciones de datos en tiempo real con CDC y Apache Spark? Contactanos.