Conceitos e modelo de objeto de AMO

Aplica-se a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Este artigo descreve o AMO (Objetos de Gerenciamento de Análise), como o AMO está relacionado a outras ferramentas e bibliotecas fornecidas na arquitetura do Analysis Services e uma explicação conceitual de todos os principais objetos no AMO.

AMO é uma coleção completa de classes de gerenciamento que podem ser usadas programaticamente, no namespace de Microsoft.AnalysisServices, em um ambiente gerenciado. As classes são incluídas no arquivo AnalysisServices.dll, que geralmente é encontrado onde a instalação instala os arquivos, na pasta \100\SDK\Assemblies\. Para usar as classes AMO, inclua uma referência a esse assembly em seus projetos.

Usando AMO, você pode criar, modificar e excluir objetos como cubos, dimensões, estruturas de mineração e bancos de dados; em todos esses objetos, as ações podem ser executadas do aplicativo no .NET Framework. Você também pode processar e atualizar as informações armazenadas em bancos de dados.

AMO na arquitetura do Analysis Services

Por design, o AMO foi criado somente para o gerenciamento de objetos e não para a consulta de dados. Se o usuário precisar consultar dados de um aplicativo cliente, o aplicativo cliente deverá usar ADOMD.NET.

Arquitetura AMO

AMO é uma biblioteca completa de classes projetada para gerenciar uma instância do Analysis Services de um aplicativo cliente em código gerenciado na versão 2.0 e superior do .NET Framework.

A biblioteca de classes AMO foi criada como uma hierarquia de classes, onde certas classes devem ser instanciadas antes de outras para que possam ser usadas em seu código. Existem também classes auxiliares que podem ser instanciadas em seu código em qualquer ocasião, mas provavelmente você instanciará uma ou mais das classes de hierarquia antes de usar qualquer uma delas.

A ilustração a seguir é uma exibição de alto nível da hierarquia AMO com as classes principais. A ilustração mostra o posicionamento das classes entre seus contêineres e entre seus pares. Um Dimension pertence a um Database e um Servere pode ser criado ao mesmo tempo que um DataSource e MiningStructure. Certas classes pares devem ser instanciadas antes que outras possam ser usadas. Por exemplo, você precisa criar uma instância de antes de DataSource adicionar um novo Dimension ou MiningStructure.

Exibição de alto nível de classes AMO

Um objeto principal é uma classe que representa um objeto completo como uma entidade inteira e não como parte de outro objeto. Os principais objetos incluem Server, Cube, Dimensione MiningStructure, porque são entidades por conta própria. No entanto, um Level não é um objeto principal, pois é uma parte constituinte de um Dimension. Os objetos principais podem ser criados, excluídos, modificados ou processados de forma independente de outros objetos. Os objetos menores são objetos que só podem ser criados como parte da criação do objeto principal pai. Normalmente, os objetos secundários são criados durante a criação de um objeto principal. Os valores dos objetos secundários devem ser definidos no momento de criação, uma vez que não há uma criação padrão para objetos secundários.

A ilustração a seguir mostra os principais objetos que um Server objeto contém.

Objetos Principais AMO destacados

Objetos Principais AMO destacados (2)

Ao programar com AMO, a associação entre classes e classes contidas usa atributos de tipo de coleção, por exemplo Server , e Dimension. Para trabalhar com uma instância de uma classe contida, primeiro adquira uma referência a um objeto de coleção que armazene e que possa armazenar a classe contida. Em seguida, localize o objeto específico que você está procurando na coleção para poder obter uma referência ao objeto para começar a trabalhar com ele.

Classes AMO

AMO é uma biblioteca de classes projetada para gerenciar uma instância do Analysis Services de um aplicativo cliente. A biblioteca AMO pode ser pensada como grupos de objetos usados na realização de uma tarefa específica. As classes AMO podem ser categorizadas da seguinte forma:

Conjunto de classes Finalidade
Classes fundamentais AMO Classes necessárias para que seja possível trabalhar com outros conjuntos de classes.
Classes OLAP AMO Classes que permitem gerenciar os objetos OLAP.
Classes de mineração de dados AMO Classes que permitem gerenciar os objetos de mineração de dados.
Classes de segurança AMO Classes que permitem a você controlar o acesso a outros objetos e a manter a segurança.
Outras classes e métodos AMO Classes e métodos que ajudam os administradores de OLAP ou de mineração de dados a concluírem suas tarefas diárias.

