Partager via


Modes de stockage et traitement des partitions

Le mode de stockage d’une partition affecte les performances de requête et de traitement, les exigences de stockage et les emplacements de stockage de la partition et de son groupe de mesures parent et cube. Le choix du mode de stockage affecte également les choix de traitement.

Une partition peut utiliser l’un des trois modes de stockage de base :

  • OLAP multidimensionnel (MOLAP)

  • OLAP relationnel (ROLAP)

  • OLAP hybride (HOLAP)

Microsoft SQL Server Analysis Services prend en charge les trois modes de stockage de base. Il prend également en charge la mise en cache proactive, qui vous permet de combiner les caractéristiques du stockage ROLAP et MOLAP pour l’immédiateté des données et des performances des requêtes. Pour plus d’informations, consultez Mise en cache proactive (partitions).

MOLAP

Le mode de stockage MOLAP provoque l’agrégation de la partition et une copie de ses données sources à stocker dans une structure multidimensionnelle dans Analysis Services lorsque la partition est traitée. Cette structure MOLAP est hautement optimisée pour optimiser les performances des requêtes. L’emplacement de stockage peut se trouver sur l’ordinateur sur lequel la partition est définie ou sur un autre ordinateur exécutant Analysis Services. Étant donné qu’une copie des données sources réside dans la structure multidimensionnelle, les requêtes peuvent être résolues sans accéder aux données sources de la partition. Les temps de réponse des requêtes peuvent être réduits considérablement à l’aide d’agrégations. Les données de la structure MOLAP de la partition sont uniquement aussi actuelles que le traitement le plus récent de la partition.

À mesure que les données sources changent, les objets du stockage MOLAP doivent être traités régulièrement pour incorporer ces modifications et les rendre accessibles aux utilisateurs. Le traitement met à jour les données dans la structure MOLAP, entièrement ou incrémentiellement. Le temps entre un traitement et le suivant crée une période de latence pendant laquelle les données dans les objets OLAP peuvent ne pas correspondre aux données sources. Vous pouvez mettre à jour incrémentiellement ou entièrement des objets dans le stockage MOLAP sans mettre hors connexion la partition ou le cube. Toutefois, il existe des situations qui peuvent vous obliger à mettre un cube hors connexion pour traiter certaines modifications structurelles apportées aux objets OLAP. Vous pouvez réduire le temps d’arrêt nécessaire pour mettre à jour le stockage MOLAP en mettant à jour et en traitant des cubes sur un serveur intermédiaire et en utilisant la synchronisation de base de données pour copier les objets traités vers le serveur de production. Vous pouvez également utiliser la mise en cache proactive pour réduire la latence et optimiser la disponibilité tout en conservant l’avantage des performances du stockage MOLAP. Pour plus d’informations, consultez Mise en cache proactive (partitions),Synchronisation des bases de données Analysis Services et traitement d’objets de modèle multidimensionnel.

ROLAP

Le mode de stockage ROLAP entraîne le stockage des agrégations de la partition dans les vues indexées dans la base de données relationnelle spécifiée dans la source de données de la partition. Contrairement au mode de stockage MOLAP, ROLAP n’entraîne pas le stockage d’une copie des données sources dans les dossiers de données Analysis Services. Au lieu de cela, lorsque les résultats ne peuvent pas être dérivés du cache de requêtes, les vues indexées dans la source de données sont accessibles pour répondre aux requêtes. La réponse aux requêtes est généralement plus lente avec le stockage ROLAP qu’avec les modes de stockage MOLAP ou HOLAP. Le temps de traitement est généralement plus lent avec ROLAP. Toutefois, ROLAP permet aux utilisateurs d’afficher des données en temps réel et d’économiser de l’espace de stockage lorsque vous travaillez avec des jeux de données volumineux rarement interrogés, tels que des données purement historiques.

Remarque

Lors de l’utilisation de ROLAP, Analysis Services peut retourner des informations incorrectes liées au membre inconnu si une jointure est combinée à une clause GROUP BY. Analysis Services élimine les erreurs d’intégrité relationnelle au lieu de retourner la valeur membre inconnue.

