Ir al contenido principal

Técnicas de modelado de almacenamiento de datos y su implementación en la plataforma Databricks Lakehouse

Uso de Data Vaults y esquemas en estrella en el Lakehouse

Data Warehousing Modeling Techniques and Their Implementation on the Databricks Lakehouse Platform

Publicado: June 24, 2022

Soluciones9 min de lectura

El lakehouse es un nuevo paradigma de plataforma de datos que combina las mejores características de los lagos de datos y los almacenes de datos. Está diseñada como una plataforma de datos a gran escala y de nivel empresarial que puede albergar muchos casos de uso y productos de datos. Puede servir como un único repositorio unificado de datos empresariales para todos sus:

  • dominios de datos,
  • casos de uso de streaming en tiempo real,
  • data marts,
  • almacenes de datos dispares,
  • almacenes de características y entornos de prueba de ciencia de datos, y
  • Sandboxes de análisis de autoservicio departamentales.

Dada la variedad de casos de uso, se pueden aplicar diferentes principios de organización de datos y técnicas de modelado a los distintos proyectos en un lakehouse. Técnicamente, la plataforma Lakehouse de Databricks puede admitir muchos estilos diferentes de modelado de datos. En este artículo, nuestro objetivo es explicar la implementación de los principios de organización de datos de bronce, plata y oro (Bronze/Silver/Gold) de la lakehouse y cómo las diferentes técnicas de modelado de datos encajan en cada capa.

¿Qué es un Data Vault?

Un Data Vault es un patrón de diseño de modelado de datos más reciente que los métodos de Kimball e Inmon, y se utiliza para construir almacenes de datos para análisis a escala empresarial.

Los Data Vaults organizan los datos en tres tipos diferentes: hubs, links y satellites. Los hubs representan las entidades de negocio principales, los links representan las relaciones entre los hubs y los satellites almacenan atributos sobre los hubs o los links.

Data Vault se enfoca en el desarrollo ágil de data warehouses, donde la escalabilidad, la integración de datos/ETL y la velocidad de desarrollo son importantes. La mayoría de los clientes tienen una zona de aterrizaje, una zona de Vault y una zona de data mart que corresponden a los paradigmas organizacionales de Databricks de las capas Bronce, Plata y Oro. El estilo de modelado de Data Vault de tablas hub, link y satellite suele encajar bien en la capa Plata del Lakehouse de Databricks.

Obtén más información sobre el modelado de Data Vault en Data Vault Alliance.

Un diagrama que muestra cómo funciona el modelado de Data Vault, con hubs, enlaces y satélites que se conectan entre sí.
Un diagrama que muestra cómo funciona el modelado de Data Vault, con hubs, enlaces y satélites que se conectan entre sí.

¿Qué es el modelado dimensional?

El modelado dimensional es un enfoque ascendente para diseñar data warehouses con el fin de optimizarlos para la analítica. Los modelos dimensionales se utilizan para desnormalizar los datos del negocio en dimensiones (como el tiempo y el producto) y hechos (como las transacciones en montos y cantidades), y las diferentes áreas temáticas se conectan a través de dimensiones conformadas para navegar a diferentes tablas de hechos.

La forma más común de modelado dimensional es el esquema de estrella. Un esquema de estrella es un modelo de datos multidimensional que se utiliza para organizar datos de modo que sea fácil de entender y analizar, y muy fácil e intuitivo para generar informes. Los esquemas de estrella estilo Kimball o los modelos dimensionales son prácticamente el estándar de oro para la capa de presentación en los data warehouses y data marts, e incluso en las capas semánticas y de generación de informes. El diseño de esquema de estrella está optimizado para consultar grandes conjuntos de datos.

Un ejemplo de esquema en estrella
Un ejemplo de esquema en estrella

Tanto los estilos de modelado de datos normalizados de Data Vault (optimizados para escritura) como los modelos dimensionales desnormalizados (optimizados para lectura) tienen un lugar en Databricks Lakehouse. Los hubs y satélites del Data Vault en la capa Silver se utilizan para cargar las dimensiones en el esquema de estrella, y las tablas de enlace del Data Vault se convierten en las tablas clave para cargar las tablas de hechos en el modelo dimensional. Obtenga más información sobre el modelado dimensional en el Kimball Group.