Usando AMO

O AMO é especialmente útil para a automação de tarefas repetitivas, como por exemplo a criação de novas partições em um grupo de medidas baseado em dados novos da tabela de fatos, ou em um novo treinamento de um modelo de mineração baseado em dados novos. Essas tarefas que criam objetos novos são normalmente executadas por mês, por semana ou por trimestre, e os novos objetos podem ser facilmente nomeados, com base nos dados novos, pelo aplicativo.

Administradores do Analysis Services

Os administradores podem usar o AMO para automatizar o processamento de bancos de dados. Para projetar e implantar bancos de dados, use o Visual Studio.

Desenvolvedores

Os desenvolvedores podem usar AMO para desenvolver interfaces administrativas para conjuntos especificados de usuários. Essas interfaces podem restringir o acesso a objetos e limitar os usuários a determinadas tarefas. Por exemplo, usando AMO, você pode criar um aplicativo de backup que permite que um usuário veja todos os objetos de banco de dados, selecione qualquer um dos bancos de dados e faça backup dele em qualquer um de um conjunto de dispositivos especificado.

Os desenvolvedores também podem inserir lógica em seus aplicativos. Para isso, eles podem criar cubos, dimensões, estruturas de mineração e modelos de mineração baseados em entradas de usuário ou em outros fatores.

Usuários avançados de OLAP

Normalmente, os usuários avançados de OLAP são analistas de dados e outros usuários de dados experientes com muitos conhecimentos em programação e que desejam aprimorar suas análises de dados por meio do uso mais próximo dos objetos de dados. Para usuários que tenham de trabalhar offline, o AMO pode ser muito útil na automação da criação de cubos locais antes da entrada no modo offline.

Usuários avançados de mineração de dados

Para usuários avançados de mineração de dados, o AMO será muito útil se você tiver grandes conjuntos de modelos que devam ser periodicamente treinados outra vez.

Automatizando tarefas administrativas com AMO

A maioria das tarefas repetitivas são melhor projetadas, implantadas e mantidas se forem desenvolvidas usando o Integration Services do que se forem desenvolvidas como um aplicativo em qualquer idioma de sua escolha. No entanto, para tarefas repetitivas que não podem ser automatizadas usando o Integration Services, você pode usar AMO.

Gerenciamento automático de objetos

Com o AMO, é fácil criar, atualizar ou excluir objetos (por exemplo Database, , Dimension, Cubemineração MiningStructuree MiningModel, ou Role) com base na entrada do usuário ou em novos dados adquiridos. O AMO é ideal para aplicativos de instalação que precisam implantar uma solução desenvolvida, de um fornecedor de software independente para um cliente final. O aplicativo de instalação pode verificar a existência de uma versão anterior e pode atualizar a estrutura, remover objetos que não são mais úteis e criar novos. Se não houver uma versão anterior, será possível criar tudo do zero.

O AMO pode ser poderoso ao criar novas partições com base em novos dados e pode remover partições antigas que foram além do escopo do projeto. Por exemplo, para uma solução de análise financeira que trabalha com os últimos 36 meses de dados, assim que um novo mês de dados for recebido, o 37o mês mais antigo poderia ser removido. Para otimizar desempenho, novas agregações podem ser criadas com base em utilização e aplicadas aos últimos 12 meses.

Processamento automático de objetos

O processamento de objetos e a disponibilidade atualizada podem ser obtidos usando AMO para responder a determinados eventos além dos dados de fluxo comuns e tarefas agendadas que usam o Integration Services.

Gerenciamento automático de segurança

O gerenciamento de segurança pode ser automatizado para incluir novos usuários em funções e permissões ou para remover outros usuários assim que seu tempo tenha expirado. Novas interfaces podem ser criadas para a simplificação do gerenciamento de segurança para administradores de segurança. Isso pode ser mais simples do que usar o Visual Studio.

Gerenciamento automático de backup

O gerenciamento automático de backup pode ser feito usando tarefas do Integration Services ou criando aplicativos AMO especializados que são executados automaticamente. Usando o AMO, você pode desenvolver interfaces de Backup para operadores e assim ajudá-los em suas tarefas diárias.

Tarefas AMO não se destinam à consulta de dados

O AMO não pode ser usado para consultar dados. Para consultar dados, incluindo cubos e modelos de mineração, use ADOMD.NET de um aplicativo de usuário. Para obter mais informações, consulte Desenvolvendo com ADOMD.NET.