Compartilhar via


Partições – Modos e processamento de armazenamento de partições

Aplica-se a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

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

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

  • OLAP multidimensional (MOLAP)

  • OLAP relacional (ROLAP)

  • OLAP híbrido (HOLAP)

O Microsoft SQL Server SQL Server Analysis Services dá suporte a todos os três modos de armazenamento básicos. Ele também oferece suporte o cache pró-ativo, que permite combinar as características do armazenamento ROLAP e MOLAP para desempenho de dados e de consulta imediato. 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 em SQL Server Analysis Services quando a partição é processada. Essa estrutura MOLAP é altamente otimizada para maximizar o desempenho de consulta. O local de armazenamento pode estar no computador em que a partição está definida ou em outro computador executando SQL Server Analysis Services. Como uma cópia dos dados fonte 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 diminuídos substancialmente usando agregações. Os dados na estrutura MOLAP da partição são apenas atuais como o mais recente processamento da partição.

Conforme os dados de origem mudam, os objetos no armazenamento MOLAP devem ser processados periodicamente para incorporar essas alterações e torná-los disponíveis aos usuários. O processamento atualiza os dados na estrutura MOLAP completa ou incrementalmente. O tempo entre um processamento e o próximo, cria um período de latência durante o qual os dados nos objetos OLAP podem não corresponder aos dados de origem. Você pode atualizar objetos incremental ou completamente no armazenamento MOLAP sem tornar a partição ou o cubo offline. Entretanto, há situações que podem requerer que você torne o 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 temporário 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 cachê pró-ativo para minimizar a latência e maximizar a disponibilidade tirando vantagem do desempenho do armazenamento MOLAP. Para obter mais informações, consulte Cache proativo (partições),Sincronizar bancos de dados do Analysis Services e Processar um modelo multidimensional (Analysis Services).

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 SQL Server Analysis Services. Em vez disso, quando os resultados não podem ser derivados do cache de consulta, as exibições indexadas na fonte de dados são acessadas para responder as consultas. Resposta da consulta é geralmente mais lenta com o armazenamento ROLAP que os modos MOLAP ou HOLAP. Geralmente, o tempo de processamento é também mais lento no ROLAP. Entretanto, o ROLAP permite que os usuários exibam os dados em tempo real e economizem espaço de armazenamento ao trabalharem com grandes conjuntos de dados consultados raramente, como os dados puramente históricos.

Observação

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

Se uma partição usa o modo de armazenamento ROLAP e seus dados de origem são armazenados em SQL Server Mecanismo de Banco de Dados, SQL Server Analysis Services tenta criar exibições indexadas para conter agregações da partição. Se SQL Server Analysis Services não puder criar exibições indexadas, ela não criará tabelas de agregação. Embora SQL Server Analysis Services manipule os requisitos de sessão para criar exibições indexadas no Mecanismo de Banco de Dados SQL Server, as seguintes condições devem ser atendidas pela partição ROLAP e pelas tabelas em seu esquema para que SQL Server 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 Min ou Max .

  • Cada tabela no esquema da partição de ROLAP deve ser usada só uma vez. Por exemplo, o esquema não pode conter [dbo]. [endereço] AS "Customer Address" e [dbo]. [endereço] AS "SalesRep Address".

  • 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 de 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 faz referência às tabelas [tk].[cliente], [john].[armazenamento] e [dave].[vendas_fato_2004].

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

  • Devem ter sido criadas todas as tabelas usadas na exibição com as seguintes opções definidas como ON:

    • ANSI_NULLS

    • QUOTED_IDENTIFIER

  • O tamanho total da chave de índice, em SQL Server Mecanismo de Banco de Dados, não pode exceder 900 bytes. SQL Server Mecanismo de Banco de Dados 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, SQL Server Mecanismo de Banco de Dados também afirmará essa condição para cada atualização nas tabelas base. Como agregações diferentes possuem definições de exibição diferentes, o processamento ROLAP, usando exibições indexadas pode ser bem-sucedido ou falhar dependendo do projeto da 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 em 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 em 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 de SQL Server SQL Server Analysis Services. O HOLAP não faz com que uma cópia dos dados fonte seja armazenada. Para consultas que só acessam dados resumidos nas agregações de uma partição, o HOLAP é o equivalente do MOLAP. Consultas que acessam dados de origem, por exemplo, se você quiser fazer uma busca detalhada em uma célula de cubo atômica 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 geralmente experimentam diferenças substanciais nos tempos de consulta dependendo de se a consulta pode ser resolvida a partir das agregações de cache versus a partir dos próprios dados de origem.

As partições armazenadas como HOLAP são menores que as partições MOLAP equivalentes, pois elas não contêm dados de origem e respondem mais rapidamente que as partições ROLAP para consultas envolvendo dados resumidos. O modo de armazenamento HOLAP é geralmente adequado a partições em cubos que requerem resposta rápida a consultas de resumos com base em uma grande quantidade de dados de origem. Entretanto, quando os usuários geram consultas que atingem os dados no nível folha, como ao calcular valores de média, o MOLAP geralmente é a melhor escolha.

Consulte Também

Cache pró-ativo (partições)
Sincronizar bancos de dados do Analysis Services
Partições (Analysis Services – Dados Multidimensional)