Esquema estrella

Un esquema en estrella es una base de datos diseñada para aplicaciones orientadas al análisis, como los almacenes de datos y los mercados de datos dimensionales. El diseño presenta una o varias tablas de hechos que contienen datos medibles relacionados con varias tablas de dimensiones que contienen datos descriptivos.
¿Por qué es importante el diseño del esquema Star?
Las aplicaciones de bases de datos de apoyo a la toma de decisiones requieren un diseño flexible que admita las consultas más habituales. Los esquemas normalizados tradicionales requieren más uniones de tablas, que consumen más recursos y son más lentas. Al almacenar todos los hechos medibles sobre una entidad en una única tabla, la mayoría de los atributos requeridos por una consulta analítica pueden proceder de una única tabla con uniones opcionales a tablas dimensionales. Se gana en eficiencia aplicando predicados de filtrado en la tabla de hechos, de modo que sólo un subconjunto de datos se ve implicado en cualquier unión, consumiendo así menos recursos de CPU y memoria.
Si la empresa utiliza cubos de procesamiento analítico en línea (OLAP), el esquema en estrella se asigna eficazmente a las consultas que rellenan el cubo.
Los orígenes del esquema estrella
Los primeros almacenes de datos eran simples copias de esquemas de bases de datos transaccionales con índices adicionales para soportar consultas analíticas. En la década de 1990, arquitectos de almacenes de datos como Ralph Kimball desarrollaron la idea de los esquemas dimensionales para simplificar las consultas analíticas.
Ejemplo de esquema estrella
Como minorista, le interesaría saber qué productos se venden, quién los compra y cuándo. Para responder a estas preguntas, se necesita una tabla de hechos que enlace con las dimensiones de productos, pedidos y clientes. A continuación se describen algunos atributos típicos de estas tablas:
- HECHO Tabe:
- ID de producto - enlaza con la tabla Dimensión del producto
- ID de pedido - enlaza con la tabla Dimensión
- ID de cliente - enlaza con la tabla de clientes
- Ventas totales - Medida
- Unidades vendidas - Medida
- DIMENSION La tabla Pedidos contiene:
- Identificación del producto
- Detalles del pedido
- DIMENSION La tabla Clientes contiene:
- Identificación del cliente
- Datos del cliente
La desventaja del esquema estrella frente a la tercera forma normal
Un diseño de esquema de base de datos totalmente normalizado tiene menos campos duplicados que un esquema en estrella, pero tiende a requerir consultas más complejas debido al mayor número de tablas. Un esquema de base de datos de Tercera Forma Normal requiere menos espacio de almacenamiento porque tiene menos redundancias. El esquema en estrella suele tardar más en cargarse con el uso de datos debido a la mayor duplicación de datos y a las columnas de índice adicionales necesarias para las claves foráneas.
Ventajas de utilizar una base de datos columnar con un esquema en estrella
Una base de datos columnar almacena los registros de una tabla relacional como columnas, a diferencia de un sistema de base de datos relacional tradicional, que almacena una fila de tabla como un único registro. En el caso de un esquema en estrella, la tabla de hechos puede llegar a ser bastante amplia a medida que crecen el número y la longitud de los atributos sobre la entidad. La mayoría de las consultas sólo necesitan un puñado de campos de atributos de la tabla de hechos. El enfoque columnar sólo accede a esas pocas columnas, a diferencia de una base de datos basada en filas que requiere que toda la fila se cargue en memoria antes de que pueda ser escaneada en busca de los valores de columna necesarios. Dado que la fila completa suele ser considerablemente más larga que las columnas seleccionadas, la huella de memoria es mucho mayor, lo que suele dar lugar a consultas más lentas. La base de datos columnar tiene un índice de clave primaria incorporado, que suele ser el orden de clasificación de la tabla, lo que ahorra más memoria caché y RAM. En resumen, la estructura de base de datos en columnas complementa muy bien el diseño de Star Schema.
Actian Vector proporciona flexibilidad de esquema
La base de datos columnar Vector puede utilizarse para desplegar un modelo de esquema en estrella para cargas de trabajo de referencia como la TPC-D. Sin embargo, esto no es un requisito, ya que incluso puede optar por utilizar un esquema desnormalizado con todas las columnas en una única tabla amplia. Combinar el acceso basado en columnas y los índices min-max puede hacer que las consultas contra una única tabla desnormalizada de gran tamaño sean muy eficientes para algunas cargas de trabajo. Vector seguirá ejecutando las consultas más rápidamente que las bases de datos tradicionales que utilizan un almacén de filas, tanto si se elige un esquema en estrella, en copo de nieve, normalizado o desnormalizado.