Un pipeline de datos es un método en el que se ingieren datos sin procesar de diversas fuentes de datos, se transforman y luego se transportan para analizarlos en un almacén de datos, como un data lake o un almacén de datos.
Antes de que los datos lleguen a un repositorio, suelen someterse a algún tipo de proceso. Esto incluye las transformaciones de datos, como el filtrado, el enmascaramiento y las agregaciones, que garantizan una integración y estandarización de datos adecuadas. Esto es especialmente importante cuando el destino del conjunto de datos es una base de datos relacional. Este tipo de repositorio de datos tiene un esquema definido que requiere alineación, es decir, hacer coincidir columnas y tipos de datos, para actualizar los datos existentes con los nuevos.
Como su nombre sugiere, los pipelines de datos actúan como "canalización" para proyectos de ciencia de datos o paneles de control de inteligencia empresarial. Los datos se pueden obtener a través de una amplia variedad de lugares (API, bases de datos SQL y NoSQL, archivos, etc.), pero desafortunadamente, esos datos generalmente no están listos para su uso inmediato. Durante el abastecimiento, se realiza un seguimiento del linaje de datos para documentar la relación entre los datos empresariales en diversas aplicaciones empresariales y de TI, por ejemplo, dónde se encuentran actualmente los datos y cómo se almacenan en un entorno, como on-premises, en un data lake o en un almacén de datos.
Las tareas de preparación de datos suelen recaer en los científicos de datos o ingenieros de datos, que estructuran los datos para satisfacer las necesidades de los casos de uso empresarial y manejar enormes cantidades de datos. El tipo de procesamiento de datos que requiere una canalización de datos suele determinarse a través de una combinación de análisis de datos exploratorios y requisitos empresariales definidos. Una vez que los datos se han filtrado, combinado y resumido adecuadamente, se pueden almacenar y exponer para su uso. Los pipelines de datos bien organizadas proporcionan la base para una variedad de proyectos de datos; esto puede incluir análisis exploratorios de datos, visualizaciones de datos y tareas de machine learning.
Existen varios tipos de pipelines de datos, cada uno adecuado para tareas específicas en plataformas específicas. Los tipos más comunes incluyen
El desarrollo del procesamiento por lotes fue un paso crítico en la creación de infraestructuras de datos fiables y escalables. En 2004, MapReduce, un algoritmo de procesamiento por lotes, fue patentado y luego integrado posteriormente en sistemas de código abierto, como Hadoop, CouchDB y MongoDB.
Como su nombre indica, el procesamiento por lotes carga "lotes" de datos en un repositorio durante intervalos de tiempo establecidos, que generalmente se programan durante las horas hábiles de menor actividad. De esta manera, otras cargas de trabajo no se ven afectadas, ya que los trabajos de procesamiento por lotes tienden a funcionar con grandes volúmenes de datos, lo que puede sobrecargar el sistema en general. El procesamiento por lotes suele ser la canalización de datos óptima cuando no hay una necesidad inmediata de analizar un conjunto de datos específico (por ejemplo, la contabilidad mensual), y se asocia más con el proceso de integración de datos ETL, que significa "extraer, transformar y cargar".
Los trabajos de procesamiento por lotes forman un flujo de trabajo de comandos secuenciados, donde la salida de un comando se convierte en la entrada del siguiente comando. Por ejemplo, un comando podría iniciar la ingesta de datos, el siguiente comando puede activar el filtrado de columnas específicas y el comando posterior puede manejar la agregación. Esta serie de comandos continuará hasta que la calidad de los datos se transforme por completo y se vuelva a escribir en un repositorio de datos.
A diferencia del procesamiento por lotes, los pipelines de datos de streaming, también conocidos como arquitecturas basadas en eventos, procesan continuamente eventos generados por diversas fuentes, como sensores o interacciones del usuario dentro de una aplicación. Los eventos se procesan y analizan, y luego se almacenan en bases de datos o se envían aguas abajo para su posterior análisis.
Los datos de streaming se aprovecha cuando es necesario que los datos se actualicen continuamente. Por ejemplo, las aplicaciones o los sistemas de punto de venta necesitan datos en tiempo real para actualizar el inventario y el historial de ventas de sus productos; de ese modo, los vendedores pueden informar a los consumidores si un producto está en stock o no. Una sola acción, como la venta de un producto, se considera un "evento" y los eventos relacionados, como añadir un artículo a la caja, suelen agruparse en "tema" o "flujo". Estos eventos se transportan entonces a través de sistemas de mensajería o agentes de mensajería, como la oferta de código abierto, Apache Kafka.
Dado que los eventos de datos se procesan poco después de producirse, los sistemas de procesamiento de flujo tienen una latencia menor que los sistemas por lotes, pero no se consideran tan fiables como estos, ya que los mensajes pueden caer involuntariamente o pasar mucho tiempo en cola. Los agentes de mensajes ayudan a abordar esta preocupación a través de las confirmaciones, en las que un consumidor confirma el procesamiento del mensaje al agente para eliminarlo de la cola.
Los pipelines de integración de datos se concentran en fusionar datos de múltiples fuentes en una única vista unificada. Estos pipelines suelen implicar procesos de extracción, transformación y carga (ETL) que limpian, enriquecen o modifican de otro modo los datos sin procesar antes de almacenarlos en un repositorio centralizado, como un almacén de datos o un lago data lake. Los pipelines de integración de datos son esenciales para manejar sistemas dispares que generan formatos o estructuras incompatibles. Por ejemplo, se puede agregar una conexión a Amazon S3 (Amazon Simple Storage Service), un servicio ofrecido por Amazon Web Services (AWS) que proporciona almacenamiento de objetos a través de una interfaz de servicio web.
Una plataforma de datos moderna incluye un conjunto de productos de software nativos de la nube y diseñados para la nube que permiten recopilar, limpiar, transformar y analizar los datos de una organización para ayudar a mejorar la toma de decisiones. Los pipelines de datos se han vuelto cada vez más complejos e esenciales para el análisis de datos y para la toma de decisiones basadas en datos. Una plataforma de datos moderna genera confianza en estos datos ingiriéndolos, almacenándolos, procesándolos y transformándolos de forma que se garantice una información precisa y oportuna, se reduzcan los silos de datos, se permita el autoservicio y se mejore la calidad de los datos.
La arquitectura de un pipeline de datos está formada por tres pasos principales.
1. Ingesta de datos: los datos se recopilan de varias fuentes, incluidas las plataformas de software como servicio (SaaS), los dispositivos de Internet de las cosas (IoT) y los dispositivos móviles, y varias estructuras de datos, tanto datos estructurados como no estructurados. Dentro de los datos de streaming, estas fuentes de datos sin procesar se conocen normalmente como productores, editores o remitentes. Aunque las empresas pueden optar por extraer datos solo cuando estén listas para procesarlos, es una buena práctica aterrizar primero los datos sin procesar dentro de un proveedor de almacén de datos en la nube. De esta manera, la empresa puede actualizar cualquier dato histórico si necesita realizar ajustes en los trabajos de proceso de datos. Durante este proceso de ingesta de datos, se pueden realizar varias validaciones y comprobaciones para garantizar la coherencia y precisión de los datos.
2. Transformación de datos: durante este paso, se ejecutan una serie de trabajos para procesar los datos en el formato requerido por el repositorio de datos de destino. Estos trabajos incorporan la automatización y el gobierno en los flujos de trabajo repetitivos, como los informes empresariales, asegurando que los datos se limpien y transformen de manera consistente. Por ejemplo, un flujo de datos puede venir en un formato JSON anidado, y la etapa de transformación de datos tendrá como objetivo desenrollar ese JSON para extraer los campos clave para el análisis.
3. Almacenamiento de datos: a continuación, los datos transformados se almacenan en un depósito de datos, donde pueden exponerse a las distintas partes interesadas. Dentro de los datos de streaming, estos datos transformados se conocen normalmente como consumidores, suscriptores o destinatarios.
Es posible que descubra que algunos términos, como pipeline de datos y pipeline ETL, se usan indistintamente en conversaciones. Sin embargo, debería pensar en un pipeline ETL como una subcategoría de los pipelines de datos. Los dos tipos de pipelines se distinguen por tres características clave:
A medida que el big data sigue creciendo, la gestión de datos se convierte en una prioridad cada vez mayor. Aunque los pipelines de datos cumplen diversas funciones, las siguientes corresponden a aplicaciones empresariales:
Cree y gestione canalizaciones de datos de streaming inteligentes a través de una interfaz gráfica intuitiva, y facilite una integración de datos fluida en entornos híbridos y multinube.
Descubra IBM Databand, el software de observabilidad para canalizaciones de datos. Recopila metadatos automáticamente para crear líneas de base históricas, detectar anomalías y crear flujos de trabajo para solucionar problemas relacionados con la calidad de los datos.
Cree canalizaciones de datos resilientes, de alto rendimiento y con costes optimizados para sus iniciativas de IA generativa, análisis en tiempo real, modernización de almacenes y necesidades operativas con las soluciones de integración de datos de IBM.