Navegando el manejo de datos almacenes, lagos y casas de lago — CodesCode

Aprende diferentes enfoques de gestión de datos, con ejemplos de cada uno y una guía del panorama moderno de gestión de datos.

En el actual panorama dinámico de gestión de datos, la terminología y los conceptos relacionados con el almacenamiento y procesamiento de datos se han vuelto más complejos. Las empresas enfrentan un desafío significativo al manejar eficientemente el flujo de datos provenientes de diversas fuentes. En este artículo, mi objetivo es desentrañar varios enfoques de gestión de datos, ofreciendo ejemplos de herramientas para cada concepto y brindando un panorama de la actualidad de la gestión de datos.

Base de datos: El Fundamento

Las bases de datos han sido durante mucho tiempo la piedra angular de la gestión de datos, proporcionando repositorios estructurados para el almacenamiento, organización y recuperación eficientes de datos. Se pueden categorizar ampliamente en bases de datos relacionales y bases de datos NoSQL, cada una adaptada a requisitos de datos y casos de uso específicos. Las soluciones de SQL generalmente involucran esquemas normalizados y están dirigidas a casos de uso OLTP, mientras que algunas bases de datos NoSQL destacan con datos desnormalizados.

Las características clave de las bases de datos incluyen:

  • Almacenamiento de datos estructurados. Las bases de datos son excelentes para manejar datos estructurados, garantizando la integridad de los datos a través de esquemas predefinidos.
  • Consultas eficientes a nivel de fila. Las bases de datos están optimizadas para consultas a nivel de fila, y cuando la consulta es “correcta”, la base de datos puede recuperar uno o varios registros rápidamente utilizando índices.
  • Eliminación y actualizaciones simples. Las bases de datos manejan eficientemente la actualización o eliminación de una sola fila.

Aunque las bases de datos son sólidas para administrar datos estructurados, pueden tener limitaciones con datos no estructurados o semi estructurados y no son adecuadas para consultas analíticas que implican leer millones o miles de millones de filas a la vez. Esta limitación impulsó el desarrollo de soluciones más especializadas como almacenes de datos y data lakes, que exploraremos en las siguientes secciones.

Para opciones de SQL clásicas, PostgreSQL y MySQL son dignos de mención, y en el lado de NoSQL, ejemplos incluyen MongoDB y Cassandra. El término “NoSQL” en sí es amplio, abarcando bases de datos dirigidas a diversos casos de uso.

Imagen conceptual de base de datos

Data Warehouse: Información Estructurada

Los data warehouses son el fundamento de la gestión de datos, y sirven como repositorios estructurados diseñados para almacenar, administrar y analizar datos estructurados. Sobresalen por proporcionar un rendimiento sólido para consultas analíticas. Una característica definitoria de los data warehouses es su enfoque de esquema en escritura, donde los datos se estructuran y transforman cuidadosamente antes de cargarse en el almacén.

Las características clave de los data warehouses incluyen:

  • Datos estructurados. Los data warehouses son más adecuados para datos estructurados, como registros de ventas, datos financieros e información de clientes.
  • Esquema en escritura. Los datos se estructuran y transforman cuidadosamente antes de cargarse en el almacén. Esto garantiza la calidad y consistencia de los datos, pero también requiere que los desarrolladores escriban código cuando integran una nueva fuente de datos o cuando una existente cambia su salida.
  • Optimizado para análisis. Los data warehouses están diseñados para un rápido rendimiento de consulta, lo que los convierte en ideales para inteligencia empresarial y generación de informes.

A pesar de sus fortalezas, los data warehouses tienen limitaciones al manejar datos no estructurados o semi estructurados y al procesamiento de datos en tiempo real.

Algunos ejemplos destacados incluyen Snowflake, Amazon Redshift y Apache Hive.

Imagen de almacén

Data Lake: Un Diluvio de Posibilidades

A medida que las organizaciones lidian con volúmenes más grandes y diversos tipos de datos provenientes de múltiples fuentes, los data lakes han surgido como una solución complementaria. Un data lake es un repositorio de almacenamiento capaz de contener una gran cantidad de datos en su formato nativo, ya sea estructurado, semi estructurado o no estructurado.

Las características clave de los data lakes incluyen:

  • Almacenamiento de datos en bruto. Los data lakes suelen almacenar datos en su forma cruda, lo que los hace adecuados para una amplia gama de tipos de datos. Pueden ser tablas exportadas de bases de datos relacionales, registros de texto sin formato recopilados de múltiples sistemas e incluso datos binarios como imágenes.
  • Esquema al leer. Los datos se estructuran y transforman al leerlos, lo que permite flexibilidad en la exploración y análisis de datos.
  • Escalabilidad. Los data lakes pueden escalar horizontalmente muy fácilmente para adaptarse a volúmenes de datos casi arbitrarios.

