Compartilhar via


Modos de armazenamento e processamento de partições

O modo de armazenamento de uma partição afeta o desempenho de consulta e processamento, os requisitos de armazenamento e os locais de armazenamento da partição e seu grupo de medidas pai e cubo. A escolha do modo de armazenamento também afeta as opções de processamento.

Uma partição pode usar um dos três modos de armazenamento básicos:

  • OLAP multidimensional (MOLAP)

  • OLAP relacional (ROLAP)

  • OLAP híbrido (HOLAP)

O Microsoft SQL Server Analysis Services dá suporte a todos os três modos de armazenamento básicos. Ele também dá suporte ao cache proativo, que permite combinar as características do armazenamento ROLAP e MOLAP para imediatismo de dados e desempenho de consulta. Para obter mais informações, consulte Cache Proativo (Partições).

MOLAP

O modo de armazenamento MOLAP faz com que as agregações da partição e uma cópia de seus dados de origem sejam armazenadas em uma estrutura multidimensional no Analysis Services quando a partição é processada. Essa estrutura MOLAP é altamente otimizada para maximizar o desempenho da consulta. O local de armazenamento pode estar no computador em que a partição está definida ou em outro computador executando o Analysis Services. Como uma cópia dos dados de origem reside na estrutura multidimensional, as consultas podem ser resolvidas sem acessar os dados de origem da partição. Os tempos de resposta de consulta podem ser reduzidos substancialmente usando agregações. Os dados na estrutura MOLAP da partição são tão atuais quanto o processamento mais recente da partição.

Conforme os dados de origem são alterados, os objetos no armazenamento MOLAP devem ser processados periodicamente para incorporar essas alterações e disponibilizá-las aos usuários. O processamento atualiza os dados na estrutura MOLAP, de forma completa ou incremental. O tempo entre um processamento e o próximo cria um período de latência durante o qual os dados em objetos OLAP podem não corresponder aos dados de origem. Você pode atualizar objetos de forma incremental ou completa no armazenamento MOLAP sem colocar a partição ou o cubo offline. No entanto, há situações que podem exigir que você tire um cubo offline para processar determinadas alterações estruturais em objetos OLAP. Você pode minimizar o tempo de inatividade necessário para atualizar o armazenamento MOLAP atualizando e processando cubos em um servidor de preparo e usando a sincronização de banco de dados para copiar os objetos processados para o servidor de produção. Você também pode usar o cache proativo para minimizar a latência e maximizar a disponibilidade, mantendo grande parte da vantagem de desempenho do armazenamento MOLAP. Para obter mais informações, consulte Cache Proativo (Partições),Sincronizar Bancos de Dados do Analysis Services e Processamento de Objeto de Modelo Multidimensional.

ROLAP

O modo de armazenamento ROLAP faz com que as agregações da partição sejam armazenadas em exibições indexadas no banco de dados relacional especificado na fonte de dados da partição. Ao contrário do modo de armazenamento MOLAP, ROLAP não faz com que uma cópia dos dados de origem seja armazenada nas pastas de dados do Analysis Services. Em vez disso, quando os resultados não podem ser derivados do cache de consultas, as exibições indexadas na fonte de dados são acessadas para responder a consultas. A resposta de consulta geralmente é mais lenta com o armazenamento ROLAP do que com os modos de armazenamento MOLAP ou HOLAP. O tempo de processamento também normalmente é mais lento com ROLAP. No entanto, o ROLAP permite que os usuários exibam dados em tempo real e possam economizar espaço de armazenamento quando você estiver trabalhando com grandes conjuntos de dados que são raramente consultados, como dados puramente históricos.

Observação

Ao usar ROLAP, o Analysis Services poderá retornar informações incorretas relacionadas ao membro desconhecido se uma junção for combinada com uma cláusula GROUP BY. O Analysis Services elimina erros de integridade relacional em vez de retornar o valor de membro desconhecido.

