¿Qué es una canalización de datos?

Las canalizaciones de datos recopilan, transforman y almacenan datos para mostrar a las partes interesadas, cubriendo una gran variedad de proyectos de datos.

vista aérea de una refinería de petróleo por la noche, Tailandia.

¿Qué es una canalización de datos?

Una canalización de datos es un método en el que se ingieren datos en bruto de varios orígenes de datos y luego se transfieren al almacén de datos, como un data lake o un depósito de datos, para su análisis. Antes de que los datos fluyan hacia un repositorio de datos, generalmente se someten a un procesamiento de datos. Esto incluye las transformaciones de datos, como el filtrado, el enmascaramiento y las agregaciones, que aseguran una adecuada estandarización e integración de datos. Esto es particularmente 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, coincidencia de columnas y tipos de datos— para actualizar los datos existentes con datos nuevos. 

Como sugiere su nombre, las canalizaciones de datos actúan como la "tubería" para proyectos de ciencia de datos o paneles de control de business intelligence. Los datos se pueden obtener a través de una amplia variedad de lugares: API, SQL y bases de datos NoSQL, archivos, etc., pero desafortunadamente, estos datos no suelen estar preparados para su uso inmediato. Las tareas de preparación de datos normalmente recaen sobre los científicos o ingenieros de datos, quienes estructuran los datos para atender las necesidades del caso de uso empresarial. El tipo de procesamiento de datos que requiere una canalización de datos normalmente se determina mediante una combinación de análisis de datos exploratorios y requisitos de negocio definidos. Una vez que los datos se han filtrado adecuadamente, fusionado y resumido, se pueden almacenar y mostrar. Las canalizaciones de datos bien organizadas proporcionan la base para una gran variedad de proyectos de datos, entre los que se incluyen el análisis de datos exploratorios, las visualizaciones de datos y tareas de machine learning.


Tipos de canalizaciones de datos

Hay dos tipos principales de canalizaciones de datos, que son procesamiento por lotes y datos en streaming.

Procesamiento por lotes

El desarrollo del procesamiento por lotes fue un paso crítico en la creación de infraestructuras de datos para garantizar que fueran fiables y escalables. En 2004, se patentó MapReduce, un algoritmo de procesamiento por lotes y, posteriormente, se integró 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 normalmente se planifican durante las horas de menor actividad de negocio. De esta manera, las otras cargas de trabajo no se ven afectadas, ya que los trabajos del procesamiento por lotes suelen trabajar con grandes volúmenes de datos, lo que podría sobrecargar el sistema en general. El procesamiento por lotes normalmente es 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 está más asociado al proceso de integración de datos de ETL (por sus siglas en inglés, "extract, transform, and load": extracción, transformación y carga).

Los trabajos de procesamiento por lotes forman un flujo de trabajo de mandatos secuenciados, donde la salida de un mandato se convierte en la entrada del siguiente mandato. Por ejemplo, un mandato puede iniciar la ingesta de datos, el siguiente mandato puede activar el filtrado de columnas específicas y el siguiente puede controlar la agregación. Esta serie de mandatos continuará hasta que los datos estén completamente transformados y escritos en el repositorio de datos.

Datos en streaming

A diferencia del procesamiento por lotes, el proceso de datos en streaming resulta útil cuando los datos necesitan actualizarse continuamente. Por ejemplo, las aplicaciones o sistemas de punto de venta necesitan datos en tiempo real para actualizar el historial de ventas e inventario de sus productos; de esta forma, los vendedores pueden informar a los consumidores si hay existencias de un producto o no. Una acción única, como la venta de un producto, se considera un "evento ", y los eventos relacionados, como agregar un elemento al proceso de pago, generalmente se agrupan como un " tema " o "secuencia". Estos eventos luego se transportan a través de sistemas de mensajería o intermediarios de mensajes, como la oferta de código abierto, Apache Kafka. 

Dado que los eventos de datos se procesan poco después de que ocurran, los sistemas de procesamiento en streaming tienen una latencia inferior que los sistemas de lote, pero no se consideran tan fiables como los sistemas de procesamiento por lotes, ya que los mensajes pueden perderse involuntariamente o pasar mucho tiempo en cola. Los intermediarios de mensajes ayudan a abordar esta inquietud a través de acuses de recibo, por los cuales un consumidor confirma el procesamiento del mensaje al intermediario para eliminarlo de la cola. 

Aprenda a crear una aplicación de streaming de Kafka con IBM Streams


Arquitectura de la canalización de datos

Tres pasos principales componen la arquitectura de una canalización de datos. 