Aunque los data lakes sobresalen en el almacenamiento de big data, pueden volverse complejos y convertirse en famosos “pantanos de datos” sin una gobernanza adecuada y un catálogo de datos. La definición típica de un data lake no incluye utilidades para la gestión de datos, la gobernanza o las consultas. Algunas empresas han abordado esto introduciendo el concepto de un “data lakehouse” para mejorar estas funcionalidades.

Imagen de agua

Data Lakehouse: Lo mejor de ambos mundos

Las data lakehouses son una innovación reciente en la gestión de datos, con el objetivo de cerrar la brecha entre la versatilidad de los data lakes y las capacidades de procesamiento estructuradas de los data warehouses. Unen ambos mundos proporcionando una infraestructura de almacenamiento unificada y organizada para datos estructurados y semiestructurados, al tiempo que admiten un procesamiento analítico eficiente. Las lakehouses permiten análisis y consultas tradicionales “al estilo de los warehouses”, construidos sobre data lakes.

Las características clave de las data lakehouses incluyen:

  • Todavía escalables. Como las lakehouses se construyen sobre los lakes, siguen permitiendo una alta escalabilidad y el almacenamiento de datos en diferentes formatos.
  • Evolución del esquema. Permiten la evolución de los esquemas, por lo que los datos pueden ser ingestados en su forma cruda y estructurados según sea necesario.
  • Preparadas para análisis. Las data lakehouses proporcionan características para realizar consultas e indexación de datos, similares a los data warehouses.

Ejemplos populares de sistemas data lakehouse incluyen Delta Lake (de Databricks), una capa de almacenamiento de código abierto que proporciona transacciones ACID y cumplimiento de esquemas para data lakes, e Iceberg, un proyecto de código abierto enfocado en un formato de tabla eficiente y transaccional para data lakes, ofreciendo la misma facilidad y confiabilidad que los data warehouses.

Las data lakehouses están ganando impulso a medida que las organizaciones buscan simplificar sus arquitecturas de datos, reducir los silos de datos y permitir análisis en tiempo real manteniendo la gobernanza de datos. Representan una prometedora evolución en el siempre cambiante panorama del almacenamiento y procesamiento de datos, abordando los desafíos planteados por la naturaleza diversa y dinámica de los datos modernos.

Una casa parada en el agua

Data Mesh: Los datos como producto

El concepto de data mesh propone una perspectiva fresca sobre los datos, enmarcándolos como un producto gestionado por equipos dedicados, responsables de su calidad, tiempo de actividad y más. Este enfoque orientado al producto puede tomar diversas formas, desde conjuntos de datos curados hasta APIs, y las unidades de negocio dentro de la empresa pueden acceder y utilizar estos productos de datos de manera independiente.

Data mesh representa un cambio de paradigma en la arquitectura de datos, abordando los desafíos que surgen de la creciente complejidad y escala de los datos en las organizaciones. Introduce un enfoque descentralizado para la gestión de datos, alejándose del modelo convencional de almacén de datos centralizado.

Principios clave de data mesh incluyen:

  • Propiedad orientada al dominio. Los datos son propiedad y gestionados por equipos interfuncionales de dominio, que son responsables de la calidad de los datos, la gobernanza y el acceso.
  • Los datos como producto. Los datos se tratan como un producto, con una propiedad clara, documentación y acuerdos de nivel de servicio (SLAs) para los consumidores de datos.
  • Plataforma de datos autoservicio. Como los equipos son responsables de proporcionar acceso a sus datos, esto no significa que los ingenieros de datos no sean necesarios. Deben crear una plataforma que facilite a los equipos compartir y descubrir los datos que necesitan.
  • Computación federada. El procesamiento y análisis de datos ahora se pueden realizar cerca de donde residen los datos, reduciendo el movimiento de datos y mejorando el rendimiento.

Aunque data mesh está ganando atención en la comunidad de gestión de datos por su capacidad para abordar desafíos de descentralización y democratización en grandes organizaciones, es posible que no sea adecuado para todos. Las empresas más pequeñas pueden encontrar más práctico optar por una solución de almacenamiento dedicada que sea más fácil de configurar y gestionar.

Combinando enfoques

Mientras he intentado esbozar una especie de “cronología” con la aparición de nuevas herramientas y conceptos, es crucial tener en cuenta que los enfoques antiguos no están obsoletos ni reemplazados. Las organizaciones están adoptando una combinación de enfoques, aprovechando las fortalezas de varias tecnologías mientras mitigan posibles desventajas.

Un aspecto no abordado aquí es la creciente utilización de herramientas de aprendizaje automático (ML) en la gestión de datos. Estas herramientas automatizan tareas como la limpieza de datos, el monitoreo de calidad, la detección de anomalías y el análisis predictivo. Esta tendencia mejora el valor y la capacidad de acción de los datos al introducir la automatización inteligente en el panorama de la gestión de datos.

Comparte este artículo


Leave a Reply

Your email address will not be published. Required fields are marked *