TodoBI - Business Intelligence, Big Data, ML y AI TodoBI - Business Intelligence, Big Data, ML y AI

Star y Snowflake schemas, ¿Que diferencias hay?

Cuando hablamos de Data Warehouse, tanto si estamos involucrados en la compra-venta de un solución o producto o en el desarrollo de un proyecto salen a relucir este tipo de conceptos.
Para los no iniciados, pueden parecer hasta pintorescos los nombres, pero responden a la forma que adquieren cuando se les representa gráficamente. Y, realmente, de su correcto manejo puede depender el éxito de un sistema DW y el ahorro de mucho tiempo, esfuerzo y dinero.
Pero vayamos por partes: un schema de Base de datos es una descripción de los objetos que incluye las tablas, vistas, indices y sinónimos.
Un Star Schema (Schema en estrella), es aquel que tiene una tabla central, llamada Fact que contiene los datos de análisis, rodeada de las tablas lookup o de dimensiones. Este aspecto, de tabla central más grande rodeada de radios o tablas más pequeñas es lo que asemeja con una estrella.
Este esquema es ideal por su simplicidad y velocidad para ser usado para análisis: Data Marts y EIS. Permite acceder tanto a datos agregados como de detalle.
Además, permite reducir el número de joins entre tablas y deja a los usuarios establecer jerarquias y niveles entre las dimensiones.
Finalmente, es la opción con mejor rendimiento y velocidad pues permite indexar las dimensiones de forma individualizada sin que repercuta en el rendimiento de la base de datos en su conjunto.
Star_schema
Un Snowflake Schema (copo de nieve) es una estructura más compleja. Se da cuando existen un gran número de tablas fact, sin que sea factible reducir su número. Aunque puede reducir espacio, tiene la contrapartida de peores rendimientos al tener que crear mas tablas de dimensiones y más joins, lo que tiene un impacto directo sobre el rendimiento.
Si, tenemos en cuenta que, hoy en día, el espacio en disco no suele ser un problema, y si el rendimiento, se presenta con una mala opcion en DW.
Se puede usar en DW realmente grandes y complejos, pero nunca en sistemas que requieran respuestas rápidas para los usuarios.
snowflake
Como se aprecia, ámbos sistemas tienen sus ventajas y sus inconvenientes. Será muy importante analizar el uso que se le quiere dar al DW para no equivocarse. Aunque, desde un punto de vista del Business Intelligence , mi consejo es buscar diagramas en estrella; para ello, es muy importante la labor de análisis y definición. Si entendemos los requerimientos de los usuarios será más fácil adecuar la arquitectura, para obtener un mejor rendimiento.
El tiempo 'gastado' en análisis es más del doble 'ahorrado' en hardware, customizaciones, mantenimiento, etc...
Para saber más:
Oracle Tip: Understand the difference between star and snowflake schemas in OLAP
Star vs. Snowflake Schemas
http://www.datawarehousing.com/techtips/techtip10.asp
Schema Modeling Techniques
Tags: Teoria