schema types data warehouse modeling star snowflake schema
Este tutorial explica varios tipos de esquemas de almacenamiento de datos. Aprenda qué es el esquema de estrella y el esquema de copo de nieve y la diferencia entre el esquema de estrella y el esquema de copo de nieve:
En esto Tutoriales de Date Warehouse para principiantes , analizamos en profundidad Modelo de datos dimensionales en el almacén de datos en nuestro tutorial anterior.
En este tutorial, aprenderemos todo sobre los esquemas de almacenamiento de datos que se utilizan para estructurar data marts (o) tablas de almacenamiento de datos.
preguntas y respuestas técnicas de la entrevista del servicio de ayuda
¡¡Empecemos!!
Público objetivo
- Desarrolladores y probadores de almacenamiento de datos / ETL.
- Profesionales de bases de datos con conocimientos básicos de conceptos de bases de datos.
- Administradores de bases de datos / expertos en big data que quieran comprender las áreas de almacenamiento de datos / ETL.
- Graduados universitarios / Freshers que buscan trabajos de almacén de datos.
Lo que vas a aprender:
Esquema de almacenamiento de datos
En un data warehouse, se utiliza un esquema para definir la forma de organizar el sistema con todas las entidades de la base de datos (tablas de hechos, tablas de dimensiones) y su asociación lógica.
Estos son los diferentes tipos de esquemas en DW:
- Horario estrella
- Esquema SnowFlake
- Diagrama de galaxia
- Esquema del cúmulo estelar
# 1) Horario de estrellas
Este es el esquema más simple y efectivo en un almacén de datos. Una tabla de hechos en el centro rodeada por tablas de múltiples dimensiones se asemeja a una estrella en el modelo Star Schema.
La tabla de hechos mantiene relaciones de uno a muchos con todas las tablas de dimensiones. Cada fila en una tabla de hechos está asociada con sus filas de la tabla de dimensiones con una referencia de clave externa.
Debido a la razón anterior, la navegación entre las tablas en este modelo es fácil para consultar datos agregados. Un usuario final puede comprender fácilmente esta estructura. Por lo tanto, todas las herramientas de Business Intelligence (BI) son muy compatibles con el modelo de esquema Star.
Al diseñar esquemas en estrella, las tablas de dimensiones se desnormalizan a propósito. Son anchos con muchos atributos para almacenar los datos contextuales para un mejor análisis e informes.
Beneficios del esquema en estrella
- Las consultas utilizan combinaciones muy simples mientras recuperan los datos y, por lo tanto, aumenta el rendimiento de las consultas.
- Es sencillo recuperar datos para informes, en cualquier momento durante cualquier período.
Desventajas del esquema de estrella
- Si hay muchos cambios en los requisitos, no se recomienda modificar y reutilizar el esquema en estrella existente a largo plazo.
- La redundancia de datos se debe más a que las tablas no están divididas jerárquicamente.
A continuación se ofrece un ejemplo de esquema en estrella.
Consultar un esquema en estrella
Un usuario final puede solicitar un informe utilizando herramientas de Business Intelligence. Todas estas solicitudes se procesarán mediante la creación de una cadena de 'consultas SELECT' internamente. El rendimiento de estas consultas tendrá un impacto en el tiempo de ejecución del informe.
A partir del ejemplo de esquema en estrella anterior, si un usuario empresarial desea saber cuántas novelas y DVD se han vendido en el estado de Kerala en enero de 2018, puede aplicar la consulta de la siguiente manera en las tablas de esquema en estrella:
|_+_|Resultados:
Nombre del producto | Cantidad vendida | |
---|---|---|
7 | Cualquiera puede comprender y diseñar fácilmente el esquema. | Es difícil comprender y diseñar el esquema. |
Novelas | 12,702 | |
DVD | 32,919 |
Espero que haya entendido lo fácil que es consultar un esquema en estrella.
# 2) Esquema de copos de nieve
El esquema en estrella actúa como entrada para diseñar un esquema SnowFlake. La formación de copos de nieve es un proceso que normaliza completamente todas las tablas de dimensiones de un esquema en estrella.
La disposición de una tabla de hechos en el centro rodeada por varias jerarquías de tablas de dimensiones se parece a un SnowFlake en el modelo de esquema SnowFlake. Cada fila de la tabla de hechos está asociada con sus filas de la tabla de dimensiones con una referencia de clave externa.
Al diseñar esquemas de SnowFlake, las tablas de dimensiones se normalizan a propósito. Se agregarán claves externas a cada nivel de las tablas de dimensiones para vincularlas a su atributo principal. La complejidad del esquema SnowFlake es directamente proporcional a los niveles de jerarquía de las tablas de dimensiones.
Beneficios del esquema SnowFlake:
- La redundancia de datos se elimina por completo creando nuevas tablas de dimensiones.
- En comparación con el esquema en estrella, las tablas de dimensiones Snow Flaking utilizan menos espacio de almacenamiento.
- Es fácil actualizar (o) mantener las tablas Snow Flaking.
Desventajas del esquema SnowFlake:
- Debido a las tablas de dimensiones normalizadas, el sistema ETL tiene que cargar el número de tablas.
- Es posible que necesite combinaciones complejas para realizar una consulta debido a la cantidad de tablas agregadas. Por tanto, el rendimiento de la consulta se verá degradado.
A continuación se muestra un ejemplo de un esquema SnowFlake.
Las tablas de dimensiones en el diagrama SnowFlake anterior están normalizadas como se explica a continuación:
- La dimensión de fecha se normaliza en tablas trimestrales, mensuales y semanales dejando los identificadores de clave externa en la tabla de fecha.
- La dimensión de la tienda se normaliza para formar la tabla de Estado.
- La dimensión del producto se normaliza en Marca.
- En la dimensión Cliente, los atributos conectados a la ciudad se mueven a la nueva tabla Ciudad dejando un ID de clave externa en la tabla Cliente.
De la misma manera, una sola dimensión puede mantener múltiples niveles de jerarquía.
Los diferentes niveles de jerarquías del diagrama anterior pueden denominarse de la siguiente manera:
- La identificación trimestral, la identificación mensual y los identificadores semanales son las nuevas claves sustitutas que se crean para las jerarquías de dimensión de fecha y se han agregado como claves externas en la tabla de dimensiones de fecha.
- El id. De estado es la nueva clave sustituta creada para la jerarquía de dimensiones de la tienda y se ha agregado como la clave externa en la tabla de dimensiones de la tienda.
- El ID de marca es la nueva clave sustituta creada para la jerarquía de dimensiones del producto y se ha agregado como clave externa en la tabla de dimensiones del producto.
- La identificación de la ciudad es la nueva clave sustituta creada para la jerarquía de dimensiones del Cliente y se ha agregado como clave externa en la tabla de dimensiones del Cliente.
Consultar un esquema de copo de nieve
También podemos generar el mismo tipo de informes para los usuarios finales que el de las estructuras de esquema en estrella con esquemas SnowFlake. Pero las consultas son un poco complicadas aquí.
A partir del ejemplo de esquema de SnowFlake anterior, vamos a generar la misma consulta que diseñamos durante el ejemplo de consulta de esquema de Star.
Es decir, si un usuario empresarial desea saber cuántas novelas y DVD se han vendido en el estado de Kerala en enero de 2018, puede aplicar la consulta de la siguiente manera en las tablas de esquema de SnowFlake.
|_+_|Resultados:
Nombre del producto | Cantidad vendida |
---|---|
Novelas | 12,702 |
DVD | 32,919 |
Puntos para recordar al consultar las tablas de esquema de Star (o) SnowFlake
Cualquier consulta se puede diseñar con la siguiente estructura:
SELECCIONAR Cláusula:
- Los atributos especificados en la cláusula de selección se muestran en los resultados de la consulta.
- La instrucción Select también usa grupos para encontrar los valores agregados y, por lo tanto, debemos usar la cláusula group by en la condición where.
DE Cláusula:
- Todas las tablas de hechos y tablas de dimensiones esenciales deben elegirse según el contexto.
Dónde cláusula:
- Los atributos de dimensión apropiados se mencionan en la cláusula where uniendo los atributos de la tabla de hechos. Las claves sustitutas de las tablas de dimensiones se unen con las respectivas claves externas de las tablas de hechos para fijar el rango de datos a consultar. Consulte el ejemplo de consulta de esquema en estrella escrito anteriormente para comprender esto. También puede filtrar datos en la cláusula from en sí, en caso de que esté usando combinaciones internas / externas allí, como está escrito en el ejemplo de esquema de SnowFlake.
- Los atributos de dimensión también se mencionan como restricciones sobre los datos en la cláusula where.
- Al filtrar los datos con todos los pasos anteriores, se devuelven los datos adecuados para los informes.
Según las necesidades comerciales, puede agregar (o) eliminar los hechos, dimensiones, atributos y restricciones a un esquema en estrella (o) consulta de esquema SnowFlake siguiendo la estructura anterior. También puede agregar subconsultas (o) combinar diferentes resultados de consultas para generar datos para cualquier informe complejo.
# 3) Diagrama de galaxias
Un esquema de galaxias también se conoce como esquema de constelación de hechos. En este esquema, varias tablas de hechos comparten las mismas tablas de dimensiones. La disposición de las tablas de hechos y de dimensiones parece una colección de estrellas en el modelo de esquema Galaxy.
Las dimensiones compartidas en este modelo se conocen como dimensiones conformadas.
Este tipo de esquema se utiliza para requisitos sofisticados y para tablas de hechos agregadas que son más complejas para ser compatibles con el esquema Star (o) el esquema SnowFlake. Este esquema es difícil de mantener debido a su complejidad.
A continuación se ofrece un ejemplo de Galaxy Schema.
# 4) Esquema del cúmulo estelar
Un esquema SnowFlake con muchas tablas de dimensiones puede necesitar combinaciones más complejas durante la consulta. Un esquema en estrella con menos tablas de dimensiones puede tener más redundancia. Por lo tanto, un esquema de cúmulo de estrellas entró en escena al combinar las características de los dos esquemas anteriores.
El esquema de estrella es la base para diseñar un esquema de cúmulo de estrellas y algunas tablas de dimensiones esenciales del esquema de estrella están cubiertas de nieve y esto, a su vez, forma una estructura de esquema más estable.
A continuación se ofrece un ejemplo de esquema de cúmulo de estrellas.
¿Cuál es mejor esquema de copo de nieve o esquema de estrella?
La plataforma de almacenamiento de datos y las herramientas de BI utilizadas en su sistema DW jugarán un papel vital a la hora de decidir el esquema adecuado que se va a diseñar. Star y SnowFlake son los esquemas más utilizados en DW.
Se prefiere el esquema en estrella si las herramientas de BI permiten a los usuarios comerciales interactuar fácilmente con las estructuras de la tabla con consultas simples. Se prefiere el esquema SnowFlake si las herramientas de BI son más complicadas para que los usuarios comerciales interactúen directamente con las estructuras de la tabla debido a más uniones y consultas complejas.
Puede seguir adelante con el esquema SnowFlake si desea ahorrar algo de espacio de almacenamiento o si su sistema DW tiene herramientas optimizadas para diseñar este esquema.
Esquema de estrella Vs esquema de copo de nieve
A continuación se muestran las diferencias clave entre el esquema Star y el esquema SnowFlake.
S.No | Horario estrella | Esquema de copos de nieve |
---|---|---|
1 | La redundancia de datos es más. | La redundancia de datos es menor. |
2 | El espacio de almacenamiento para tablas de dimensiones es mayor. | El espacio de almacenamiento para las tablas de dimensiones es comparativamente menor. |
3 | Contiene tablas de dimensiones desnormalizadas. | Contiene tablas de dimensiones normalizadas. |
4 | La tabla de hechos únicos está rodeada por tablas de varias dimensiones. | La tabla de hechos única está rodeada por varias jerarquías de tablas de dimensiones. |
5 | Las consultas utilizan combinaciones directas entre hechos y dimensiones para obtener los datos. | Las consultas utilizan combinaciones complejas entre hechos y dimensiones para obtener los datos. |
6 | El tiempo de ejecución de la consulta es menor. | El tiempo de ejecución de la consulta es mayor. |
8 | Utiliza un enfoque de arriba hacia abajo. | Utiliza un enfoque de abajo hacia arriba. |
Conclusión
Esperamos que conozca bien los diferentes tipos de esquemas de almacenamiento de datos, junto con sus ventajas y desventajas de este tutorial.
También aprendimos cómo se pueden consultar Star Schema y SnowFlake Schema, y qué esquema elegir entre estos dos junto con sus diferencias.
¡Esté atento a nuestro próximo tutorial para saber más sobre Data Mart en ETL!
=> Tenga cuidado con la serie de capacitación sobre almacenamiento de datos simple aquí.
Lectura recomendada
- Tipos de datos de Python
- Tipos de datos C ++
- Tutorial de pruebas de almacenamiento de datos con ejemplos | Guía de prueba ETL
- Las 10 herramientas más populares de almacenamiento de datos y tecnologías de prueba
- Modelo de datos dimensionales en el almacén de datos: tutorial con ejemplos
- Tutorial de pruebas de almacenamiento de datos de pruebas ETL (una guía completa)
- ¿Qué es el proceso ETL (extraer, transformar, cargar) en el almacén de datos?
- Minería de datos: procesos, técnicas y problemas principales en el análisis de datos