Conceitos e modelo de objeto AMO
Este tópico oferece uma definição do AMO (Objetos de Gerenciamento de Análise), como ele se relaciona com outras ferramentas e bibliotecas da arquitetura do Microsoft SQL Server Analysis Services e uma explicação conceitual de todos os seus principais objetos.
O AMO é uma coleção completa de classes de gerenciamento para o Analysis Services que pode ser usada programaticamente, sob o espaço para nome Microsoft.AnalysisServices, em um ambiente gerenciado. As classes estão incluídas no arquivo AnalysisServices.dll, normalmente encontrado no local onde os arquivos do SQL Server são instalados, na pasta \100\SDK\Assemblies\. Para usar as classes AMO, inclua uma referência a esse assembly em seus projetos.
Usando o AMO, você poderá criar, modificar e excluir objetos como cubos, dimensões, estruturadas de mineração e bancos de dados Analysis Services; é possível executar ações em todos esses objetos a partir do seu aplicativo no .NET Framework. Você também pode processar e atualizar as informações armazenadas em bancos de dados do Analysis Services.
Com o AMO, não é possível consultar os seus dados. Para fazer isso, use o Desenvolvendo com ADOMD.NET.
Este tópico contém as seguintes seções:
O AMO na arquitetura do Analysis Services
A arquitetura do AMO
Usando AMO
Automatizando tarefas administrativas com AMO
O 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 do Analysis Services a partir de um aplicativo cliente, deverá usar o Desenvolvendo com ADOMD.NET.
A arquitetura do AMO
O AMO é uma biblioteca de classes completa criada para gerenciar uma instância do Analysis Services a partir de um aplicativo cliente em código gerenciado sob o .NET Framework versão 2.0.
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 a um Server e pode ser criado ao mesmo tempo do que um DataSource e de um MiningStructure. Certas classes pares devem ser instanciadas antes que outras possam ser usadas. Por exemplo, você precisa criar uma instância de DataSource antes de adicionar um novo Dimension ou um MiningStructure.
Um objeto principal é uma classe que representa um objeto completo como uma entidade completa e não como uma parte de outro objeto. Os objetos principais incluem Server, Cube, Dimension e MiningStructure, uma vez que essas são entidades autônomas. No entanto, um Level não é um objeto principal, porque faz parte 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 objetos principais contidos por um Server.
Na programação com AMO, a associação entre classes e classes contidas usa atributos de tipo de coleção, como 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
O AMO é uma biblioteca de classes criada para gerenciar uma instância do Analysis Services a partir 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 necessárias para que seja possível trabalhar com outros conjuntos de classes. |
|
Classes que permitem a você gerenciar os objetos OLAP no Analysis Services. |
|
Classes que permitem a você gerenciar os objetos de mineração de dados no Analysis Services. |
|
Classes que permitem a você controlar o acesso a outros objetos e a manter a segurança. |
|
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 Analysis Services podem usar o AMO para automatizar o processamento de bancos de dados do Analysis Services. Por criar e implantar bancos de dados do Analysis Services, use o SSDT (Ferramentas de dados do SQL Server).
Desenvolvedores
Os desenvolvedores podem usar AMO para desenvolver interfaces administrativas para conjuntos especificados de usuários. Essas interfaces podem restringir acesso a objetos do Analysis Services e podem limitar os usuários a certas tarefas. Por exemplo, usando o AMO, é possível criar um aplicativo Backup para permitir que um usuário veja todos os objetos de banco de dados, selecione qualquer um dos bancos de dados e faça backup em qualquer conjunto de dispositivos especificado.
Os desenvolvedores também podem inserir a lógica do Analysis Services 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 será melhor criada, implantada e mantida se for desenvolvida usando o Integration Services em vez de ser desenvolvida como um aplicativo em qualquer linguagem de sua escolha. No entanto, para as tarefas repetitivas que não puderem ser automatizadas com o Integration Services, é possível usar o AMO. O AMO também será útil para quando você quiser desenvolver um aplicativo especializado para business intelligence usando o Analysis Services.
Gerenciamento automático de objetos
Com o AMO, é muito fácil criar, atualizar ou excluir objetos do Analysis Services (por exemplo, Database, Dimension, Cube, MiningStructure de mineração e MiningModel ou Role) com base na entrada de usuário ou em dados novos obtidos. 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 para a criação de novas partições baseadas em dados novos e pode remover partições antigas que tenham ido 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 ao fazermos com que o AMO responda a certos eventos além do fluxo de dados comum e das tarefas agendadas que utilizam 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 SSDT (Ferramentas de dados do SQL Server).
Gerenciamento automático de backup
O gerenciamento automático de backup pode ser feito por meio de tarefas do Integration Services ou pela criação de aplicativos AMO especializados com execução automática. Usando o AMO, você pode desenvolver interfaces de Backup para operadores e assim ajudá-los em suas tarefas diárias.
Tarefas para as quais o AMO não foi planejado
O AMO não pode ser usado para consultar dados. Para consultar dados do Analysis Services, incluindo cubos e modelos de mineração, use o ADOMD.NET a partir de um aplicativo do usuário. Para obter mais informações, consulte Desenvolvendo com ADOMD.NET.