Concepts et modèle objet AMO

S’applique à : SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Cet article décrit analysis management objects (AMO), comment AMO est lié à d’autres outils et bibliothèques fournis dans l’architecture d’Analysis Services, et une explication conceptuelle de tous les objets principaux dans AMO.

AMO est une collection complète de classes de gestion qui peuvent être utilisées par programmation, sous l’espace de noms de Microsoft.AnalysisServices, dans un environnement managé. Les classes sont incluses dans le fichier AnalysisServices.dll, qui se trouve généralement à l’emplacement où le programme d’installation installe les fichiers, sous le dossier \100\SDK\Assemblies\. Pour utiliser les classes AMO, vous devez inclure une référence à cet assembly dans vos projets.

En utilisant AMO, vous pouvez créer, modifier et supprimer des objets tels que des cubes, des dimensions, des structures d’exploration de données et des bases de données ; sur tous ces objets, des actions peuvent être effectuées à partir de votre application dans le .NET Framework. Vous pouvez également traiter et mettre à jour les informations stockées dans les bases de données.

AMO dans l’architecture Analysis Services

De par sa conception, AMO se prédestine uniquement à la gestion d'objets et non à l'interrogation de données. Si l’utilisateur doit interroger des données à partir d’une application cliente, l’application cliente doit utiliser ADOMD.NET.

Architecture AMO

AMO est une bibliothèque complète de classes conçue pour gérer un instance Analysis Services à partir d’une application cliente en code managé sous .NET Framework version 2.0 et ultérieure.

La bibliothèque de classes AMO est conçue comme une hiérarchie de classes dans laquelle certaines classes doivent être instanciées avant d'autres pour pouvoir être utilisées dans votre code. Il existe également des classes auxiliaires qui peuvent être instanciées à tout moment dans votre code, mais il est probable que vous aurez instancié une ou plusieurs classes de la hiérarchie avant d'utiliser une classe auxiliaire.

L'illustration suivante présente une vue détaillée de la hiérarchie AMO qui comprend les classes principales. L'illustration montre la position des classes par rapport à leurs conteneurs et à leurs homologues. Un Dimension appartient à un Database et un Server, et peut être créé en même temps qu’un DataSource et MiningStructure. Certaines classes homologues doivent être instanciées pour pouvoir en utiliser d'autres. Par exemple, vous devez créer un instance de avant d’ajouter DataSource un nouveau Dimension ou MiningStructure.

Vue d'ensemble des classes AMO

Un objet principal est une classe qui représente un objet complet en tant qu’entité entière et non en tant que partie d’un autre objet. Les objets principaux incluent Server, Cube, Dimensionet MiningStructure, car il s’agit d’entités en elles-mêmes. Toutefois, un Level n’est pas un objet majeur, car il fait partie intégrante d’un Dimension. Les objets principaux peuvent être créés, supprimés, modifiés ou traités indépendamment des autres objets. Les objets secondaires sont des objets qui ne peuvent être créés que dans le cadre de la création de l'objet principal parent. Les objets secondaires sont généralement créés lors de la création d'un objet principal. Les valeurs des objets secondaires doivent être définies au moment de leur création, car aucune d'entre elles n'est créée par défaut.

L’illustration suivante montre les objets principaux qu’un Server objet contient.

Principaux objets AMO

Principaux objets AMO (2)

Lors de la programmation avec AMO, l’association entre les classes et les classes contenues utilise des attributs de type collection, par exemple Server et Dimension. Pour utiliser une instance d'une classe contenue, vous devez d'abord acquérir une référence à un objet collection qui détient ou peut détenir la classe contenue. Vous devez ensuite trouver l'objet spécifique que vous recherchez dans la collection avant de pouvoir obtenir une référence à l'objet et commencer à l'utiliser.

Classes AMO

AMO est une bibliothèque de classes conçue pour gérer un instance d’Analysis Services à partir d’une application cliente. La bibliothèque AMO peut s'envisager comme des groupes d'objets liés par une relation logique qui sont utilisés pour accomplir une tâche spécifique. Les classes AMO peuvent être rangées dans les catégories suivantes :

Ensemble de classes Objectif
Classes fondamentales AMO Classes nécessaires à l'utilisation de tout autre ensemble de classes.
Classes OLAP AMO Classes qui vous permettent de gérer les objets OLAP.
Classes d'exploration de données AMO Classes qui vous permettent de gérer les objets d’exploration de données.
Classes de sécurité AMO Classes permettant de contrôler l'accès aux autres objets et de maintenir la sécurité.
Autres classes et méthodes AMO Classes et méthodes permettant aux administrateurs OLAP ou d'exploration de données de réaliser leurs tâches quotidiennes.

Utilisation d'AMO