Principios de organización de datos en cada capa de la Lakehouse

Un lakehouse moderno es una plataforma de datos integral de nivel empresarial. Es altamente escalable y de alto rendimiento para todo tipo de casos de uso, como ETL, BI, ciencia de datos y streaming, que pueden requerir diferentes enfoques de modelado de datos. Veamos cómo se organiza un lakehouse típico:

 Un diagrama que muestra las características de las capas Bronce, Plata y Oro de la arquitectura de Data Lakehouse.
Un diagrama que muestra las características de las capas Bronce, Plata y Oro de la arquitectura de Data Lakehouse.

Capa Bronze: la Landing Zone

La capa de bronce es donde aterrizamos todos los datos de los sistemas de origen. Las estructuras de tabla en esta capa corresponden a las estructuras de tabla del sistema de origen "tal cual", a excepción de las columnas de metadatos opcionales que se pueden agregar para capturar la fecha y hora de carga, el ID del proceso, etc. El enfoque en esta capa está en la captura de datos de cambios (CDC) y la capacidad de proporcionar un archivo histórico de datos de origen (almacenamiento en frío), linaje de datos, auditabilidad y reprocesamiento si es necesario, sin tener que volver a leer los datos del sistema de origen.

En la mayoría de los casos, es una buena idea mantener los datos en la capa Bronze en formato Delta, para que las lecturas posteriores de la capa Bronze para ETL tengan un buen rendimiento y para que pueda realizar actualizaciones en Bronze para escribir los cambios de CDC. A veces, cuando los datos llegan en formatos JSON o XML, vemos que los clientes los almacenan en el formato de datos de origen original y luego los preparan cambiándolos al formato Delta. A veces, vemos que los clientes materializan la capa lógica de bronce en una zona física de aterrizaje y preparación.

Almacenar datos sin procesar en su formato original en una landing zone también favorece la coherencia cuando se ingieren datos con herramientas que no admiten Delta como receptor nativo o cuando los sistemas de origen vuelcan los datos directamente en almacenamientos de objetos. Este patrón también se alinea bien con el framework de ingesta de Autoloader, en el que las fuentes depositan los datos en una zona de aterrizaje para archivos sin procesar y, luego, Databricks AutoLoader los convierte a la capa de Staging en formato Delta.

Capa Silver: el repositorio central empresarial

En la capa Silver del Lakehouse, los datos de la capa Bronze se combinan, fusionan, ajustan y limpian ("lo suficiente") para que la capa Silver pueda proporcionar una "vista empresarial" de todas sus entidades, conceptos y transacciones comerciales clave. Esto es similar a un almacén de datos operativos empresariales (ODS), un repositorio central o los dominios de datos de una malla de datos (p. ej., clientes maestros, productos, transacciones no duplicadas y tablas de referencias cruzadas). Esta vista empresarial reúne los datos de diferentes fuentes y permite el análisis de autoservicio para informes ad hoc, análisis avanzado y ML. También sirve como fuente para que los analistas departamentales, los ingenieros de datos y los científicos de datos sigan creando proyectos y análisis de datos para responder a problemas comerciales a través de proyectos de datos empresariales y departamentales en la capa Gold.

En el paradigma de ingeniería de datos de Lakehouse, normalmente se sigue la metodología ELT (Extraer-Cargar-Transformar) en lugar de la tradicional ETL (Extraer-Transformar-Cargar). El enfoque ELT significa que solo se aplican transformaciones mínimas o "justo lo necesario" y reglas de limpieza de datos al cargar la capa Silver. Todas las reglas "a nivel empresarial" se aplican en la capa Silver, mientras que las reglas de transformación específicas del proyecto se aplican en la capa Gold. Aquí se prioriza la velocidad y agilidad para ingerir y entregar los datos en el Lakehouse.

Desde la perspectiva del modelado de datos, la capa Silver tiene modelos de datos más parecidos a la tercera forma normal. En esta capa se pueden usar arquitecturas y modelos de datos de alto rendimiento de escritura de tipo Data Vault. Si se usa una metodología de Data Vault, tanto el Raw Data Vault como el Business Vault cabrán en la capa Silver lógica del lago, y las vistas de presentación o vistas materializadas de un momento determinado (PIT) se presentarán en la capa Gold.