Si une partition utilise le mode de stockage ROLAP et que ses données sources sont stockées dans le moteur de base de données SQL Server, Analysis Services tente de créer des vues indexées pour contenir des agrégations de la partition. Si Analysis Services ne peut pas créer de vues indexées, elle ne crée pas de tables d’agrégation. Bien que Analysis Services gère les exigences de session pour créer des vues indexées sur le moteur de base de données SQL Server, les conditions suivantes doivent être remplies par la partition ROLAP et les tables de son schéma afin que Analysis Services crée des vues indexées pour les agrégations :

  • La partition ne peut pas contenir de mesures qui utilisent les fonctions d’agrégation ou Max d’agrégationMin.

  • Chaque table du schéma de la partition ROLAP ne doit être utilisée qu’une seule fois. Par exemple, le schéma ne peut pas contenir [dbo]. [adresse] AS « Adresse du client » et [dbo]. [adresse] AS « SalesRep Address ».

  • Chaque table doit être une table, et non une vue.

  • Tous les noms de table du schéma de la partition doivent être qualifiés avec le nom du propriétaire, par exemple [dbo]. [client].

  • Toutes les tables du schéma de la partition doivent avoir le même propriétaire ; par exemple, vous ne pouvez pas avoir de clause FROM qui référence les tables [tk]. [customer], [john]. [store], et [dave]. [sales_fact_2004].

  • Les colonnes sources des mesures de la partition ne doivent pas être nullables.

  • Toutes les tables utilisées dans la vue doivent avoir été créées avec les options suivantes définies sur ON :

    • ANSI_NULLS

    • IDENTIFIANT_CITÉ

  • La taille totale de la clé d’index, dans le moteur de base de données SQL Server, ne peut pas dépasser 900 octets. Le moteur de base de données SQL Server affirme cette condition en fonction des colonnes clés de longueur fixe lorsque l’instruction CREATE INDEX est traitée. Toutefois, s’il existe des colonnes de longueur variable dans la clé d’index, le moteur de base de données SQL Server affirme également cette condition pour chaque mise à jour des tables de base. Étant donné que différentes agrégations ont des définitions d’affichage différentes, le traitement ROLAP à l’aide de vues indexées peut réussir ou échouer en fonction de la conception d’agrégation.

  • La session qui crée la vue indexée doit avoir les options suivantes définies sur ON : ARITHABORT, CONCAT_NULL_YEILDS_NULL, QUOTED_IDENTIFIER, ANSI_NULLS, ANSI_PADDING et ANSI_WARNING. Ce paramètre peut être effectué dans SQL Server Management Studio.

  • La session qui crée la vue indexée doit avoir l’option suivante définie sur OFF : NUMERIC_ROUNDABORT. Ce paramètre peut être effectué dans SQL Server Management Studio.

HOLAP

Le mode de stockage HOLAP combine les attributs de MOLAP et ROLAP. Comme MOLAP, HOLAP entraîne le stockage des agrégations de la partition dans une structure multidimensionnelle dans une instance SQL Server Analysis Services. HOLAP n’entraîne pas le stockage d’une copie des données sources. Pour les requêtes qui accèdent uniquement aux données récapitulatives dans les agrégations d’une partition, HOLAP est l’équivalent de MOLAP. Requêtes qui accèdent aux données sources, par exemple, si vous souhaitez explorer une cellule de cube atomique pour laquelle aucune donnée d’agrégation ne doit récupérer des données de la base de données relationnelle et ne sera pas aussi rapide que si les données sources ont été stockées dans la structure MOLAP. Avec le mode de stockage HOLAP, les utilisateurs rencontrent généralement des différences substantielles dans les temps de requête selon que la requête peut être résolue à partir du cache ou des agrégations par rapport aux données sources elle-même.

Les partitions stockées en tant que HOLAP sont plus petites que les partitions MOLAP équivalentes, car elles ne contiennent pas de données sources et répondent plus rapidement que les partitions ROLAP pour les requêtes impliquant des données récapitulatives. Le mode de stockage HOLAP est généralement adapté aux partitions dans des cubes qui nécessitent une réponse rapide aux requêtes pour les résumés basés sur une grande quantité de données sources. Toutefois, lorsque les utilisateurs génèrent des requêtes qui doivent toucher des données de niveau feuille, telles que le calcul des valeurs médianes, MOLAP est généralement un meilleur choix.

Voir aussi

Mise en cache proactive (partitions)
Synchroniser les bases de données Analysis Services
Partitions (Analysis Services - Données multidimensionnelles)