banner

En el mundo de los datos recurrentemente surgen nuevos conceptos con los que nombrar a las cosas, entre ellas:

  • Data Lake
  • Data Warehouse
  • Data Mart
  • Data Lake House
Persona señalando un informe de datos

¿Te suenan interesantes estos términos? En este post haremos un breve repaso al ecosistema de datos de una empresa para que así entiendas qué es cada término y, para que, cuando oigas hablar de ello en una reunión, sepas de qué te están hablando. ¡Vamos con ello!

Bases de Datos Transaccionales vs Analíticas

Lo primero de todo, antes de entender estos conceptos, es dar un paso atrás y entender, al menos a grandes rasgos, cómo funciona la estructura de datos de una compañía.

Pongamos el ejemplo de algo corriente que todos conocemos: un supermercado. Cuenta con muchas tablas de información (productos, stocks, clientes, ventas, etc.).

Todo lo que ocurre en el día a día de un supermercado se tiene que ver reflejado en la base de datos: una venta, un nuevo cliente que se da de alta, la salida de producto del almacén… todo se apunta en una base de datos.

Como es lógico, esta información es fundamental para garantizar el buen funcionamiento de la organización, por lo que debe seguir una serie de principios a nivel de arquitectura de los datos. Las bases de datos pensadas para la operativa del día a día de una empresa se conocen como bases de datos OLTP (Online Transactional Processing).

Sin embargo, los datos sirven mucho más que para poder gestionar el día a día. El análisis de datos es, sin duda, fundamental para ser competitivo hoy en día. Por ejemplo, un supermercado querrá usar los datos para pintar dashboards que les permitan tomar mejores decisiones, o para utilizar un modelo predictivos para la optimización de stocks, entre otros.

En definitiva, las personas que gestionan el supermercado querrán acceder a los datos que genera el mismo. En este sentido, uno podría pensar que, como ya disponemos de esa información en la base de datos, podemos usar esas mismas bases de datos para realizar nuestros análisis. Puede parecer una buena idea… pero no es así.

Y es que, para poder analizar los datos necesitamos que la base de datos siga unas características completamente diferentes a las características que requiere una base de datos transaccional. A este tipo de modelo de datos se le conoce como OLAP (Online Analytical Processing).

Además, tampoco sería buena idea hacer análisis sobre una base de datos OLTP. ¿Te imaginas que las personas del cajero no puedan registrar las compras de los clientes porque un científico de datos esté extrayendo los datos para entrenar un modelo predictivo? Sería una locura, ¿verdad? Pues… eso podría pasar en caso de usar bases de datos transaccionales para analítica.

Estructura y Análisis sobre una base de datos OLTP

Ahora ya sabemos que tenemos que tener dos sistemas:

  • Un sistema con estructura OLTP con un objetivo operativo
  • Un sistema OLAP con un objetivo analítico.

Pero… ¿qué hay exactamente en un sistema OLAP? ¿Cómo se llena de información? Veamoslo.

Componentes de los Sistemas Analíticos

  1. El Data Warehouse y Data Mart

Un Data Warehouse es un sistema pensado para almacenar y procesar grandes cantidades de datos. De hecho, cuando hablamos de base de datos analítica, generalmente nos referimos a un Data Warehouse.

Un Data Warehouse puede contener información de muchas fuentes diferentes (Ias bases de datos analíticas, datos externos como los tipos de cambio o climatología, otras fuentes como el CRM, etc.). Sin embargo, toda la información de un Data Warehouse debe estar en formato tabular (como una tabla).

Estructura e información de un Data Warehouse

Como es de esperar cuanto más grande sea una empresa más información hay en un Data Warehouse, y no todo el mundo necesita tener acceso a todos los datos. Es por ello que el Data Warehouse se suele dividir en diferentes Data Marts: conjuntos de datos específicos de un Datawarehouse centrados en un tema. De esta forma se facilita la gestión de acceso a los datos del Data Warehouse.

Los Data Warehouses más conocidos son:

  • Google Big Query
  • Amazon Redshift
  • Azure Synapse.

También se podrían incluir Snowflake y databricks, aunque luego hablaremos de ellos.

Ya sabemos qué es el Data Warehouse, pero, ¿qué pasa con toda la información que no sea tabular? (los vídeos o imágenes de las cámaras de seguridad, contratos de altas, etc.) ¿Dónde se guarda esa información?

  1. El Data Lake: tu repositorio de datos de todo tipo

El Data Lake es un repositorio de datos, donde puedes guardar datos de diferentes fuentes y diferentes tipos. A diferencia de los Data Warehouse, en un Data Lake puedes guardar datos de todo tipo:

  • JSON
  • CSV
  • Videos
  • Audios

Sin embargo, un Data Lake no es más que un repositorio, es decir, un Data Lake no sirve para lanzar consultas ni realizar análisis, solo sirve para almacenar datos.

Seguramente te estés preguntando,” si un Data Lake no sirve para hacer análisis, ¿entonces para qué hace falta un Data Lake?”. Pues bien, la gran mayoría de Data Lakes suelen contar con servicios integrados que te permiten extraer información de los datos.

Por ejemplo, Google cuenta con diferentes APIs como Speech to Text o Video AI las cuales permiten extraer información de datos no estructurados, el primero traduciendo un fichero de audio a texto y el segundo generando etiquetas de un video. Y todo esto solo se puede hacer con los datos almacenados en Cloud Storage, el Datalake de Google Cloud.

Los Data Lakes más importantes son:

  • AWS S3
  • Google Cloud Storage
  • Azure DataLake.
  1. Data Lake House: combinando lo mejor de los dos mundos

Recientemente, ha ganado popularidad el término “Data Lake House”, el cual hace referencia a herramientas que intentan combinar las capacidades analíticas de un Data Warehouse con la capacidad de almacenamiento y análisis de datos no estructurados de un Data Lake.

Los dos Data Lake House más usados son:

  • Snowflake
  • DataBricks
Funcionamiento y estructura interna de Data Warehouse, Data Lake y Data Lakehouse

Esto ha sido todo por hoy. Espero que el post te haya servido para poder ubicar mejor los conceptos que tanto se utilizan en el mundo de los datos.

Para profundizar más en estos conceptos tan técnicos, te invitamos a visitar el artículo sobre la evolución de la Metodología de Ciencia de Datos

Artículo escrito por Ander Fernandez.