Articulo de referencia

Esquema de copo de nieve

El esquema de copo de nieve es una variación del esquema de estrella, que incluye la normalización de las tablas de dimensiones. En informática , un esquema de copo de nieve o m...

El esquema de copo de nieve es una variación del esquema de estrella, que incluye la normalización de las tablas de dimensiones.

En informática , un esquema de copo de nieve o modelo de copo de nieve es una disposición lógica de tablas en una base de datos multidimensional de modo que el diagrama de relación de entidades se asemeja a la forma de un copo de nieve . El esquema de copo de nieve está representado por tablas de hechos centralizadas que están conectadas a múltiples dimensiones . "Snowflaking" es un método para normalizar las tablas de dimensiones en un esquema de estrella . Cuando está completamente normalizado a lo largo de todas las tablas de dimensiones, la estructura resultante se asemeja a un copo de nieve con la tabla de hechos en el medio. El principio detrás del snowflaking es la normalización de las tablas de dimensiones eliminando los atributos de baja cardinalidad y formando tablas separadas. [1]

El esquema de copo de nieve es similar al esquema de estrella. Sin embargo, en el esquema de copo de nieve, las dimensiones se normalizan en varias tablas relacionadas, mientras que las dimensiones del esquema de estrella se desnormalizan y cada dimensión está representada por una sola tabla. Una forma compleja de copo de nieve surge cuando las dimensiones de un esquema de copo de nieve son elaboradas, tienen múltiples niveles de relaciones y las tablas secundarias tienen varias tablas principales ("bifurcaciones en el camino").

Usos comunes

Los esquemas de estrella y de copo de nieve se encuentran con mayor frecuencia en almacenes de datos dimensionales y centros de datos donde la velocidad de recuperación de datos es más importante que la eficiencia de las manipulaciones de datos. Como tal, las tablas en estos esquemas no están muy normalizadas y con frecuencia están diseñadas a un nivel de normalización inferior a la tercera forma normal . [2]

Normalización y almacenamiento de datos

La normalización divide los datos para evitar la redundancia (duplicación) moviendo grupos de datos que se repiten con frecuencia a nuevas tablas. Por lo tanto, la normalización tiende a aumentar la cantidad de tablas que deben unirse para realizar una consulta determinada, pero reduce el espacio necesario para almacenar los datos y la cantidad de lugares donde deben actualizarse si los datos cambian.

Desde el punto de vista del espacio de almacenamiento, las tablas dimensionales suelen ser pequeñas en comparación con las tablas de hechos. Esto suele anular los posibles beneficios en términos de espacio de almacenamiento del esquema de copo de nieve en comparación con el esquema de estrella. Ejemplo: un millón de transacciones de venta en 300 tiendas en 220 países daría como resultado 1.000.300 registros en un esquema de estrella (1.000.000 de registros en la tabla de hechos y 300 registros en la tabla dimensional, donde cada país se enumeraría explícitamente para cada tienda de ese país). Un esquema de copo de nieve más normalizado con claves de país que hacen referencia a una tabla de países constaría de la misma tabla de hechos de 1.000.000 de registros, una tabla de tiendas de 300 registros con referencias a una tabla de países con 220 registros. En este caso, el esquema en estrella, aunque aún más desnormalizado, solo reduciría el número de registros en un (insignificante) ~0,02% (=[1.000.000+300] en lugar de [1.000.000+300+220]).

Algunos desarrolladores de bases de datos optan por crear un esquema de copo de nieve subyacente con vistas creadas sobre él que realizan muchas de las uniones necesarias para simular un esquema en estrella. Esto proporciona los beneficios de almacenamiento que se logran mediante la normalización de dimensiones con la facilidad de consulta que proporciona el esquema en estrella. La desventaja es que requerir que el servidor realice las uniones subyacentes automáticamente puede resultar en una pérdida de rendimiento al realizar consultas, así como uniones adicionales a tablas que pueden no ser necesarias para cumplir con ciertas consultas. [ cita requerida ]

Beneficios

