Particiones: Procesamiento y modos de almacenamiento de particiones

Se aplica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

El modo de almacenamiento de una partición afecta al rendimiento de las consultas y el procesamiento, a los requisitos de almacenamiento y a las ubicaciones de almacenamiento de la partición y de su grupo de medida y cubo primario. La elección del modo de almacenamiento afecta también a las opciones de procesamiento.

Una partición puede utilizar uno de estos tres modos de almacenamiento básicos:

  • OLAP multidimensional (MOLAP)

  • OLAP relacional (ROLAP)

  • OLAP híbrido (HOLAP)

Microsoft SQL Server SQL Server Analysis Services admite los tres modos de almacenamiento básicos. También admite el almacenamiento en caché automático, que permite combinar las características de almacenamiento ROLAP y MOLAP para mejorar la disponibilidad de los datos y el rendimiento de las consultas. Para obtener más información, consulte Almacenamiento en caché proactivo (particiones).

MOLAP

El modo de almacenamiento MOLAP hace que las agregaciones de la partición y una copia de sus datos de origen se almacenen en una estructura multidimensional en SQL Server Analysis Services cuando se procesa la partición. Esta estructura MOLAP está muy optimizada para maximizar el rendimiento de las consultas. La ubicación de almacenamiento puede estar en el equipo donde se define la partición o en otro equipo que ejecuta SQL Server Analysis Services. Dado que una copia de los datos de origen reside en la estructura multidimensional, las consultas se pueden resolver sin necesidad de obtener acceso a los datos de origen de la partición. Si se utilizan agregaciones, los tiempos de respuesta a las consultas pueden disminuir notablemente. Los datos de la estructura MOLAP de la partición están tan actualizados como el procesamiento más reciente de la misma.

A medida que cambian los datos de origen, los objetos con almacenamiento MOLAP se deben procesar periódicamente para incorporar estos cambios y ponerlos a disposición de los usuarios. El procesamiento actualiza los datos en la estructura MOLAP, ya sea completamente o incrementalmente. El tiempo entre un procesamiento y el siguiente crea un periodo de latencia durante el cual los datos de los objetos OLAP podrían no coincidir con los datos de origen. Es posible actualizar los objetos en almacenamiento MOLAP completamente o incrementalmente sin dejar sin conexión la partición o el cubo. Sin embargo, hay casos en que puede ser necesario dejar sin conexión un cubo para procesar algunos cambios estructurales de objetos OLAP. El tiempo de inactividad requerido para actualizar el almacenamiento MOLAP se puede minimizar actualizando y procesando cubos en un servidor de ensayo y utilizando la sincronización de bases de datos para copiar los objetos procesados en el servidor de producción. También se puede usar el almacenamiento en caché automático para minimizar la latencia y maximizar la disponibilidad, a la vez que se mantiene gran parte de las ventajas de rendimiento del almacenamiento MOLAP. Para obtener más información, vea Almacenamiento en caché proactivo (particiones),Sincronizar bases de datos de Analysis Services y Procesar un modelo multidimensional (Analysis Services) .

ROLAP

El modo de almacenamiento ROLAP hace que las agregaciones de la partición se almacenen en vistas indizadas de la base de datos relacional que se especificó en el origen de datos de la partición. A diferencia del modo de almacenamiento MOLAP, ROLAP no hace que se almacene una copia de los datos de origen en las carpetas de datos SQL Server Analysis Services. En su lugar, cuando no se pueden derivar los resultados de la caché de consultas, se utilizan las vistas indizadas del origen de datos para responder a las consultas. La respuesta a las consultas suele ser más lenta con el almacenamiento ROLAP que con los modos de almacenamiento MOLAP o HOLAP. El tiempo de procesamiento también suele ser más lento con ROLAP. No obstante, ROLAP permite a los usuarios ver los datos en tiempo real y ahorrar espacio de almacenamiento al trabajar con conjuntos de datos grandes a los que no se suele consultar con frecuencia, como datos puramente históricos.

Nota:

Al usar ROLAP, SQL Server Analysis Services puede devolver información incorrecta relacionada con el miembro desconocido si una combinación se combina con una cláusula GROUP BY. SQL Server Analysis Services elimina los errores de integridad relacional en lugar de devolver el valor de miembro desconocido.

