Visão geral da arquitetura lógica (Analysis Services – Dados Multidimensionais)
No SQL Server 2008 R2, o Analysis Services pode ser operado em dois modos diferentes: o modo de instalação de servidor padrão, o qual dá suporte a OLAP e mineração de dados tradicionais, e o modo integrado do SharePoint, o qual usa uma instância especial do Analysis Services hospedada em um servidor do SharePoint para dar suporte a pastas de trabalho criadas pelo Microsoft PowerPivot para Excel 2010.
Este tópico explica a arquitetura básica do Analysis Services quando se opera no modo padrão. Para obter mais informações sobre o modo integrado do SharePoint, consulte Analysis Services em modo integrado do SharePoint (PowerPivot para SharePoint). Para obter mais informações sobre o cliente do PowerPivot, consulte PowerPivot para Excel.
Arquitetura básica
Uma instância do Analysis Services pode conter vários bancos de dados e um banco de dados pode ter, simultaneamente, objetos OLAP e objetos de mineração de dados. Aplicativos conectados a uma instância especificada do Analysis Services e a um banco de dados especificado. Um computador servidor pode servir de host de várias instâncias do Analysis Services. Instâncias do Analysis Services são nomeadas como "<Nome_do_servidor>\<Nome_da_instância>". A ilustração a seguir mostra todas as relações mencionadas entre objetos Analysis Services.
As classes básicas são o conjunto mínimo de objetos exigidos para criar um cubo. Esse conjunto mínimo de objetos é uma dimensão, um grupo de medidas e uma partição. Uma agregação é opcional.
As dimensões são criadas a partir de atributos e hierarquias. As hierarquias são formadas por um conjunto ordenado de atributos, sendo que cada atributo do conjunto corresponde a um nível na hierarquia.
Os cubos são criados a partir de dimensões e grupos de medidas. As dimensões na coleta de dimensões de um cubo pertencem à coleta de dimensões do banco de dados. Os grupos de medidas são coletas de medidas que têm a mesma exibição de fonte de dados e têm o mesmo subconjunto de dimensões do cubo. Um grupo de medidas tem uma ou mais partições para gerenciar os dados físicos. Um grupo de medidas pode ter um projeto de agregação padrão. O projeto de agregação padrão pode ser usado por todas as partições no grupo de medidas, além disso, cada partição pode ser seu próprio projeto de agregação.
Objetos de servidor
Cada instância do Analysis Services é vista como um objeto de servidor diferente em AMO; cada instância diferente está conectada a um objeto Server por uma conexão diferente. Cada objetos de servidor contém uma ou mais fonte de dados, exibição da fonte de dados e objetos de banco de dados, como assemblies e funções de segurança.Objetos de dimensão
Cada objeto de banco de dados contém vários objetos de dimensão. Cada objeto de dimensão contém um ou mais atributos que são organizados em hierarquias.Objetos de cubo
Cada objeto de banco de dados contém um ou mais objetos de cubo. Um cubo é definido por suas medidas e dimensões. As medidas e dimensões em um cubo são derivadas de tabelas e exibições na exibição de fonte de dados, na qual o cubo teve base ou para a qual foi gerado a partir das definições de medida e dimensão.
Herança de objetos
O modelo de objeto ASSL contém muitos grupos de elementos repetidos. Por exemplo, o grupo de elementos “Dimensions contêm Hierarchies” define a hierarquia das dimensões de um elemento. Tanto Cubes como MeasureGroups contêm o grupo de elementos “Dimensions contêm Hierarchies".
A menos que explicitamente substituído, um elemento herda os detalhes desses grupos de elementos repetidos do nível mais alto. Por exemplo, as Translations de uma CubeDimension são iguais às Translations de seu elemento ancestral, Cube.
Para substituir explicitamente as propriedades herdadas de um objeto de nível mais alto, um objeto não precisa repetir toda a estrutura e propriedades do objeto de nível mais alto. As únicas propriedades que um objeto precisa declarar explicitamente são aquelas que ele deseja substituir. Por exemplo, pode ser que uma CubeDimension liste apenas as Hierarchies que precisam ser desabilitadas no Cube, ou aquelas para as quais a visibilidade precisa ser alterada ou para as quais alguns detalhes do Level não foram fornecidos no nível da Dimension.
Algumas propriedades especificadas em um objeto fornecem valores padrão para a mesma propriedade em um objeto filho ou descendente. Por exemplo, Cube.StorageMode fornece o valor padrão para Partition.StorageMode. Para valores padrão herdados, o ASSL aplica as mesmas regras usadas no DSO 8.0 (Decision Support Objects). A lista a seguir descreve essas regras para valores padrão herdados:
Quando a propriedade do objeto filho for nula no XML, o valor da propriedade usará o valor herdado como padrão. No entanto, se você consultar o valor a partir do servidor, este retornará o valor nulo do elemento XML.
Não é possível determinar programaticamente se a propriedade ou objeto filho foi definida corretamente no objeto filho ou herdado.
Exemplo
O cubo Importações contém duas medidas, Pacotes e Último, e três dimensões relacionadas, Rota, Origem e Horário.
Os valores alfanuméricos menores ao redor do cubo são os membros das dimensões. Exemplos de membros são: terra (membro da dimensão Rota), África (membro da dimensão Origem) e 1º trimestre (membro da dimensão Horário).
Medidas
Os valores nas células do cubo representam as duas medidas, Pacotes e Último. A medida Pacotes representa o número de pacotes importados e a função Sum é usada para agregar os fatos. A medida Último representa a data de recebimento e a função Max é usada para agregar os fatos.
Dimensões
A dimensão Rota representa os meios pelos quais as importações alcançam seu destino. Os membros dessa dimensão incluem terra, não-terra, aérea, marítima, rodoviária ou ferroviária. A dimensão Origem representa os locais onde as importações são produzidas, como África ou Ásia. A dimensão Horário representa os trimestres e semestres de um mesmo ano.
Agregados
Os usuários empresariais de um cubo podem determinar o valor de qualquer medida de cada membro de qualquer dimensão, independentemente do nível do membro na dimensão, pois o Analysis Services agrega valores em níveis superiores, conforme necessário. Por exemplo, os valores de medida na ilustração anterior podem ser agregados de acordo com uma hierarquia de calendário padrão usando a hierarquia Tempo de Calendário na dimensão Horário, conforme ilustrado no diagrama a seguir.
Além de agregar medidas usando uma única dimensão, você pode agregar medidas usando combinações de membros de diferentes dimensões. Isso permite que os usuários empresariais avaliem, simultaneamente, as medidas em várias dimensões. Por exemplo, se um usuário empresarial quiser analisar trimestralmente as importações que são recebidas por via aérea dos hemisférios ocidental e oriental, ele poderá emitir uma consulta ao cubo para recuperar o conjunto de dados a seguir.
Pacotes |
Último |
|||||||
---|---|---|---|---|---|---|---|---|
Todas as origens |
Hemisfério oriental |
Hemisfério ocidental |
Todas as origens |
Hemisfério oriental |
Hemisfério ocidental |
|||
Todo o tempo |
25110 |
6547 |
18563 |
29-dez-99 |
22-dez-99 |
29-dez-99 |
||
1º semestre |
11173 |
2977 |
8196 |
28-jun-99 |
20-jun-99 |
28-jun-99 |
||
1º trimestre |
5108 |
1452 |
3656 |
30-mar-99 |
19-mar-99 |
30-mar-99 |
||
2º trimestre |
6065 |
1525 |
4540 |
28-jun-99 |
20-jun-99 |
28-jun-99 |
||
2º semestre |
13937 |
3570 |
10367 |
29-dez-99 |
22-dez-99 |
29-dez-99 |
||
3º trimestre |
6119 |
1444 |
4675 |
30-set-99 |
18-set-99 |
30-set-99 |
||
4º trimestre |
7818 |
2126 |
5692 |
29-dez-99 |
22-dez-99 |
29-dez-99 |
Depois que um cubo for definido, você pode criar novas agregações ou pode alterar as agregações existentes para definir opções como, por exemplo, se as agregações serão pré-calculadas durante o processamento ou calculadas durante a consulta. Tópico relacionado:Agregações e designs de agregação.
Mapeando medidas, atributos e hierarquias
As medidas, atributos e hierarquias no cubo de exemplo são derivados das seguintes colunas nas tabelas de fatos e dimensões do cubo.
Medida ou atributo (nível) |
Membros |
Tabela de origem |
Coluna de origem |
Valor da coluna de exemplo |
---|---|---|---|---|
Medida de pacotes |
Não aplicável |
ImportsFactTable |
Packages |
12 |
Última medida |
Não aplicável |
ImportsFactTable |
Last |
03-mai-99 |
Nível Categoria da Rota na dimensão Rota |
não-terra, terra |
RouteDimensionTable |
Route_Category |
Não-terra |
Atributo Rota na dimensão Rota |
aérea,marítima,rodoviária,ferroviária |
RouteDimensionTable |
Route |
Marítima |
Atributo Hemisfério na dimensão Origem |
Hemisfério oriental,Hemisfério ocidental |
SourceDimensionTable |
Hemisphere |
Hemisfério oriental |
Atributo Continente na dimensão Origem |
África,Ásia,Austrália,Europa,América do Norte, América do Sul |
SourceDimensionTable |
Continent |
Europa |
Atributo Semestre na dimensão Horário |
1º semestre,2º semestre |
TimeDimensionTable |
Half |
2º semestre |
Atributo Trimestre na dimensão Horário |
1º trimestre,2º trimestre,3º trimestre,4º trimestre |
TimeDimensionTable |
Quarter |
3º trimestre |
Dados em uma única célula de cubo são normalmente derivados de várias linhas de uma tabela de fatos. Por exemplo, a célula do cubo na interseção do membro aérea, do membro África e do membro 1º trimestre contém um valor derivado da agregação das linhas a seguir na tabela de fatos ImportsFactTable.
Import_ReceiptKey |
RouteKey |
SourceKey |
TimeKey |
Packages |
Last |
3516987 |
1 |
6 |
1 |
15 |
10-jan-99 |
3554790 |
1 |
6 |
1 |
40 |
19-jan-99 |
3572673 |
1 |
6 |
1 |
34 |
27-jan-99 |
3600974 |
1 |
6 |
1 |
45 |
02-fev-99 |
3645541 |
1 |
6 |
1 |
20 |
09-fev-99 |
3674906 |
1 |
6 |
1 |
36 |
17-fev-99 |
Na tabela anterior, cada linha tem os mesmos valores das colunas RouteKey, SourceKey e TimeKey, indicando que essas linhas contribuem para a mesma célula do cubo.
O exemplo mostrado aqui representa um cubo muito simples, que tem um único grupo de medidas e no qual todas as tabelas de dimensões são unidas à tabela de fatos em um esquema em estrela. Outro esquema comum é um esquema floco de neve no qual uma ou mais tabelas de dimensão unem-se a outra tabela de dimensão, em vez de unirem-se diretamente à tabela de fatos. Tópico relacionado:Dimensões (Analysis Services – Dados Multidimensionais).
O exemplo mostrado aqui contém uma única tabela de fatos. Quando um cubo tem várias tabelas de fatos, as medidas de cada tabela de fatos são organizadas em grupos de medidas e um grupo de medidas está relacionado à um conjunto específico de dimensões por relações de dimensões definidas. Essas relações são definidas pela especificação das tabelas participantes na exibição de fonte de dados e granularidade da relação. Tópico relacionado:Relações de dimensão.