télécharger 142.41 Kb.
|
Accès aux données et stockagePerformances et extensibilitéLes performances et l'extensibilité sont des facteurs importants qui doivent être considérés pour la réussite d'une solution BI. Chaque expérience de modélisation repose sur des technologies sous-jacentes différentes ; chacune a des caractéristiques de performances et des comportements distincts que vous devez comprendre pour choisir la solution de modélisation adéquate. Modèles multidimensionnelsComme indiqué précédemment dans ce livre blanc, les modèles multidimensionnels Analysis Services utilisent un moteur OLAP. Sur disque, les données OLAP peuvent être stockées dans les architectures de données MOLAP et ROLAP. Dans MOLAP, les données sont stockées sur le disque dans un format multidimensionnel optimisé, avec une compression 3x classique. Dans ROLAP, les données sont stockées dans la base de données relationnelle source. En matière de performances, il est généralement utile de distinguer : les performances des requêtes et les performances de traitement. Performance des requêtesLes performances des requêtes affectent directement la qualité de l'expérience de l'utilisateur. Par conséquent, il s'agit du benchmark principal utilisé pour évaluer la réussite d'une implémentation OLAP. Analysis Services fournit plusieurs mécanismes pour accélérer les performances des requêtes, notamment des agrégations, la mise en cache, et l'extraction de données indexées. En outre, vous pouvez améliorer les performances des requêtes en optimisant la conception de vos attributs de dimension, des cubes, et des requêtes MDX. L'option principale qui s'offre à vous pour optimiser les performances des requêtes est d'utiliser des agrégations. Une agrégation est un récapitulatif précalculé des données, utilisé pour améliorer les performances des requêtes dans les modèles multidimensionnels. Lorsque vous interrogez un modèle multidimensionnel, le processeur de requêtes Analysis Services décompose la requête en demandes pour le moteur de stockage OLAP. Pour chaque demande, le moteur de stockage tente d'abord de récupérer les données du cache du moteur de stockage en mémoire. Si aucune donnée n'est disponible dans le cache, il tente de récupérer les données d'une agrégation. Si aucune agrégation n'est présente, il récupère les données des partitions d'un groupe de mesures. En concevant des agrégations de données, vous identifiez le schéma d'agrégation le plus efficace pour votre charge de travail d'interrogation. Lorsque vous concevez des agrégations, vous devez tenir compte des avantages qu'elles offrent pour l'interrogation, et comparer cela au temps requis pour créer et actualiser les agrégations. En fait, ajouter des agrégations inutiles peut empirer les performances des requêtes, car si les correspondances sont rares, l'agrégation est déplacée dans le cache de fichier en risquant d'écraser ce qu'il contient. La mise en cache est tout aussi essentielle pour régler les performances des requêtes Analysis Services. Vous devez disposer de suffisamment de mémoire pour stocker toutes les données de dimension, et pour mettre en cache les résultats de la requête. Lors de l'interrogation, la mémoire est principalement utilisée pour stocker les résultats mis en cache dans le moteur de stockage et les caches du processeur de requêtes. Pour optimiser les avantages de la mise en cache, vous pouvez augmenter la réactivité de la requête en préchargeant les données dans l'un des deux caches ou dans les deux caches à la fois. Cette opération peut être effectuée avant l'exécution d'une ou plusieurs requêtes, ou en utilisant l'instruction de création du cache. Performances de traitementLe traitement est l'opération qui actualise les données d'une base de données Analysis Services. Plus les performances de traitement sont rapides, plus vite les utilisateurs peuvent accéder aux données actualisées. Analysis Services fournit plusieurs mécanismes pour optimiser les performances de traitement, notamment la conception efficace des dimensions, les agrégations, les partitions, et une stratégie de traitement économique (qui compare, par exemple, le traitement incrémentiel, l'actualisation complète et la mise en cache proactive). Vous pouvez utiliser les partitions pour séparer des données de mesure (généralement, les données de la table de faits) en unités physiques. Une utilisation efficace des partitions peut améliorer les performances des requêtes, les performances de traitement, et faciliter la gestion des données. Pour chaque partition, vous pouvez utiliser une conception d'agrégation et une planification de l'actualisation distinctes, ce qui peut optimiser considérablement les performances. Pour chaque table de faits, vous pouvez également associer les partitions MOLAP et ROLAP. Ce type de stratégie de partitionnement permet l'interrogation en temps réel, ou bien d'accéder à des jeux de données trop gros pour être traités dans un cube. Des techniques d'optimisation des requêtes et du traitement telles que celles-ci peuvent vous aider à mettre à l'échelle vos modèles multidimensionnels afin de gérer des téraoctets de données. Pour plus d'informations sur le réglage des performances, consultez Guide des performances d'Analysis Services 2008 R2 (http://sqlcat.com/sqlcat/b/whitepapers/archive/2011/10/10/analysis-services-2008-r2-performance-guide.aspx). Modèles tabulairesLes modèles tabulaires utilisent le moteur d'analyse xVelocity, qui permet le traitement des données en mémoire, ou DirectQuery, qui transmet les requêtes à la base de données source pour exploiter les fonctions de traitement des requêtes. Les avantages des bases de données en colonnes et du traitement des données en mémoire sont équivalents. Les bases de données en colonnes autorisent une compression plus élevée que le stockage traditionnel, généralement une compression 10x, en fonction de la cardinalité des données. La cardinalité des données se focalise sur la caractérisation de la distribution des données au sein d'une colonne unique. Une cardinalité élevée signifie que les valeurs des données dans une colonne sont fortement uniques (par exemple, le nombre de clients). Une cardinalité faible signifie que les valeurs des données dans une colonne peuvent se répéter (par exemple, le sexe et l'état civil). Plus la cardinalité des données est faible, plus la compression est élevée, ce qui signifie que davantage de données peuvent tenir dans la mémoire à tout moment. Comme pour les modeleurs de données, il est important de comprendre la cardinalité de vos données pour déterminer les jeux de données qui conviennent mieux à votre modèle tabulaire, et les besoins de mémoire associés pour prendre en charge le modèle. Performances des requêtesLorsqu'un utilisateur interroge un modèle tabulaire, le moteur exécute des analyses de mémoire pour récupérer les données et calculer les agrégations à la volée, sans besoin de traiter les E/S du disque. Cette approche peut considérablement améliorer les performances des requêtes sans nécessiter de paramétrage spécial, ni une gestion de l'agrégation. La façon la plus simple et adaptée d'optimiser les performances des requêtes pour les modèles tabulaires est d'augmenter la mémoire disponible. Du point de vue de l'extensibilité, le volume des données est essentiellement limité par la mémoire physique. Il est recommandé de disposer d'une mémoire suffisante pour contenir toutes les données dans votre modèle tabulaire. Dans les scénarios où la mémoire est limitée, le moteur en mémoire fournit également une pagination de base, selon la mémoire physique. De plus, il existe des paramètres de configuration côté serveur qui permettent de gérer plus précisément la mémoire disponible pour les modèles tabulaires. Pour plus d'informations sur la configuration de la mémoire du modèle tabulaire, consultez Propriétés de mémoire (http://msdn.microsoft.com/fr-fr/library/ms174514.aspx). Performances de traitementEn ce qui concerne les performances de traitement, les modèles tabulaires se distinguent des modèles multidimensionnels de deux façons :
Prenons l'exemple suivant. Dans votre organisation, il est courant que les représentants se déplacent régulièrement dans plusieurs régions. Les utilisateurs souhaitent consulter les chiffres de vente cumulés par dernière région visitée et par affectation des représentants. Dans un modèle multidimensionnel, pour accomplir cette tâche, vous devez commencer par actualiser la dimension de l'organisation des ventes. Une fois la dimension commerciale actualisée, vous devez actualiser la partition du groupe des mesures de vente. L'actualisation de la partition des ventes met à jour les données et les agrégations détaillées. L'étape finale de la préparation des données (recommandée en tant que meilleure pratique) consiste à interroger le cache des requêtes Analysis Services pour récupérer les informations utiles sur le disque en mémoire. Selon votre conception de modèle de données, la taille des données, et la technique de traitement choisie (traitement incrémentiel ou complet), cela peut prendre plusieurs minutes ou plusieurs heures. La bonne nouvelle est qu'il existe plusieurs techniques ayant fait leurs preuves. Les professionnels BI les utilisent tous les jours pour optimiser l'empreinte du traitement des modèles multidimensionnels en équilibrant les besoins de traitement des données et les demandes de disponibilité des données. Examinons à présent le même scénario dans un modèle tabulaire. Dans le modèle tabulaire, les concepts de dimensions et de groupes de mesures n'existent pas. En revanche, les données sont organisées dans des tables qui possèdent des relations entre elles. Supposez que les données de l'organisation des ventes et les données de vente se trouvent dans leurs tables respectives et soient liées par une relation basée sur le représentant. Avec cette conception, lorsque vous actualisez la table d'organisation des ventes, elle met automatiquement à jour toutes les colonnes calculées, les relations, et les hiérarchies utilisateur impactées. Cela signifie que les données de vente reflètent automatiquement les cumuls par région actualisés, sans besoin d'être retraitées. Cette souplesse offre des avantages considérables lorsque vos dimensions changent rapidement et les données doivent refléter les dernières mises à jour. En outre, notez qu'avec les modèles tabulaires, il n'est pas nécessaire de créer des agrégations, d'écrire des données sur le disque, ou d'interroger le cache des requêtes pour obtenir les données en mémoire. Avec les modèles tabulaires, les données passent directement du disque à la mémoire et sont prêtes à l'emploi. Similairement aux modèles multidimensionnels, les modèles tabulaires vous permettent d'éclater les données de vos données en partitions, en évitant les traitements de données inutiles. Par exemple, vous pouvez diviser les tables en plusieurs partitions : une partition mensuelle pour chaque mois de l'année en cours, et une partition annuelle pour chacune des années précédentes. Cette approche permet d'isoler les partitions qui nécessitent une actualisation. Contrairement aux modèles multidimensionnels, notez que bien que vous puissiez traiter plusieurs tables en parallèle, vous ne pouvez pas traiter les partitions d'une seule table en parallèle. DirectQueryComme alternative au mode en mémoire xVelocity des modèles tabulaires, les professionnels BI peuvent créer des modèles tabulaires à l'aide du mode DirectQuery. DirectQuery est disponible pour les modèles tabulaires avec des sources de données SQL Server. Il permet de contourner le traitement des données en passant les requêtes et les calculs DAX à la base de données source pour tirer parti des fonctionnalités de SQL Server. Cela peut s'avérer utile pour les grands volumes de données nécessitant une actualisation fréquente. Avec DirectQuery, toutefois, les colonnes calculées et certaines fonctions DAX ne sont pas prises en charge. |
![]() | «aide aux immobilisations». Une autre importante portion de 4 M$ provient de la récupération d’une partie de la taxe d’essence par... | ![]() | |
![]() | ![]() | ||
![]() | «De par sa qualité audio conforme aux attentes des professionnels, le système Polycom Communicator encouragera les entreprises à... | ![]() | «pour les procédures ouvertes avant le 1er janvier 2006 aux documents figurant à l’annexe 8-5 au présent livre» sont remplacés par... |
![]() | «vivre ensemble», ce livre en prise directe avec la recherche la plus récente a pour ambition de devenir un outil de référence destiné... | ![]() | |
![]() | «Initiation à la traduction de textes fonctionnels : techniques de traduction» est une introduction à ces techniques et stratégies,... | ![]() | «Conseils aux utilisateurs», explique les motifs de certaines clauses et fournit des conseils à l’intention des autorités contractantes... |