El esquema de copo de nieve pertenece a la misma familia que el modelo lógico de esquema en estrella . De hecho, el esquema en estrella se considera un caso especial del esquema de copo de nieve. El esquema de copo de nieve ofrece algunas ventajas sobre el esquema en estrella en determinadas situaciones, entre ellas:

  • Algunas herramientas de modelado de bases de datos multidimensionales OLAP están optimizadas para esquemas de copo de nieve. [3]
  • La normalización de atributos da como resultado un ahorro de almacenamiento, pero la contrapartida es una complejidad adicional en las uniones de consultas de origen.

Desventajas

La principal desventaja del esquema de copo de nieve es que los niveles adicionales de normalización de atributos agregan complejidad a las uniones de consultas de origen, en comparación con el esquema de estrella .

Los esquemas de copo de nieve, a diferencia de las dimensiones de tabla única planas, han sido duramente criticados. Se supone que su objetivo es un almacenamiento eficiente y compacto de datos normalizados, pero esto se produce a costa de un rendimiento deficiente al explorar las uniones requeridas en esta dimensión. [4] Esta desventaja puede haberse reducido en los años transcurridos desde que se reconoció por primera vez, debido a un mejor rendimiento de las consultas dentro de las herramientas de exploración.

Ejemplos

Esquema de copo de nieve utilizado en la consulta de ejemplo.

El esquema de ejemplo que se muestra a la derecha es una versión en copo de nieve del ejemplo de esquema en estrella proporcionado en el artículo sobre esquema en estrella .

La siguiente consulta de ejemplo es el equivalente del esquema de copo de nieve del código de ejemplo del esquema de estrella que devuelve la cantidad total de unidades de televisión vendidas por marca y por país en 1997. Observe que la consulta del esquema de copo de nieve requiere muchas más uniones que la versión del esquema de estrella para poder completar incluso una consulta simple. La ventaja de utilizar el esquema de copo de nieve en este ejemplo es que los requisitos de almacenamiento son menores, ya que el esquema de copo de nieve elimina muchos valores duplicados de las propias dimensiones.

SELECCIONAR 
B . Marca , G . País , SUMA ( F . Unidades_Vendidas ) DE Fact_Sales F UNIÓN INTERNA Dim_Fecha D EN F . Id_Fecha = D . Id UNIÓN INTERNA Dim_Tienda S EN F . Id_Tienda = S . Id UNIÓN INTERNA Dim_Geografía G EN S . Id_Geografía = G . Id UNIÓN INTERNA Dim_Producto P EN F . Id_Producto = P . Id UNIÓN INTERNA Dim_Marca B EN P . Id_Marca = B . Id UNIÓN INTERNA Dim_Categoría_Producto C EN P . Id_Categoría_Producto = C . Id DONDE D . Año = 1997 Y C . Categoría_Producto = ' tv' AGRUPAR POR B . Marca , G . País	
	
	
  
                   
                  
              
                
                  
       

	   
	  
 
	
	

Véase también

Referencias

  1. ^ Paulraj Ponniah. Fundamentos del almacenamiento de datos para profesionales de TI. Wiley, 2010, págs. 29-32. ISBN  0470462078 .
  2. ^ Han, Jiawei (2012). Minería de datos: conceptos y técnicas . Massachusetts, Estados Unidos: Morgan Kauffmann Publishers. ISBN 9780123814791.
  3. ^ Wilkie, Michelle (2009). "Uso de SAS® OLAP Server para un escenario ROLAP" (PDF) . SAS Global Forum 2009. Consultado el 27 de febrero de 2013 .
  4. ^ Kimball, Ralph (1996). "6: Las grandes dimensiones" . The Data Warehouse Toolkit (1.ª ed.). Wiley. págs. 95–98. ISBN 0-471-15337-0No estropees tus dimensiones, incluso si son grandes .

Bibliografía

  • Anahory, S.; D. Murray. Almacenamiento de datos en el mundo real: una guía práctica para crear sistemas de apoyo a la toma de decisiones . Addison Wesley Professional.
  • Kimball, Ralph (1996). El kit de herramientas de almacenamiento de datos . John Wiley. ISBN 978-0-471-15337-5.
  • "¿Por qué el esquema de copo de nieve es un buen diseño para un almacén de datos?", por Mark Levene y George Loizou
  • Uniones de copos de nieve inversos
Retrieved from "https://en.wikipedia.org/w/index.php?title=Snowflake_schema&oldid=1258172882"