Capa Gold: la capa de presentación

En la capa de oro, se pueden construir múltiples data marts/almacenamientos de datos según el modelado dimensional/metodología Kimball. Como se mencionó anteriormente, la capa Gold es para la generación de informes y utiliza modelos de datos más desnormalizados y optimizados para la lectura con menos joins en comparación con la capa Silver. A veces, las tablas de la capa de oro pueden desnormalizarse por completo, en general, cuando los científicos de datos así lo desean para alimentar sus algoritmos para la ingeniería de características.

Las reglas de ETL y de calidad de los datos que son "específicas del proyecto" se aplican al transformar los datos de la capa Silver a la capa Gold. En esta capa se entregan las capas de presentación finales, como data warehouses, data marts o productos de datos, como análisis de clientes, análisis de productos/calidad, análisis de inventario, segmentación de clientes, recomendaciones de productos, análisis de marketing/ventas, etc. Los modelos de datos basados en esquemas en estrella al estilo Kimball o los data marts al estilo Inmon encajan en esta capa Gold del Lakehouse. Los laboratorios de ciencia de datos y los sandboxes departamentales para el análisis de autoservicio también pertenecen a la capa Gold.

El paradigma de organización de datos de Lakehouse

 

En resumen, los datos se curan a medida que pasan por las diferentes capas de un Lakehouse.

  • La capa Bronze utiliza los modelos de datos de los sistemas de origen. Si los datos se reciben en formatos sin procesar, se convierten al formato DeltaLake dentro de esta capa.
  • La capa Silver, por primera vez, reúne los datos de diferentes fuentes y los conforma para crear una vista empresarial de los datos, generalmente utilizando modelos de datos más normalizados y optimizados para la escritura que suelen ser del tipo 3.ª Forma Normal o del tipo Data Vault.
  • La capa Gold es la capa de presentación con modelos de datos más desnormalizados o aplanados que la capa Silver, que normalmente utiliza modelos dimensionales al estilo Kimball o esquemas en estrella. La capa Gold también alberga sandboxes departamentales y de ciencia de datos para permitir el análisis de autoservicio y la ciencia de datos en toda la empresa. Proporcionar estos sandboxes y sus propios clústeres de computación separados evita que los equipos de Negocio creen sus propias copias de los datos fuera del Lakehouse.

Este enfoque de organización de datos de Lakehouse está destinado a romper los silos de datos, unir a los equipos y empoderarlos para hacer ETL, streaming, BI e IA en una única plataforma con una gobernanza adecuada. Los equipos de datos centrales deben ser los facilitadores de la innovación en la organización, acelerando la incorporación de nuevos usuarios de autoservicio, así como el desarrollo de muchos proyectos de datos en paralelo, en lugar de que el proceso de modelado de datos se convierta en el cuello de botella. El Databricks Unity Catalog proporciona búsqueda y & descubrimiento, gobernanza y linaje en el Lakehouse para garantizar una buena cadencia de gobernanza de datos.

Crea tus Data Vaults y data warehouses con esquema de estrella con Databricks SQL hoy mismo.

Los datos se curan a medida que se mueven a través de las diferentes capas de un Lakehouse.
Cómo se curan los datos a medida que pasan por las diversas capas de Lakehouse.

Lectura adicional:

 

(Esta entrada del blog ha sido traducida utilizando herramientas basadas en inteligencia artificial) Publicación original

No te pierdas ninguna publicación de Databricks.

Suscríbete a nuestro blog y recibe las últimas publicaciones en tu bandeja de entrada.

¿Qué sigue?

Introducing AI/BI: Intelligent Analytics for Real-World Data

Produto

June 12, 2024/11 min de leitura

Apresentando o AI/BI: analítica inteligente para dados do mundo real

Five Simple Steps for Implementing a Star Schema in Databricks With Delta Lake

Produto

September 12, 2024/8 min de leitura

Cinco etapas simples para implementar um esquema de estrela na Databricks com Delta Lake