Si una partición usa el modo de almacenamiento ROLAP y sus datos de origen se almacenan en SQL Server motor de base de datos, SQL Server Analysis Services intenta crear vistas indizadas para contener agregaciones de la partición. Si SQL Server Analysis Services no puede crear vistas indizadas, no crea tablas de agregación. Aunque SQL Server Analysis Services controla los requisitos de sesión para crear vistas indizadas en SQL Server motor de base de datos, la partición ROLAP debe cumplir las siguientes condiciones y las tablas de su esquema para SQL Server Analysis Services crear vistas indizadas para agregaciones:

  • La partición no puede contener medidas que usen las funciones de agregado Min o Max .

  • Cada tabla del esquema de la partición ROLAP solo debe utilizarse una vez. Por ejemplo, el esquema no puede contener [dbo].[address] AS "Customer Address" ni [dbo].[address] AS "SalesRep Address".

  • Cada tabla debe ser una tabla, no una vista.

  • Todos los nombres de tablas del esquema de la partición deben estar calificados con el nombre del propietario [dbo].[customer].

  • Todas las tablas del esquema de la partición deben tener el mismo propietario; por ejemplo, no se puede tener una cláusula FROM que haga referencia a las tablas [tk].[customer], [john].[store] y [dave].[sales_fact_2004].

  • Las columnas de origen de las medidas de la partición no deben admitir valores NULL.

  • Todas las tablas utilizadas en la vista deben crearse con las siguientes opciones activadas:

    • ANSI_NULLS

    • QUOTED_IDENTIFIER

  • El tamaño total de la clave de índice, en SQL Server motor de base de datos, no puede superar los 900 bytes. SQL Server motor de base de datos validará esta condición en función de las columnas de clave de longitud fija cuando se procese la instrucción CREATE INDEX. Sin embargo, si hay columnas de longitud variable en la clave de índice, SQL Server motor de base de datos también validará esta condición para cada actualización de las tablas base. Dado que las agregaciones diferentes tienen definiciones de vistas distintas, el procesamiento ROLAP mediante vistas indizadas puede realizarse correcta o incorrectamente, dependiendo del diseño de las agregaciones.

  • La sesión que crea la vista indizada debe tener activadas las siguientes opciones: ARITHABORT, CONCAT_NULL_YEILDS_NULL, QUOTED_IDENTIFIER, ANSI_NULLS, ANSI_PADDING y ANSI_WARNING. Esta configuración se puede realizar en SQL Server Management Studio.

  • La sesión que crea la vista indizada debe tener desactivada la siguiente opción: NUMERIC_ROUNDABORT. Esta configuración se puede realizar en SQL Server Management Studio.

HOLAP

El modo de almacenamiento HOLAP combina atributos de los modos MOLAP y ROLAP. Al igual que MOLAP, HOLAP hace que las agregaciones de la partición se almacenen en una estructura multidimensional en una instancia de SQL Server SQL Server Analysis Services. HOLAP no hace que se almacene una copia de los datos de origen. HOLAP es el equivalente de MOLAP para las consultas que solo tienen acceso a los datos de resumen de las agregaciones de una partición. Consultas que acceden a los datos de origen, por ejemplo, si desea explorar en profundidad una celda de cubo atómico para la que no hay datos de agregación, debe recuperar datos de la base de datos relacional y no será tan rápido como sería si los datos de origen se almacenaran en la estructura MOLAP. Con el modo de almacenamiento HOLAP, los usuarios suelen experimentar notables diferencias en cuanto a los tiempos de las consultas según si la consulta se puede resolver desde la caché o las agregaciones frente a los propios datos de origen.

Las particiones almacenadas como HOLAP son más pequeñas que sus equivalentes MOLAP dado que no contienen datos de origen y responden más rápidamente que las particiones ROLAP a las consultas que implican datos de resumen. El modo de almacenamiento HOLAP suele ser más adecuado para particiones en cubos que requieren una respuesta de consultas rápida para resúmenes basados en una gran cantidad de datos de origen. No obstante, si los usuarios generan consultas que deben utilizar datos del nivel hoja (por ejemplo, para calcular valores medios), MOLAP suele ser una opción mejor.

Consulte también

Almacenamiento en caché automático (Particiones)
Sincronizar bases de datos de Analysis Services
Particiones (Analysis Services - Datos multidimensionales)