INF: OLAP: Cómo indizar datos de esquema de estrella o snowflake

Resumen

Al preparar los datos para pasarlos a cubos OLAP, la indización de las dimensiones y tablas de hechos de la base de datos es extremamente importante para el rendimiento del procesamiento de los cubos. Este artículo está pensado para ofrecer a los usuarios de Servicios OLAP de SQL Server información general sobre este tema y un punto de partida sencillo y efectivo.

Más información

En MOLAP, ROLAP o HOLAP, Servicios OLAP se conecta al almacén de datos central (que puede estar en SQL Server) como cualquier otra aplicación cliente (a través de OLE DB) y le envía una consulta GROUP BY. SQL Server analiza la consulta y devuelve los datos de nuevo a Servicios OLAP (con MOLAP y HOLAP) o simplemente los agrega a tablas nuevas (con ROLAP). Servicios OLAP es sólo un cliente.


Cuando una aplicación cliente se conecta a SQL Server y el rendimiento no es el previsto, es habitual examinar SQL Server y comprobar cómo optimizar la consulta o el esquema para mejorar el rendimiento. Se puede decir lo mismo con Servicios OLAP. Si el rendimiento es lento al recuperar los datos de SQL Server, probablemente algo no funcione bien con el esquema de estrella o copo de nieve ("snowflake") en SQL Server (u otro origen de datos heterogéneo), por ejemplo, el diseño del esquema, los índices, las relaciones de las claves, la integridad referencial o la limpieza de los datos, que puede ser insuficiente. Debería tratar y optimizar el esquema igual que en cualquier otra aplicación cliente.


La solución que se ofrece a continuación sólo es una posibilidad. Como con todos los proyectos de datos, los esquemas y usos individuales determinarán la solución mejor para ese proyecto. Esta solución se plantea como un lugar de partida. El tema "OLAP y almacenes de datos" de la documentación del producto proporciona información adicional con respecto a los esquemas, el diseño de tablas de dimensión, la normalización, el resumen de los hechos, la integridad referencial y los índices.


Antes de procesar un cubo de Servicios OLAP, haga lo siguiente:


  1. Declare una clave principal en cada tabla de la dimensión.
  2. Para las dimensiones de estrella, declare las relaciones de claves externas (FK) entre cada tabla de dimensiones y tabla de hechos correspondiente. Además, para las dimensiones de copo de nieve, declare las relaciones de claves externas entre cada tabla de dimensiones secundaria y la tabla de dimensiones primaria que aumenta.
  3. Asegúrese de que hay una clave principal asociada a las tablas de hechos, aun cuando tenga que utilizar un campo IDENTITY.
  4. Declare índices en cada una de las claves principales en las tablas de dimensión y en las tablas de hechos.
  5. Declare índices en cada una de las claves externas de las tablas de hechos.
    NOTA: la estrategia de indización que se sugiere en la documentación del producto en el tema "OLAP y almacenes de datos" (un índice único en las columnas de claves externas combinadas en las tablas de hechos) no puede ser igual de eficaz en lo que respecta al rendimiento en la mayoría de los esquemas que la estrategia de índices que se sugiere en este artículo (un índice en cada columna de clave externa). Se sugiere que utilice el método descrito en este artículo en su lugar.
  6. Limpie los datos para quitar todos los valores NULL para esos elementos de datos que se pasan a Servicios OLAP.
Propiedades

Id. de artículo: 199132 - Última revisión: 07/11/2008 - Revisión: 1

Comentarios