Armazenamento de Dados

A interseção de um membro de uma dimensão do Essbase com um membro de cada uma das outras dimensões é um valor de dados. A divisão do banco de dados de diferentes maneiras oferece perspectivas dos dados com base nos relacionamentos dos membros. Para armazenar e acessar dados, o Essbase usa blocos e um índice.

Observação:

Essas informações se aplicam apenas a cubos de armazenamento em blocos (BSO) e não a cubos de armazenamento agregado (ASO).

Cada valor de dados em um banco de dados do Essbase é armazenado em uma célula. Um valor de dados específico é referenciado especificando suas coordenadas ao longo de cada dimensão padrão.

Observação:

O Essbase não armazena dados para dimensões de atributo. O Essbase calcula dinamicamente os dados da dimensão do atributo quando um usuário recupera os dados.

Considere o banco de dados simplificado mostrado na Figura 2-13. Este banco de dados tem três dimensões: Contas, Tempo e Cenário:

  • A dimensão Contas tem quatro membros: Vendas, COGS, Margem e Margem%.

  • A dimensão Tempo tem quatro membros trimestrais e Trim1 tem três membros mensais

  • A dimensão Cenário tem dois membros filhos: Orçamento para valores de orçamento e Real para valores reais.

Figura 2-13 Esquema de Tópicos de um Banco de Dados Multidimensional


Esta imagem mostra um contorno com três dimensões, conforme descrito no texto que precede a imagem.

Valores de Dados

A interseção de um membro de uma dimensão do Essbase com um membro de cada uma das outras dimensões representa um valor de dados. Um valor de dados é a menor fatia de dados.

O exemplo abaixo tem três dimensões (Contas, Tempo e Cenário); portanto, as dimensões e os valores de dados no banco de dados podem ser representados como um cubo.

Figura 2-14 Banco de Dados Tridimensional


Esta imagem ilustra um banco de dados tridimensional como um cubo, conforme descrito no texto que precede a imagem.

Ao especificar Vendas, você está especificando a fatia do banco de dados que contém oito valores de Vendas, em que Vendas fazem intersecção com Real e Orçamento.

Figura 2-15 Fatia de Vendas do Banco de Dados


Esta imagem ilustra um segmento de dados no cubo, conforme descrito no texto que precede a imagem.

Cortar um banco de dados equivale a fixar uma ou mais dimensões em um valor constante, permitindo que as outras dimensões variem.

Ao especificar Vendas Reais, você está especificando a fatia do banco de dados que contém quatro valores de Vendas, em que Vendas e Reais se cruzam.

Figura 2-16 Real, Fatia de Vendas do Banco de Dados


Esta imagem ilustra um segmento de dados no cubo, conforme descrito no texto que precede a imagem.

Um valor de dados é armazenado em uma célula do banco de dados. Para se referir a um valor de dados específico em um banco de dados multidimensional, especifique seu membro em cada dimensão. Por exemplo, o intervalo Vendas, Jan, Real consiste em um valor de dados. O valor dos dados também pode ser expresso usando o operador multidimensional (->), como Vendas -> Real -> Jan.

Figura 2-17 Vendas->Jan->Valor de Dados Reais


Esta imagem ilustra um valor de dados no cubo, conforme descrito no texto que precede a imagem.

Blocos de Dados e o Sistema de Índice

O Essbase usa dois tipos de estruturas internas para armazenar e acessar dados: blocos de dados e o sistema de índice.

O Essbase cria um bloco de dados para cada combinação exclusiva de membros de dimensão padrão esparsos (desde que exista pelo menos um valor de dados para a combinação de membros de dimensão esparsos). O bloco de dados representa todos os membros da dimensão densa para sua combinação de membros da dimensão esparsa.

O Essbase cria uma entrada de índice para cada bloco de dados. O índice representa as combinações de membros de dimensão padrão esparsos. Ela contém uma entrada para cada combinação exclusiva de membros de dimensão padrão esparsos para os quais existe pelo menos um valor de dados.

Por exemplo, no outline do banco de dados Sample.Basic mostrado na Figura 2-18, Produto e Mercado são dimensões esparsas.

Figura 2-18 Dimensões de Produto e Mercado do Sample.Basic Database


Esta imagem mostra um esboço das dimensões Produto e Mercado.

