Analysis Services Manual Básico
Construindo um Banco de Dados OLAP .......................................... 2
Criando a origem de dados ............................................................... 3
Definindo as dimensões ................................................................... 5
Níveis de dimensão e membros........................................................ 8
Construindo o cubo ......................................................................... 11
Tabela de fatos.................................................................................12
Definindo as medidas ......................................................................13
Adicionando dimensões ao cubo .....................................................15
Armazenamento otimizado de um BD OLAP .................................. 17
Análise de uso..................................................................................21
Partições ..........................................................................................21
Processando o cubo ........................................................................ 22
Elaborado por:
Royquener Reuter
Dez-2002
www.inf.ufsc.br/~reuter
Construindo um Banco de Dados OLAP
O primeiro passo ao uti lizar o Analysis Manager é criar seu banco de
dados OLAP. Para cr iá-lo , destaque o ícone do servidor, cl ique com o
botão direito do mouse para exibir um menu de atalho. Escolha New
Database no menu de atalho e, na caixa de diálogo exibida, insira o nome
de seu banco de dados, c licando Ok , em seguida.
Caixa de diálogo New Database
Quando retornar ao Server Manager, você verá seu recém-cr iado banco de
dados.
Criando a origem de dados
Qualquer banco de dados OLAP criado no Analysis Services deve ter uma
origem de dados que fornece os dados para preencher as dimensões e
medidas dos cubos.
A origem de dados para seu banco de dados OLAP pode ser prat icamente
qualquer armazenamento de dados relac ional que possa expor os dados
via um provedor OLE DB (modelo de objeto de acesso a dados universal
da Microsoft) .
Para criar uma origem de dados para o banco de dados OLAP, expanda o
banco de dados no Analysis Server Manager. Destaque a pasta
DataSource . Clique com o botão direito do mouse para exibir um menu de
atalho. Escolha New Data Source no menu de atalho.
Caixa de diálogo Data Link Properties
Esta caixa fornece uma l ista de provedores OLE DB disponíveis . O
provedor OLE DB deve ser instalado e registrado no servidor para
estar disponível nessa lista .
Após escolher o provedor OLE DB que você quer util izar , clique Next .
Você então recebe um prompt pedindo informações de conexão. (A
Microsoft incorporou intel igência nessa caixa de diálogo para alterar
informações requeridas de conexão com base no provedor OLE DB que
você escolhe. Isso é feito porque cada provedor de OLE DB talvez requeira
parâmetros únicos de conexão a f im de estabelecer uma conexão com a
origem de dados).
No nosso caso util izaremos o Data Link Microsoft OLE DB Provider
for SQL Server .
Definindo as dimensões
Após a cr iação do banco de dados OLAP, o próximo passo é def inir suas
dimensões compartilhadas. Uma dimensão compartilhada é uma dimensão
que está disponível para qualquer cubo no banco de dados OLAP.
Lembre-se : as dimensões são categorias através das quais você
quer analisar e sintetizar (resumir) seus dados .
Exemplos de possíveis dimensões seriam : local ização de armazenamento,
idade de c liente, sexo de cliente, produto e tempo.
Para criar uma nova dimensão compart ilhada, expanda o banco de dados
e, em seguida, expanda a pasta Library . Destaque a pasta the Shared
Dimensions . Clique com o botão direito do mouse para exibir um menu de
atalho. Escolha New Dimension no menu de atalho. Clique em Next na
tela de introdução e você verá a caixa de diálogo Dimension Wizard.
Dimension Wizard
O ass istente sol icitará o t ipo de dimensão que você quer cr iar. O t ipo de
dimensão será baseado nas tabelas subjacentes de dados originais para
sua dimensão.
O esquema Star uti liza poucas e grandes tabelas de fatos central izadas e
muitas tabelas de pequena dimensão.
O esquema Snowflake troca desempenho pela complicação adic ional de
manutenção dos metadados de warehouse e transformações requeridas
pelos s istemas de origem
Depois que escolheu o t ipo de dimensão que deseja criar , o próximo passo
na criação da dimensão é escolher uma tabela de dimensão. A tabela de
dimensão é a que fornece os dados originais para sua dimensão. Em
outras palavras, essa tabela fornece os dados sobre a categoria para a
qual sua dimensão está sendo cr iada.
Para selec ionar uma tabela de dimensão, clique em Next na caixa de
diálogo Dimension Wizard .
Caixa de diálogo Select Dimension Table
Caixa de diálogo Create and Edit Joins
Expanda a origem de dados desejada para exibir uma lista de tabelas
disponíveis. Lembre-se de que o banco de dados OLAP pode ter diversas
origens de dados. (Você pode até criar uma nova origem de dados a partir
do Dimension Wizard cl icando no botão New Data Source). Você também
pode navegar pelos dados que estão contidos na tabela de dimensão
selecionada. Escolha a tabela apropriada para a dimensão que você quer
criar.
NOTA: Se a tabela de dimensão selec ionada cont iver um campo de data ,
o Dimension Wizard pergunta se você quer criar uma dimensão padrão ou
uma dimensão de tempo. O Analysis Services pode cr iar automaticamente
dimensões de tempo para você com base nas colunas de data util izando as
partes numéricas da data. Uma dimensão de tempo pode ser anual ,
trimestral, semanal , diár ia e ass im por diante.
Níveis de dimensão e membros
Após selec ionar uma tabela de dimensão, o próximo passo no processo é
definir os níveis e membros dentro da dimensão.
Caixa de diálogo Dimension Wizard Select Levels
Dimension Wizard Select Levels é onde você def ine os níveis que
compõem a hierarquia ou caminho de resumo dos dados de dimensão. O
Dimension Wizard permite criar níveis dentro da dimensão. Para criar
níveis dentro de uma dimensão, escolha as colunas da tabela de dimensão
que correspondam aos níveis que você quer criar e clique no botão >.
Você pode uti lizar os botões Move Up e Move Down para organizar seus
níveis.
Considere, por exemplo, a dimensão de local ização de c liente. Essa
dimensão é composta de informações geográficas sobre a local ização de
cada cliente. Há uma hierarquia natural dentro dessa dimensão : country,
state, c ity (país , estado, cidade). Cada ponto ao longo da hierarquia
representa um nível. Os níveis devem ser organizados dos dados mais
resumidos aos menos resumidos. É possível que uma dimensão tenha
somente um nível. Isso não é um problema contanto que esse nível seja o
único nível de sumarização que é necessár io para sua análise de dados.
ATENÇÃO : Cuidado ao configurar os níveis . Como mencionado
anteriormente, os níveis devem ser organizados dentro de uma dimensão
de dados mais resumidos para os dados menos resumidos. Isso implica
que cada nível pai contenha menos membros que o nível abaixo dele. Isso
mantém um relacionamento essencial de um para muitos entre a
hierarquia de dados que assegura um drill-down (anál ise) e um roll-up
(síntese) precisos .
Em outras palavras, você não faria muito sentido ter o nível Cidade
acima do nível Estado em uma hierarquia de dimensão.
Dentro de cada nível estão os membros, que representam os valores dos
dados reais dentro das dimensões e os níveis representam a hierarquia.
Por exemplo, o nível País dentro da dimensão da localização de cliente
talvez consista nos membros : EUA, Canadá e México. Da mesma forma, o
nível Estado ta lvez consista nos membros : Washington, Califórnia e
Oregon.
Depois que você def iniu os níveis e membros, clique em Next nas duas
próximas telas de ass istente. Essas telas fornecem algumas opções
avançadas para criar suas dimensões . As opções padrão são suf icientes
para essa construção inicial. Agora você terminou o Dimension Wizard e
poderá fornecer um nome para sua dimensão e visualizar os dados de
dimensão na hierarquia que def iniu.
Caixa de diálogo Dimension Wizard Finish
Clique em Finish e você será levado de volta para o OLAP Manager . Você
precisará repet ir os passos anteriores para cada dimensão que criar.
Deve, também, certificar-se de def inir todas as dimensões desejadas antes
de começar a criar os cubos. As dimensões fornecem a definição para a
maneira como usuários serão capazes de analisar os dados que serão
armazenados no banco de dados mult idimensional. Na criação de suas
dimensões , você deve considerar cuidadosamente todas as maneiras como
seus usuários talvez queiram analisar os dados.
Construindo o cubo
Depois que definiu suas dimensões ou as categorias através das quais
você quer anal isar e sintetizar os dados, o próximo passo é construir os
cubos. O cubo é o bloco de construção básica do banco de dados OLAP
Multidimensional . O cubo associa as dimensões que você def iniu com os
dados quant itat ivos que você quer anal isar, como números de vendas ou
custos. Para criar um cubo, expanda o banco de dados e destaque a pasta
Cubes . Clique com o botão direito do mouse para exibir um menu de
atalho. Escolha New Cube do menu de atalho. Você pode escolher ut il izar
o assistente ou ir direto para o editor. Vamos ut il izar o ass istente
novamente. Cl ique em Next na tela de introdução e você verá a caixa de
diálogo abaixo :
Caixa de diálogo Cube Wizard Select Fact Table.
Tabela de fatos
O cubo em um banco de dados mult idimensional serve para associar
dimensões com dados quant itat ivos. A tabela de fatos é a tabela dentro
do armazenamento de dados relac ional que contém os dados quant itativos
reais que você quer analisar. Tabelas de fato típicas dentro de bancos de
dados multidimensionais OLAP são : vendas, orçamentos e custos . Note
que esta caixa de diálogo parece idênt ica à caixa de diálogo Dimension
Wizard. Simplesmente expanda a or igem de dados (data source) desejada
para ver uma l ista de tabelas disponíveis e escolha a tabela de fatos
desejada.
Em geral, a tabela de fatos é uma tabela que contém registros detalhados
orientados à transação, como registros de vendas.
NOTA : Cada cubo deve ser baseado em somente uma tabela de fatos .
Se mais de uma tabela contiver os dados que você que anal isar, deve-se
criar um cubo separado para cada uma delas.
Na caixa de diálogo Cube Wizard Select Fact Table, c lique em Next para
definir que dados dentro da tabela de fatos você quer anal isar. Esses
dados são conhecidos como as medidas do cubo.
Caixa de diálogo Cube Wizard Define Measures
Definindo as medidas
As medidas representam as colunas provenientes da tabela de fatos que
contém os dados numéricos que você quer anal isar .
A caixa de diálogo Cube Wizard Define Measures, funciona da mesma
maneira que a caixa de diálogo Dimension Wizard Select Levels.
Simplesmente escolha as colunas que você quer analisar e cl ique no botão
>. Ao contrário da def inição de níveis de dimensão, não há ordem
configurada ou hierarquia para as medidas. Você pode adic ionar ao cubo
quantas medidas você quiser , contanto que essas colunas estejam
presentes na tabela de fatos.
CUIDADO: O Cube Wizard mostra automaticamente todas as colunas
numéricas que estão disponíveis na tabela de fatos que você escolheu.
Embora um ID (número ident ificador) de armazenamento ou número do
cliente possam ser valores numéricos , provavelmente não são medidas
quantitativas nas quais você queira incluir um cubo.
Na Caixa de diálogo mostrada na f igura abaixo, c lique em Next para
definir as dimensões que você quer incluir ao seu cubo.
Adicionando dimensões ao cubo
As dimensões fornecem as categorias que são util izadas para anal isar as
medidas do cubo. Util izando o ass istente, você pode incluir qualquer
dimensão def inida anteriormente como dimensões compartilhadas.
NOTA: O Cube Wizard permite incluir somente essas dimensões que
foram anteriormente definidas como dimensões compartilhadas. Mas,
depois que terminou de ut il izar o assistente (Wizard), você é
automaticamente levado para o Cube Editor, onde poderá adicionar
dimensões compart ilhadas adicionais ou criar dimensões privadas que
estão só disponíveis para o cubo que você está criando.
Depois que você definiu as dimensões do cubo e clicou em Next , você
terminou o Cube Wizard.
Caixa de diálogo Cube Wizard Finish
Essa caixa de diálogo permite fornecer um nome para seu cubo e mostra
uma representação gráfica das dimensões e medidas que você def iniu.
Clique em Finish para cr iar a def inição de cubo.
Você pode repet ir os passos anteriores para criar quantos cubos quiser no
banco de dados OLAP. Cada cubo pode ter seu próprio conjunto de
dimensões e medidas.
Lembre-se : um cubo só pode estar baseado em uma tabela de fatos ,
assim você precisa de um cubo separado para cada tabela de fatos
individual que quiser anal isar .
Até aqui vimos como criar dimensões que são uti lizadas para categorizar e
resumir os dados. Vimos como criar o cubo, que def ine os
relacionamentos entre os dados quant itativos que se quer anal isar e as
dimensões através das quais vai-se anal isar esses dados.
Armazenamento otimizado de um BD OLAP
O método de armazenamento MOLAP envolve armazenar todos os dados
detalhados de cubo dentro de um armazenamento de dados
multidimensional “proprietário”. Isto significa que o armazenamento de
dados relacional dentro das tabelas de dimensão e tabelas de fatos da
origem de dados relac ionais subjacentes é gravado em um armazenamento
multidimensional otimizado.
Antes de ut il izar o banco de dados OLAP é necessár io processar os cubos
que estão cont idos dentro do banco de dados. Em termos simples ,
processar o cubo preenche a def inição do cubo com dados transacionais
reais a partir do data warehouse ou data mart. Entretanto, antes de
realmente preencher o cubo, você precisa estabelecer certas definições de
otimização para seu cubo. O Analysis Services fornece dois mecanismos
primários para otimizar os cubos dentro do banco de dados OLAP :
Agregações e Partições .
Para criar agregações destaque o cubo dentro da pasta Cubes na
visualização da árvore. Cl ique com o botão direito do mouse para exibir o
menu atalho. A opção Design Storage carregará o Storage Design Wizard.
Este assistente ajuda a fazer duas coisas : escolher um modo de
armazenamento para seu cubo e dados de agregação e projetar um
conjunto de agregações para seu cubo.
Caixas de diálogo Design Storage
Escolha o modo de armazenamento MOLAP para desempenho máximo de
seu cubo. Clique em Next para projetar as agregações para seu cubo.
A caixa de diálogo Storage Design Wizard Design Aggregations
permite projetar as agregações para seu cubo. O que você realmente faz
aqui é informar ao Analysis Services quantas agregações potenciais devem
ser criadas para seu cubo. O Analysis Services ut il iza algoritmos
sofisticados para determinar quais agregações criar . O único controle real
que você tem sobre o processo é especificar a compensação entre espaço
em disco e desempenho. Na caixa de diálogo clique em Start e você
notará que o gráf ico (do lado direito da caixa de diálogo) exibe
dinamicamente o espaço em disco versus ganho de desempenho enquanto
as agregações são projetadas. Depois que o Analys is Services criou as
agregações para sat isfazer a condição especif icada, clique em Next para
exibir a caixa de diálogo Storage Design Wizard Finish . Nesta caixa duas
opções estão disponíveis :
∀ Process now – marcar essa opção faz com que o Analys is
Services processe todas as agregações quando você clicar em
Finish. Por isso, queremos dizer que o Analysis Services realiza
todos os cálculos de dados e armazena os dados no modo
especificado de armazenamento de dados com o cubo.
∀ Save, but don´t process now - marcar essa opção permite
salvar o projeto de agregação sem realmente calcular ou armazenar
os dados. Lembre-se de que você deve processar essas agregações
antes de os dados estarem disponíveis para o usuário .
Preferencialmente, escolha a opção Process now e clique Finish. O
Analysis Services exibe uma janela detalhada de status de todo o
processamento. Esse status mostra qualquer operação de banco de dados
que estiver sendo real izada e indica o sucesso ou a falha dessas
operações.
Storage Design Wizard Process Status .
NOTA: Uma boa recomendação é sempre configurar o primeiro nível de
agregação ut ilizando uma melhora de desempenho de 20% e então
executar o Usage-Based Optimizat ion Wizard depois que o cubo passou
por teste de aceitação de usuário durante aproximadamente uma semana.
Certifique-se de manter sua comunidade de usuários informada de seus
planos. Eles devem estar cientes de que o desempenho experimentado
durante a primeira semana não será indicativo do desempenho f inal no
nível de produção.
Análise de uso
Outra ferramenta que será extremamente valiosa para qualquer DBA
incumbido de manter um banco de dados OLAP é o Usage Analysis
Wizard. Esse assistente permite ao DBA imprimir vários gráficos que dão
alguma indicação de como os cubos dentro de um banco de dados OLAP
estão sendo ut il izados pelos aplicativos de clientes .
Para carregar o Usage Analysis Wizard, destaque seu cubo no Analysis
Manager , cl ique com o botão direito do mouse para exibir o menu atalho e
escolha Usage Analysis para exibir a caixa de diálogo.
Partições
As partições representam o armazenamento físico de dados do cubo e
dados de agregação. O cubo é a def inição lógica dos dados. Quando você
cria um cubo em um banco de dados OLAP, o Analysis Services
automaticamente cria uma part ição, que pode ser alterada em novas
partições . Essas part ições são util izadas para segmentar fis icamente os
dados de sua def inição lógica de cubo. A potência verdadeira de part ições
é que cada part ição pode ter seu próprio modo de armazenamento e seu
próprio conjunto único de agregações.
NOTA: Criar partições def inidas pelo usuário (aquelas que não são
criadas automaticamente pelo Analysis Services) requer o Enterprise
Edit ion do Analysis Services. Se você estiver executando a edição padrão,
esse recurso não é suportado.
Processando o cubo
Obviamente, o negócio or ientado a transação não pára, uma vez que um
cubo foi cr iado. Até agora discutimos os cubos como se eles fossem
visualizações de instantâneos apenas para leitura de dados transacionais .
Embora seja verdadeiro que bancos de dados OLAP sejam uti lizados para
realizar anál ise em dados transacionais históricos, esses cubos precisam
ser atual izados à medida que as transacionais de dados subjacentes se
alteram.
Para que um cubo seja preenchido com dados reais , e le deve ser
processado. Da mesma forma, para atualizar dados em um cubo, eles
devem ser processados. Para atual izar seus dados de cubo, destaque o
cubo em OLAP Manager, cl ique com o botão direito do mouse para exibir
um menu de atalho, escolha Process para exibir a caixa de diálogo com as
seguintes opções :
∀ Incremental Update (Atualização Incremental) : escolha
essa opção para adic ionar somente dados alterados ao cubo. Os
dados existentes de cubo são deixados intactos e as agregações são
recalculadas enquanto os usuários ainda estão conectados ao banco
de dados. Quando a atual ização estiver concluída, os usuários têm
acesso aos novos dados.
∀ Refresh Data : Escolha essa opção para limpar todos os dados
no cubo e preenche-los novamente. Quando você escolhe essa
opção, todas as agregações são recalculadas e os dados são
armazenados no cubo com base na def inição original do cubo.
∀ Process : Escolha essa opção somente se a estrutura de seu cubo
foi alterada; por exemplo, se você adicionou ou removeu uma
dimensão ou medida do cubo. Essa opção reconstrói completamente
o cubo com base nas definições atuais de cubo. Esse processo é
exatamente o mesmo processo que você executou logo que cr iou o
cubo.
O Analysis Services permite conceder acesso de usuário aos cubos logo
que os dados do cubo são preenchidos e antes de as agregações serem
calculadas . Esse recurso minimiza o tempo que os cubos ficam
indisponíveis para seus usuários.
Para modificar este comportamento, na Caixa de Diálogo Process a Cube ,
clique no botão Settings e na seguinte, Caixa de Diálogo Cube
Processing Settings , escolha a opção Immediately After Data Is Loaded .
Isto permitirá aos usuários acessar dados de cubo antes que as agregações
sejam criadas . Esteja ciente, entretanto, que o desempenho da consulta
será significat ivamente pior até todas as agregações serem cr iadas.
--------------