Tema 2 de 6
Los datos que se ingieren para análisis terminan en un almacén analítico: un data warehouse relacional, un data lake de archivos o un lakehouse que combina ambos. El examen pide reconocer cuándo usar cada uno, identificar un esquema de estrella y distinguir el Lakehouse del Warehouse de Fabric.
Contenido
Hay dos tipos comunes de almacén analítico, más un enfoque híbrido que combina sus ventajas:
Data warehouse
Base relacional optimizada para análisis
Data lake
Almacén de archivos distribuido
Lakehouse
Archivos del lake con consultas SQL
Una base de datos relacional cuyo esquema está optimizado para análisis, no para cargas transaccionales. Los datos de un almacén transaccional se transforman en un esquema con:
Tablas de hechos
Tablas centrales con los valores numéricos, por ejemplo los pedidos de venta.
Tablas de dimensiones
Representan las entidades por las que se agregan los datos: cliente, producto, tienda, tiempo.
Así es fácil obtener, por ejemplo, los ingresos totales mensuales por producto en cada tienda. Un data warehouse es buena opción cuando los datos transaccionales pueden organizarse en tablas estructuradas y se quieren consultar con SQL.
Esquema de estrella
Una tabla de hechos relacionada con una o más tablas de dimensiones. La forma recuerda a una estrella: el hecho en el centro y las dimensiones alrededor.
Esquema de copo de nieve
Una extensión de la estrella que añade tablas relacionadas con las dimensiones para representar jerarquías: producto relacionado con categorías de producto.
DimCliente
|
DimTiempo — FactVentas — DimProducto — DimCategoría ← copo de nieve
|
DimTiendaUn almacén de archivos, normalmente sobre un sistema de archivos distribuido para acceso de alto rendimiento. Motores de procesamiento distribuido como Apache Spark ejecutan las consultas sobre los archivos y devuelven los datos para informes y análisis.
Un enfoque híbrido que combina lake y warehouse: los datos en bruto se guardan como archivos en el data lake, y un punto de conexión de análisis SQL expone esos archivos como tablas que se consultan con SQL.
Delta Lake lo hace posible
Delta Lake es el formato de lakehouse estándar de código abierto que usan Microsoft Fabric y Azure Databricks. Añade capacidades relacionales sobre archivos Parquet: tablas con esquema obligatorio y coherencia transaccional, orígenes por lotes y en streaming, y una API SQL para consultar.
En Microsoft Fabric todos los datos del lakehouse se guardan en OneLake. Al crear un Lakehouse de Fabric se crea automáticamente su punto de conexión de análisis SQL; los datos de un Warehouse de Fabric también viven en OneLake.
| Fabric Lakehouse | Fabric Warehouse | |
|---|---|---|
| Qué es | Almacenamiento de data lake con consultas SQL | Data warehouse relacional totalmente gestionado |
| Formato | Delta Lake en OneLake | También respaldado por OneLake, en formato Delta |
| Cómo se trabaja | Notebooks y Spark, más punto de conexión SQL | T-SQL |
| Elígelo cuando | Datos mixtos o semiestructurados, o flujos de aprendizaje automático | Datos estructurados, equipo que escribe SQL, esquema estricto y muchos usuarios a la vez |
Fabric incluye además Data Factory para ingesta, Real-Time Intelligence para logs y telemetría, y la creación de reflejos para replicar Cosmos DB, Azure SQL Database o Snowflake en OneLake.
Azure Databricks usa Delta Lake como formato nativo, con soporte de transacciones, esquema obligatorio y versionado en cada tabla. Para informes y BI basados en SQL ofrece el Databricks SQL Warehouse, un punto de conexión SQL optimizado para herramientas de BI y consultas concurrentes.
Combinar servicios
Cada servicio actúa como almacén analítico porque ofrece un esquema e interfaz para consultar, aunque a menudo los datos estén en un data lake. Se pueden combinar: un proceso ELT copia datos al lake, un notebook de Azure Databricks procesa un gran volumen y el resultado se carga en tablas de un Warehouse de Microsoft Fabric.
| Data warehouse | Data lake | Lakehouse | |
|---|---|---|---|
| Almacenamiento | Tablas relacionales | Archivos | Archivos (Delta Lake) |
| Esquema | Al escribir | Al leer | Tablas con esquema obligatorio sobre archivos |
| Tipos de datos | Estructurados | Estructurados, semi y no estructurados | Mixtos |
| Consulta | SQL | Motores como Spark | SQL y Spark |
| Situación | Respuesta | Por qué |
|---|---|---|
| Datos transaccionales que encajan en tablas y se consultan con SQL | Data warehouse | Esquema relacional optimizado para análisis. |
| Ventas en una tabla central relacionada con cliente, producto, tienda y tiempo | Esquema de estrella | Tabla de hechos con dimensiones. |
| Producto relacionado a su vez con una tabla de categorías | Esquema de copo de nieve | Dimensiones con jerarquías en tablas extra. |
| Analizar datos estructurados, semiestructurados y no estructurados sin forzar esquema al escribir | Data lake | Esquema al leer. |
| Archivos en un lake consultables con SQL y con transacciones | Lakehouse con Delta Lake | Combina lake y warehouse. |
| Datos mixtos y flujos de aprendizaje automático con Spark en Fabric | Fabric Lakehouse | Notebooks, Spark y punto de conexión SQL. |
| Datos estructurados, equipo SQL y muchos usuarios simultáneos | Fabric Warehouse | T-SQL con esquema estricto y concurrencia. |
| Consultas de BI concurrentes sobre tablas Delta en Databricks | Databricks SQL Warehouse | Punto de conexión SQL para herramientas de BI. |
❓ ¿En un esquema de estrella, los valores numéricos están en las tablas de dimensiones?
No. Los valores numéricos están en la tabla de hechos; las dimensiones representan las entidades por las que se agrega.
❓ ¿Qué diferencia un copo de nieve de una estrella?
El copo de nieve añade tablas relacionadas con las dimensiones para representar jerarquías.
❓ ¿Un data lake impone el esquema al guardar los datos?
No. Suele aplicar esquema al leer, sin restricciones al guardar.
❓ ¿Qué formato hace posibles los lakehouses en Fabric y Databricks?
Delta Lake, que añade transacciones y esquema sobre Parquet.
❓ ¿Con qué lenguaje se consulta un Fabric Warehouse?
Con T-SQL.
❓ ¿Cuándo es mejor un Fabric Lakehouse que un Warehouse?
Con datos mixtos o semiestructurados o con flujos de aprendizaje automático en Spark.
❓ ¿Hay que crear a mano el punto de conexión SQL de un Fabric Lakehouse?
No. Se crea automáticamente al crear el Lakehouse.
¿Entendiste este tema?
Pon a prueba lo que acabas de aprender
Un equipo tiene archivos JSON, CSV e imágenes, y quiere analizarlos con Spark sin definir un esquema al guardarlos. ¿Qué almacén analítico encaja mejor?
Preguntas originales, cada una con su explicación.
Empezar un simulacro