Se houver dados para o Caffeine Free Cola em Nova York, o Essbase criará um bloco de dados e uma entrada de índice para a combinação de membros esparsos de Caffeine Free Cola (100-30) -> Nova York. Se o Caffeine Free Cola não for vendido na Flórida, o Essbase não criará um bloco de dados ou uma entrada de índice para a combinação de membros esparsos: Caffeine Free Cola (100-30) -> Flórida.

O bloco de dados Caffeine Free Cola (100-30) -> New York representa todas as dimensões Ano, Medidas e Cenário para Caffeine Free Cola (100-30) -> New York.

Cada valor de dados exclusivo pode ser considerado existente em uma célula de um bloco de dados. Quando o Essbase procura um valor de dados, ele usa o índice para localizar o bloco de dados apropriado. Em seguida, dentro do bloco de dados, ele localiza a célula que contém o valor de dados. A entrada de índice fornece um ponteiro para o bloco de dados. O índice lida com dados esparsos de forma eficiente porque inclui apenas ponteiros para blocos de dados existentes.

A Figura 2-19 mostra parte de um bloco de dados para o banco de dados Sample.Basic. Cada dimensão do bloco representa uma dimensão densa no banco de dados Sample.Basic: Tempo, Medidas e Cenário. Existe um bloco de dados para cada combinação exclusiva de membros das dimensões esparsas de Produto e Mercado (desde que exista pelo menos um valor de dados para a combinação).

Figura 2-19 Parte de um Bloco de Dados para o Banco de Dados Sample.Basic


Esta imagem ilustra um bloco de dados parcial com três dimensões densas, conforme descrito no texto que precede a imagem.

Cada bloco de dados é um array multidimensional que contém um local fixo e ordenado para cada possível combinação de membros de dimensão densa. Acessar uma célula no bloco não envolve pesquisas sequenciais ou de índice. A pesquisa é quase instantânea, resultando em velocidade ideal de recuperação e cálculo.

O Essbase ordena as células em um bloco de dados de acordo com a ordem dos membros nas dimensões densas do outline do banco de dados.

A (Dense)
   a1
   a2
B (Dense)
   b1
       b11
       b12
   b2
       b21
       b22
C (Dense)
   c1
   c2
   c3
D (Sparse)
   d1
   d2
       d21
       d22
E (Sparse)
   e1
   e2
   e3

O bloco na Figura 2-20 representa as três dimensões densas de dentro da combinação dos membros esparsos d22 e e3, do outline de banco de dados anterior. No Essbase, as combinações de membros são indicadas pelo operador multidimensional. O símbolo para o operador interdimensional é ->, então d22 -> e3 denota o bloco para d22 e e3. A interseção de A, b21 e c3 é escrita como A -> b21 -> c3.

Figura 2-20 Bloco de Dados Representando Dimensões Densas para d22 -> e3


Esta imagem ilustra um bloco de dados que representa dimensões densas, conforme descrito no texto que precede a imagem.

O Essbase cria um bloco de dados para cada combinação exclusiva dos membros das dimensões esparsas D e E (desde que haja pelo menos um valor de dados para a combinação).

Os blocos de dados, como o da Figura 2-20, podem incluir células que não contêm valores de dados. Um bloco de dados será criado se houver pelo menos um valor de dados no bloco. O Essbase compacta blocos de dados com valores ausentes no disco, expandindo cada bloco totalmente à medida que ele traz o bloco para a memória. A compactação de dados é opcional, mas é ativada por padrão.

Ao selecionar cuidadosamente as dimensões padrão densas e esparsas, você pode garantir que os blocos de dados não contenham muitas células vazias, minimizando os requisitos de armazenamento em disco e melhorando o desempenho. No Essbase, as células vazias são conhecidas como dados #MISSING.

Fatias: Várias Views de Dados

Um banco de dados do Essbase suporta várias exibições de conjuntos de dados para usuários que precisam analisar os relacionamentos entre categorias de dados. A divisão do banco de dados de diferentes maneiras oferece diferentes perspectivas dos dados.

Por exemplo, na Figura 2-21, o intervalo de Jan examina todos os valores de dados para os quais a dimensão Ano é corrigida em Jan.

Figura 2-21 Dados de janeiro


Esta imagem ilustra um intervalo de dados para o mês de janeiro.

O segmento na Figura 2-22 mostra dados para o mês de Fev:

Figura 2-22 Dados de fevereiro


Esta imagem ilustra um intervalo de dados para o mês de fevereiro.

A fatia na Figura 2-23 mostra dados para margem de lucro:

Figura 2-23 Dados para Margem de Lucro


Esta imagem ilustra uma fatia de dados para margem de lucro.