Introducción
Almacenar los datos puede convertirse en algo complejo dependiendo de nuestro ecosistema de Big Data. Vamos a simplificar aún más el almacenamiento de los datos explicando los conceptos de Data Lake y Data Warehouse.
Contenido del Artículo
La pregunta del día: ¿dónde guardamos los datos?
Esta es una pregunta que puede parecer sencilla pero puede tomar varios caminos. En este artículo vamos a hablar un poco de la arquitectura a nivel conceptual y sobre algunas herramientas. En el artículo anterior hablamos de por donde pasan los datos y mencionamos por encima los data lakes y data warehouses y en este vamos a profundizar más en estos dos términos.
Data Lake
A nivel conceptual un data lake es un repositorio donde vamos a guardar toda la información que estamos recopilando de las diferentes fuentes de datos. La vamos a guardar en estado natural, es decir, sin modificarla ni filtrarla.
El nombre proviene de un concepto bastante común en un ecosistema natural que es el lago. Un lago es un repositorio de agua que se nutre de diferentes fuentes de agua como lo son los ríos.
De esta misma forma se asocia el lago al mundo de los datos. El concepto de data lake, se refiere a un lago de datos, que se nutre de diferentes fuentes de información tales como sensores o dispositivos IoT, sistemas transaccionales, redes sociales, archivos y documentos entre muchas otras.
IoT
CRM
BBDD
Excel
Otros
Data Lake
BBDD
Excel
Otros
Con solo ver que recibimos datos de muchos lugares podemos intuir que tendremos una mezcla de información. Tendremos datos de diferentes tipos (estructurados, semi estructurados y no estructurados), tamaños, calidad lo cual es normal y es justo lo que queremos.
Un data lake tiene esa característica, como quien dice, de guarda todo aunque no sepas para que lo vas a utilizar.
Data Warehouse
El artículo va tomando forma pero no podemos dejar pasar el concepto de Data Warehouse. El término hace referencia a un almacén de datos y para explicarlo mejor lo haremos con una analogía.
Imaginemos que tenemos un almacén de ropa donde guardamos los productos que vamos a vender o que realmente le vamos a sacar provecho. En ese almacén no vamos a guardar materiales de construcción, por ejemplo, porque no es útil tenerlo ahí.
Un almacén de datos o data warehouse es diferente a un data lake básicamente porque guardamos datos que realmente nos interesan.
Los datos que guardemos van a estar relacionados con una estrategia de negocio, ordenados estructuradamente para que estén listos y los analistas puedan utilizarlos sin mayor complicación.
Data Marts
Recuerden que estamos hablando de Big Data y probablemente nos abrumemos de tantos datos en nuestro almacén de datos. Si regresamos al ejemplo anterior del almacén de ropa, y vemos que tenemos más de 100 marcas diferentes y 100 estilos diferentes de prendas de vestir, nos gustaría agrupar o mejor dicho separar de acuerdo a una serie de características para facilitar el trabajo.
En un data warehouse existe el concepto de Data Mart que vendría siendo esa segmentación de los datos de acuerdo a una serie de características. Los data marts se utilizan también para controlar quien tiene acceso a cierta información.
Por ejemplo: Podríamos tener un data mart donde guardemos datos de las ventas por departamento, mercadeo y redes sociales para que el departamento comercial solo tenga acceso a esta información y realizar reportes de ventas.
Otro caso de uso podría ser, diseñar un data mart que contenga las ventas de la empresa, los gastos de cada departamento y asignar este grupo de datos al departamento de contabilidad para hacer un análisis financiero.
Data Warehouse
Data Mart Comercial
Podríamos tener un data mart donde guardemos datos de las ventas por departamento, mercadeo y redes sociales para que el departamento comercial solo tenga acceso a esta información y realizar reportes de ventas.
Data Mart Contabilidad
Otro caso de uso podría ser, diseñar un data mart que contenga las ventas de la empresa, los gastos de cada departamento y asignar este grupo de datos al departamento de contabilidad para hacer un análisis financiero.
Data Mart Comercial
Data Mart Contabilidad
Algunas herramientas para gestionar estos repositorios
Dependiendo de la arquitectura que quieran emplear, pueden utilizar varias herramientas para almacenar los datos. Siempre surge la popular herramienta de Hadoop en estos entornos y de el hablaremos en otro artículo dedicado especialmente sobre esta herramienta, pero también existen otras herramientas dentro del ecosistema del Big Data que te pueden ayudar a gestionar estos repositorios.
Herramientas Data Lake
- Amazon S3
- Delta Lake
- Azure Data Lake Storage
- Spark
Herramientas Data Warehouse
- Amazon Redshift
- Teradata
- Azure Data Factory
- Talend
Si bien es cierto algunas de estas herramientas se pueden utilizar en ambos escenarios es bueno tener claro la diferencia entre cada uno de estos repositorios. Herramientas de ETL (Extract-Transform and Load) son las recomendadas para Data Warehouse a diferencia de las herramientas de ELT (Extract-Load and Transform) que son recomendadas para los Data Lakes.
Las herramientas seleccionadas para gestionar los datos dependerá también del presupuesto y de las habilidades de cada integrante del equipo de Big Data dentro de una organización. Hay algunas que son muy complejas y otras que se han desarrollado para que personas no tan técnicas puedan emplearlas fácilmente.
Poco a poco vamos conociendo conceptos nuevos y la idea es que vayamos entendiendo este mundo del Big Data sin abrumarnos. Más adelante estaremos explicando otros conceptos como los tipos de procesamiento, el ecosistema Hadoop y muchos más.