stringtranslate.com

Esquema de copo de nieve

El esquema de copo de nieve es una variación del esquema de estrella, que presenta la normalización de 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 entidad se asemeja a la forma de un copo de nieve . El esquema del 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 en 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 copo de nieve es la normalización de las tablas de dimensiones eliminando atributos de baja cardinalidad y formando tablas separadas. [1]

El esquema del copo de nieve es similar al esquema de la 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 única 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 múltiples tablas principales ("bifurcaciones en el camino").

Usos comunes

Los esquemas de estrella y copo de nieve se encuentran más comúnmente en almacenes de datos dimensionales y mercados 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 en 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) al mover grupos de datos que se repiten comúnmente 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 requerido para contener los datos y la cantidad de lugares donde deben actualizarse si los datos cambian.

Desde el punto de vista del almacenamiento de espacio, las tablas dimensionales suelen ser pequeñas en comparación con las tablas de hechos. Esto a menudo niega los beneficios potenciales del espacio de almacenamiento del esquema de copo de nieve en comparación con el esquema de estrella. Ejemplo: Un millón de transacciones de ventas en 300 tiendas en 220 países daría como resultado 1.000.300 registros en un esquema en 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 en 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 consistiría en la misma tabla de hechos de 1.000.000 de registros, una tabla de tienda de 300 registros con referencias a una tabla de países con 220 registros. En este caso, el esquema en estrella, aunque está 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 se comprometen a crear un esquema de copo de nieve subyacente con vistas construidas sobre él que realizan muchas de las uniones necesarias para simular un esquema de 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 un impacto en el rendimiento al realizar consultas, así como uniones adicionales a tablas que pueden no ser necesarias para cumplir con ciertas consultas. [ cita necesaria ]

Beneficios

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

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 copos de nieve, a diferencia de las dimensiones planas de una sola mesa, han sido duramente criticados. Se supone que su objetivo es un almacenamiento eficiente y compacto de datos normalizados, pero esto tiene el costo significativo 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 navegació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 forma de copo de nieve del ejemplo del esquema en estrella proporcionado en el artículo del esquema en estrella .

La siguiente consulta de ejemplo es el esquema de copo de nieve equivalente al código de ejemplo del esquema de estrella que devuelve el número 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 cumplir incluso con una simple consulta. 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 dimensiones mismas.

SELECCIONE B.Marca , G.País , SUMA ( F . Unidades_Vendidas ) FROM Fact_Sales F INNER JOIN Dim_Date D ON F . ID_fecha = D . Id INNER JOIN Dim_Store S ON F . Store_Id = S . Id INNER JOIN Dim_Geography GON S.Geografía_Id = G . Id INNER JOIN Dim_Product P ON F . ID_Producto = P . Id UNIÓN INTERNA Dim_Brand B ON P . ID_marca = B.Id INNER JOIN Dim_Product_Category C ON P.ID_Categoría_Producto = C . Identificación DÓNDE D.Año = 1997 Y C . Product_Category = ' tv' GRUPO POR B. Marca , G.País                                                  

Ver 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 del servidor SAS® OLAP para un escenario ROLAP" (PDF) . Foro Global SAS 2009 . Consultado el 27 de febrero de 2013 .
  4. ^ Kimball, Ralph (1996). "6: Las grandes dimensiones" . El kit de herramientas de almacenamiento de datos (1ª ed.). Wiley. págs. 95–98. ISBN 0-471-15337-0. No hagas copos de nieve sobre tus dimensiones, incluso si son grandes.

Bibliografía

enlaces externos