Actualizado: 14 de junio de 2024
Colaborador: Cole Stryker
Una canalización de datos es un método en el que los datos sin procesar se ingieren de varias fuentes de datos, se transforman y luego se transportan para analizarse a 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 tratamiento. 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, las canalizaciones de datos actúan como la "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 en las instalaciones, 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. Las canalizaciones de datos bien organizadas proporcionan la base para una serie de proyectos de datos; esto puede incluir análisis exploratorios de datos, visualizaciones de datos y tareas de machine learning.
Escala cargas de trabajo de IA, para todos tus datos, en cualquier lugar.
Hay varios tipos principales de canalizaciones de datos, cada una apropiada para tareas específicas en plataformas específicas.
El desarrollo del procesamiento por lotes fue un paso crucial 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, las canalizaciones de datos de streaming, también conocidas 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 "transmisión". 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 éstos, ya que los mensajes pueden caer involuntariamente o pasar mucho tiempo en cola. Los agentes de mensajes ayudan a abordar este problema a través de confirmaciones, en las que un consumidor confirma el procesamiento del mensaje al agente para quitarlo de la cola.
Las canalizaciones de integración de datos se concentran en fusionar datos de múltiples fuentes en una única vista unificada. Estas canalizaciones 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 de datos. Las canalizaciones 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 que permiten la recopilación, limpieza, transformación y análisis de los datos de una organización para ayudar a mejorar la toma de decisiones. Las canalizaciones de datos se han vuelto cada vez más complejas 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 una canalización 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 mejor práctica aterrizar primero los datos sin procesar dentro de un proveedor de almacenamiento de datos en la nube. De esta manera, la empresa puede actualizar cualquier dato histórico si necesita realizar ajustes en los trabajos de procesamiento 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 para flujos de trabajo repetitivos, como los informes empresariales, lo que garantiza que los datos se limpien y transformen de forma coherente. 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: los datos transformados se almacenan en un repositorio de datos, donde se pueden exponer a varias 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 canalización de datos y canalización ETL, se usan indistintamente en conversaciones. Sin embargo, debería pensar en una canalización ETL como una subcategoría de las canalizaciones de datos. Los dos tipos de tuberías 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 las canalizaciones de datos cumplen diversas funciones, las siguientes corresponden a aplicaciones empresariales:
IBM Datastage es una herramienta de integración de datos líder en el sector que ayuda a diseñar, desarrollar y emprender tareas que mueven y transforman los datos.
IBM Data Replication es un software de sincronización de datos que mantiene sincronizados varios almacenes de datos casi en tiempo real. IBM Data Replication es una solución de bajo impacto, que sólo realiza el seguimiento de los cambios de datos capturados por el registro.
IBM Databand es un software de observabilidad para canalizaciones y almacenes de datos que recopila automáticamente los metadatos para crear líneas de base históricas, detectar anomalías, clasificar las alertas y supervisar el estado y la fiabilidad de los gráficos acíclicos dirigidos (DAG) de Apache Airflow.
IBM watsonx.data es un almacén de datos polivalente basado en una arquitectura de lakehpuse de datos abierta para escalar las cargas de trabajo analíticas y de IA, para todos sus datos, en cualquier lugar.
Lea el smartpaper sobre cómo crear una base de datos sólida para la IA centrándose en tres áreas clave de gestión de datos: acceso, gobierno, privacidad y cumplimiento.
Descubra cómo el State Bank of India utilizó varias soluciones de IBM, junto con la metodología IBM Garage, para desarrollar una completa plataforma de banca online.