Data warehouse (DWH) o Datalake: ¿qué solución utilizar y en qué se diferencian?

Realizar una búsqueda en Google del término “Data warehouse” nos devuelve más de 14 millones de resultados. Si buscamos “Datalake” afloran más de 13 millones de resultados.

Pero ¿sabemos realmente qué son uno y otro?, ¿en qué se diferencian?

Ese es precisamente el objeto de este artículo. Vayamos por partes:

161116_imagen_elisa_dwh

¿Qué es un DWH (Data Warehouse)?

Este término anglófono que literalmente significa almacén de datos se refiere a repositorios de datos estructurados de una empresa u organización.

Es una base de datos corporativa que contiene datos de diversas fuentes con el objetivo de integrarlos y depurarlos para permitir su análisis desde infinidad de perspectivas.

Algunos de los ejemplos de proveedores más famosos de DWH puede ser Hadoop, muy conocido en los departamentos de BI (Business Intelligence) dado que la implantación de un DWH suele ser un primer paso para instalar una solución eficaz de BI (Business Intelligence).

Pero antes de centrarnos en proveedores, vamos a descomponer un poco más la definición de DWH.

¿Qué es eso de datos estructurados?

Los datos estructurados se refieren a datos que han sido almacenados siguiendo una determinada estructura con el objetivo de relacionar bases de datos dispares entre sí.

Estas estructuras de datos pueden adquirir diferentes formas: estrella, en cubos relacionales, en copo de nieve… Además, la información dentro del DWH existe en modo lectura, pero no se puede modificar. Las inconsistencias entre las diferentes estructuras de datos y fuentes de información deben ser eliminadas antes de la carga de la información en el DWH.

Ejemplo de diagrama con estructura de  estrella                                     Ejemplo de estructura de datos en cubo

                                                  161124_dwh_elisa2161124_elisa_dwh

Fuente: monografias.com

Esto nos permite mencionar otro concepto importante en la implantación de un DWH: los procesos de ETL (Extract, Transform and Load).

  • Extracción: obtención de la info de las diferentes fuentes que vayamos a cargar en el DWH.
  • Transformación: filtrado, limpieza y depuración de los datos. Ej: números de teléfono que provienen de diversas fuentes con diferentes formatos tendrán que almacenarse siguiendo un formato común (123 456 789 0 123456789 o +34651902082…).
  • Load/carga: organización y actualización de los datos y metadatos.

Ejemplos de datos estructurados y no estructurados

Ejemplo de datos estructurados: ficheros organizados en filas y columnas.

Ejemplo de datos semiestructurados: un CSV, un XML, JSON…

Ejemplo de datos no estructurados: emails, PDFs, documentos, datos binarios como fotos…

 

¿Qué es un Datalake?

Otro tipo de almacén de datos que contiene información no estructurada de múltiples fuentes de datos de una compañía para analizar posteriormente.

En este caso al no haber pre-procesamiento de los datos tampoco hay limpieza.  Además, que los datos se guarden sin ningún tipo de esquema no significa que no podamos tener esquemas para que los analistas tengan un acercamiento a grupos de datos nuevos o desconocidos. Lo novedoso en esta aproximación es que las estructuras de datos se definen en el momento en el que se utilizan los datos.

Utiliza una arquitectura plana para almacenar la info.

Ejemplos de Datalakes: Apache Hadoop, Amazon S3

Comparativa entre Data warehouse y Datalake

  • Ambos son sistemas informacionales que beben de los sistemas operacionales de una compañía.
  • Estructuras: Los datawarehouses suelen encontrarse en las empresas con un mayor recorrido y que desgraciadamente se han encontrado con esquemas obsoletos según ha ido pasando el tiempo o problemas iniciales donde el diseño de estructuras de datos no era el más apropiado. Por tanto, el DWH solo almacena datos que han sido modelados o estructurados. El Datalake almacena todo, estructurado, no estructurado y semiestructurado.
  • Coste: DWH más caro que un datalake.
  • Seguridad: los DWH son más seguros que los Datalakes aunque sólo sea por el tiempo de recorrido en el mercado.
  • Gobernanza de datos: dado que en el DWH necesitamos el almacenamiento de información de forma consistente y fiable existirán procesos previos para eliminar las inconsistencias de los datos y estructurar la información en los diferentes niveles de detalle requeridos. Por tanto, la info de un DWH ya estará limpia y depurada mientras que en Data Lake podremos encontrarnos con inconsistencias, complejidad de los datos heredados, problemas de integración.

¿Para qué sirven?

  • Reporting: generación de informes con retornos de inversión espectaculares.
  • Gestión integral.
  • Visualización de datos.
  • Forecasting: capacidad de predicción del futuro en base al aprendizaje sobre los datos pasados.
  • Machine Learning.

Tanto los DWH como los Datalakes pueden cubrir necesidades similares pero la aproximación y el tipo de trabajos preparatorios para desplegar cada tipo de solución es diferente. Podremos ahorrarnos tiempo de limpieza de datos en el caso del Datalake pero las políticas de gestión de datos, acceso y generación de insights son necesarias en ambas aproximaciones.

¿Cuál es vuestra experiencia al respecto?


Previous Post Next Post

You Might Also Like

No Comments

Leave a Reply