AMO s'avère particulièrement utile pour automatiser les tâches répétitives, telles que la création de nouvelles partitions dans un groupe de mesures sur la base de nouvelles données dans la table de faits, ou le réapprentissage d'un modèle d'exploration de données sur la base de nouvelles données. Ces tâches qui créent de nouveaux objets sont généralement effectuées tous les mois, toutes les semaines ou tous les trimestres, et les nouveaux objets peuvent être facilement nommés par l'application sur la base des nouvelles données.

Administrateurs Analysis Services

Les administrateurs peuvent utiliser AMO pour automatiser le traitement des bases de données. Pour concevoir et déployer des bases de données, utilisez Visual Studio.

Développeurs

Les développeurs peuvent utiliser AMO afin de développer des interfaces d'administration pour des ensembles d'utilisateurs spécifiés. Ces interfaces peuvent restreindre l’accès aux objets et limiter les utilisateurs à certaines tâches. Par exemple, en utilisant AMO, vous pouvez créer une application de sauvegarde qui permet à un utilisateur de voir tous les objets de base de données, de sélectionner l’une des bases de données et de la sauvegarder sur l’un des ensembles d’appareils spécifié.

Les développeurs peuvent également incorporer la logique dans leurs applications. Pour cela, les développeurs peuvent créer des cubes, des dimensions, des structures d'exploration de données et des modèles d'exploration de données sur la base d'entrées utilisateur ou d'autres facteurs.

Utilisateurs expérimentés d'OLAP

Les utilisateurs expérimentés d'OLAP sont généralement des analystes de données ou d'autres utilisateurs de données expérimentés qui possèdent une grande expérience en matière de programmation et qui souhaitent améliorer leur analyse de données à travers une utilisation plus rapprochée des objets de données. Pour les utilisateurs contraints de travailler hors connexion, AMO peut s'avérer très utile pour automatiser la création de cubes locaux avant de se déconnecter.

Utilisateurs expérimentés de l'exploration de données

Pour les utilisateurs expérimentés de l'exploration de données, AMO est particulièrement utile lorsque des ensembles importants de modèles doivent faire l'objet d'un réapprentissage régulier.

Automatisation des tâches administratives avec AMO

La plupart des tâches répétitives sont mieux conçues, déployées et gérées si elles sont développées à l’aide d’Integration Services plutôt que si elles sont développées en tant qu’application dans n’importe quel langage de votre choix. Toutefois, pour les tâches répétitives qui ne peuvent pas être automatisées à l’aide d’Integration Services, vous pouvez utiliser AMO.

Gestion automatique des objets

Avec AMO, il est facile de créer, mettre à jour ou supprimer des objets (par exemple Database, , CubeDimension, exploration MiningStructurede données et MiningModel, ou Role) en fonction de l’entrée utilisateur ou de nouvelles données acquises. AMO est idéal pour les applications d'installation chargées de déployer une solution développée, d'un éditeur de logiciels indépendant vers un client final. L'application d'installation est en mesure de vérifier s'il existe une version antérieure, de mettre à jour la structure, de supprimer les objets devenus superflus et d'en créer de nouveaux. En l'absence d'une version antérieure, elle peut tout créer entièrement.

AMO peut être puissant lors de la création de partitions basées sur de nouvelles données, et peut supprimer les anciennes partitions qui avaient dépassé l’étendue du projet. Par exemple, pour une solution d'analyse financière qui utilise les données des 36 derniers mois, dès que les données d'un nouveau mois sont reçues, les données du mois le plus antérieur mois peuvent être supprimées. Pour optimiser les performances, de nouvelles agrégations peuvent être conçues en fonction de l'utilisation et être appliquées aux 12 derniers mois.

Traitement automatique des objets

Le traitement des objets et la disponibilité mise à jour peuvent être obtenus en utilisant AMO pour répondre à certains événements au-delà des données de flux ordinaires et des tâches planifiées qui utilisent Integration Services.

Gestion automatique de la sécurité

La gestion de la sécurité peut être automatisée pour inclure de nouveaux utilisateurs à des rôles et des autorisations ou pour supprimer d'autres utilisateurs dès que leur délai a expiré. De nouvelles interfaces peuvent être créées pour simplifier la gestion de la sécurité pour les administrateurs de la sécurité. Cela peut être plus simple que d’utiliser Visual Studio.

Gestion automatique des sauvegardes

La gestion automatique des sauvegardes peut être effectuée à l’aide de tâches Integration Services ou en créant des applications AMO spécialisées qui s’exécutent automatiquement. En utilisant AMO, vous pouvez développer des interfaces de sauvegarde pour aider les opérateurs dans leurs travaux quotidiens.

Tasks AMO n’est pas destiné à interroger des données

AMO ne peut pas être utilisé pour interroger les données. Pour interroger des données, notamment des cubes et des modèles d’exploration de données, utilisez ADOMD.NET à partir d’une application utilisateur. Pour plus d’informations, consultez Développement avec ADOMD.NET.