1. Ingesta de datos: se recopilan los datos de distintos orígenes de datos, que incluyen varias estructuras de datos (es decir, datos estructurados y no estructurados). En los datos en streaming, estos orígenes de datos en bruto normalmente se conocen como productores, editores o remitentes. Si bien las empresas pueden elegir extraer los datos solo cuando están preparados para su procesamiento, es mejor colocar primero los datos en bruto en un proveedor de almacén de datos en cloud. De esta manera, el negocio puede actualizar cualquier dato histórico si necesitan realizar ajustes en los trabajos de procesamiento de 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 incluyen la automatización y el gobierno para flujos de trabajo repetitivos, como la elaboración de informes de negocio, asegurando que los datos se limpien y transformen de manera coherente.  Por ejemplo, una secuencia de datos puede venir en un formato JSON anidado, y la etapa de transformación de datos estará destinada a desenredar dicho JSON para extraer los campos principales para el análisis.

3. Almacenamiento de datos: los datos transformados luego se almacenan dentro de un repositorio de datos, donde se pueden exponer a distintas partes interesadas. En los datos en streaming, estos datos transformados normalmente se conocen como consumidores, suscriptores o destinatarios.  


Canalización de datos frente a canalización de ETL

Es posible que nos encontremos que algunos términos, como canalización de datos y canalización de ETL, se usan indistintamente en una conversación. Sin embargo, debemos pensar en una canalización de ETL como una subcategoría de las canalizaciones de datos. Los dos tipos de canalizaciones se distinguen por tres características principales:

• Las canalizaciones de ETL siguen una secuencia específica. Como implica su abreviatura, extraen (Extract) datos, los transforman (Transform) y luego los cargan (Load) y almacenan en un repositorio de datos. No todas las canalizaciones de datos necesitan seguir este secuencia. De hecho, el uso de las canalizaciones de ELT se ha popularizado con la llegada de las herramientas nativas en cloud. Aunque la ingesta de datos sigue siendo el primer paso en este tipo de canalización, cualquier transformación se aplica después de que los datos se hayan cargado en el almacén de datos en cloud.  

• Las canalizaciones de ETL también suelen implicar el uso de procesamiento por lotes, pero como señalamos anteriormente, el ámbito de las canalizaciones de datos es más amplio. También se pueden incluir en el procesamiento de secuencias. 

• Por último, aunque es poco probable, las canalizaciones de datos en su conjunto no necesariamente deben someterse a transformaciones de datos, como canalizaciones de ETL. Es raro ver una canalización de datos que no utilice transformaciones para facilitar el análisis de datos. 


Casos de uso de las canalizaciones de datos

A medida big data sigue creciendo, la gestión de datos se convierte en una prioridad cada vez mayor. Si bien las canalizaciones de datos cumplen diversas funciones, las siguientes son tres aplicaciones amplias de ellas dentro del ámbito empresarial: 

• Análisis exploratorio de datos: el análisis exploratorio de datos (EDA) es utilizado por los científicos de datos para analizar e investigar conjuntos de datos y resumir sus principales características, empleando a menudo métodos de visualización de datos. Ayuda a determinar la mejor manera de manipular los orígenes de datos para obtener las respuestas que necesita, lo que permite a los científicos de datos descubrir patrones, detectar anomalías, probar una hipótesis o comprobar supuestos.

• Visualizaciones de datos: las visualizaciones de datos representan datos a través de gráficos comunes, como gráficos, diagramas, infografías e incluso animaciones. Estas pantallas visuales de información comunican relaciones de datos complejas y conocimientos basados en datos de una manera que resulta fácil de comprender.

• Machine learning: machine learning es una rama de la inteligencia artificial (IA) y la informática que se centra en el uso de datos y algoritmos para imitar la forma en la que aprenden los seres humanos, con una mejora gradual de su precisión. Mediante el uso de métodos estadísticos, los algoritmos se entrenan para hacer clasificaciones o predicciones, y descubrir información clave dentro de los proyectos de minería de datos.


Canalizaciones de datos e IBM

IBM Cloud Pak for Data aprovecha los microservicios y sus prestaciones de IA y datos más destacadas para habilitar la integración inteligente de datos en sistemas distribuidos, ofreciendo a las empresas una visión completa del rendimiento del negocio. Esto facilita y acelera la recopilación, la organización y la extracción de conocimiento de los datos empresariales, lo que permite a las empresas tomar decisiones a escala. Los equipos de gestión de datos también pueden confiar en que sus datos están protegidos con los marcos de seguridad competitivos de IBM, garantizando la adhesión a las políticas normativas y reduciendo los riesgos de conformidad. Descubra cómo IBM Cloud Pak® for Data e IBM Streams pueden mejorar la arquitectura de canalización de datos de su empresa en varios entornos.