Se uma partição usar o modo de armazenamento ROLAP e seus dados de origem forem armazenados no Mecanismo de Banco de Dados do SQL Server, o Analysis Services tentará criar exibições indexadas para conter agregações da partição. Se o Analysis Services não puder criar exibições indexadas, ele não criará tabelas de agregação. Embora o Analysis Services trate os requisitos de sessão para criar exibições indexadas no Mecanismo de Banco de Dados do SQL Server, as seguintes condições devem ser atendidas pela partição ROLAP e pelas tabelas em seu esquema para que o Analysis Services crie exibições indexadas para agregações:

  • A partição não pode conter medidas que usam as funções de agregação ou Max de Min agregação.

  • Cada tabela no esquema da partição ROLAP deve ser usada apenas uma vez. Por exemplo, o esquema não pode conter [dbo]. [endereço] AS "Endereço do Cliente" e [dbo]. [endereço] AS "Endereço SalesRep".

  • Cada tabela deve ser uma tabela, não uma exibição.

  • Todos os nomes de tabela no esquema da partição devem ser qualificados com o nome do proprietário, por exemplo, [dbo]. [cliente].

  • Todas as tabelas no esquema da partição devem ter o mesmo proprietário; por exemplo, você não pode ter uma cláusula FROM que faça referência às tabelas [tk]. [cliente], [john]. [loja], e [dave]. [sales_fact_2004].

  • As colunas de origem das medidas da partição não devem ser anuláveis.

  • Todas as tabelas usadas no modo de exibição devem ter sido criadas com as seguintes opções definidas como ON:

    • ANSI_NULLS

    • IDENTIFICADOR_COM_COTAS

  • O tamanho total da chave de índice, no Mecanismo de Banco de Dados do SQL Server, não pode exceder 900 bytes. O Mecanismo de Banco de Dados do SQL Server afirmará essa condição com base nas colunas de chave de comprimento fixo quando a instrução CREATE INDEX for processada. No entanto, se houver colunas de comprimento variável na chave de índice, o Mecanismo de Banco de Dados do SQL Server também afirmará essa condição para cada atualização nas tabelas base. Como diferentes agregações têm definições de exibição diferentes, o processamento ROLAP usando exibições indexadas pode ter êxito ou falhar dependendo do design de agregação.

  • A sessão que cria a exibição indexada deve ter as seguintes opções definidas como ON: ARITHABORT, CONCAT_NULL_YEILDS_NULL, QUOTED_IDENTIFIER, ANSI_NULLS, ANSI_PADDING e ANSI_WARNING. Essa configuração pode ser feita no SQL Server Management Studio.

  • A sessão que cria a exibição indexada deve ter a seguinte opção definida como OFF: NUMERIC_ROUNDABORT. Essa configuração pode ser feita no SQL Server Management Studio.

HOLAP

O modo de armazenamento HOLAP combina atributos de MOLAP e ROLAP. Assim como MOLAP, o HOLAP faz com que as agregações da partição sejam armazenadas em uma estrutura multidimensional em uma instância do SQL Server Analysis Services. O HOLAP não faz com que uma cópia dos dados de origem seja armazenada. Para consultas que acessam apenas dados resumidos nas agregações de uma partição, HOLAP é o equivalente a MOLAP. Consultas que acessam dados de origem, por exemplo, se você quiser fazer drill down em uma célula de cubo atômico para a qual não há dados de agregação, devem recuperar dados do banco de dados relacional e não serão tão rápidas quanto seriam se os dados de origem fossem armazenados na estrutura MOLAP. Com o modo de armazenamento HOLAP, os usuários normalmente experimentarão diferenças substanciais nos tempos de consulta, dependendo se a consulta pode ser resolvida do cache ou das agregações em comparação com os próprios dados de origem.

As partições armazenadas como HOLAP são menores do que as partições MOLAP equivalentes porque não contêm dados de origem e respondem mais rapidamente do que as partições ROLAP para consultas que envolvem dados resumidos. O modo de armazenamento HOLAP geralmente é adequado para partições em cubos que exigem resposta rápida de consulta para resumos com base em uma grande quantidade de dados de origem. No entanto, em que os usuários geram consultas que devem tocar dados em nível folha, como para calcular valores medianos, MOLAP geralmente é uma opção melhor.

Consulte Também

Cache proativo (partições)
Sincronizar bancos de dados do Analysis Services
Partições (Serviços de Análise – Dados Multidimensionais)