Criar e gerenciar uma partição local (Analysis Services)

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

Você pode criar partições adicionais para um grupo de medidas para melhorar o desempenho do processamento. Ter várias partições permite alocar dados de fatos em um número correspondente de arquivos de dados físicos em servidores locais e remotos. No Analysis Services, as partições podem ser processadas de forma independente e paralela, proporcionando mais controle sobre o processamento de cargas de trabalho no servidor.

As partições podem ser criadas no SQL Server Data Tools durante o design do modelo ou depois que a solução é implantada usando o SQL Server Management Studio ou o XMLA. Recomendamos que você escolha apenas uma abordagem. Se você alternar entre ferramentas, poderá descobrir que as alterações feitas em um banco de dados implantado no SQL Server Management Studio serão substituídas quando você reimplantar a solução posteriormente do SQL Server Data Tools.

Antes de começar

Verifique se você tem a edição business intelligence ou a edição enterprise. A edição Standard não dá suporte a várias partições. Para verificar a versão, clique com o botão direito do mouse no nó do servidor no SQL Server Management Studio e escolha Relatórios | Geral. Para obter mais informações sobre a disponibilidade de recursos, consulte recursos compatíveis com as edições do SQL Server 2016.

Desde o início, é importante entender que as partições devem compartilhar o mesmo design de agregação se você quiser mesclar mais tarde. As partições só poderão ser mescladas se tiverem designs de agregação idênticos e modos de armazenamento.

Dica

Explore os dados no Modo de Exibição da Fonte de Dados (DSV) para compreender o intervalo e a profundidade dos dados que você está particionando. Por exemplo, se particionar por data, você poderá ordenar uma coluna de data para determinar os limites superior e inferior de cada partição.

Escolher uma abordagem

A consideração mais importante ao criar partições é segmentar os dados para que não haja linhas duplicadas. Os dados devem ser armazenados em uma partição e apenas uma para evitar a contagem dupla de linhas. Dessa forma, é comum particionar por DATE para que você possa definir limites claros entre cada partição.

Você pode usar qualquer técnica para distribuir os dados de fato em várias partições. As técnicas a seguir podem ser usadas para segmentar os dados.

Technique Recommendations
Usar consultas SQL para segmentar dados de fatos As partições podem ser originadas de consultas SQL. Durante o processamento, a consulta SQL é recuperar os dados. A cláusula WHERE da consulta fornece o filtro que segmenta os dados de cada partição. O Analysis Services gera a consulta para você, mas você deve preencher a cláusula WHERE para segmentar corretamente os dados.

A principal vantagem dessa abordagem é a facilidade com que você pode particionar dados de uma única tabela de origem. Se todos os dados de origem forem provenientes de uma tabela de fatos grande, você poderá criar consultas que filtram esses dados em partições discretas, sem precisar criar estruturas de dados adicionais na DSV (Exibição da Fonte de Dados).

Uma desvantagem é que o uso de consultas interromperá a associação entre a partição e o DSV. Se você atualizar posteriormente o DSV no projeto do Analysis Services, como adicionar colunas à tabela de fatos, será necessário editar manualmente as consultas de cada partição para incluir a nova coluna. A segunda abordagem, discutida em seguida, não tem essa desvantagem.
Usar tabelas no DSV para segmentar dados de fatos Você pode associar uma partição a uma tabela, consulta nomeada ou exibição no DSV. Como base de uma partição, todos os três são funcionalmente equivalentes. A tabela inteira, consulta nomeada ou exibição fornece todos os dados para uma única partição.

Usar uma tabela, exibição ou consulta nomeada coloca toda a lógica de seleção de dados no DSV, o que pode ser mais fácil de gerenciar e manter ao longo do tempo. Uma vantagem importante para essa abordagem é que as associações de tabela são preservadas. Se você atualizar a tabela de origem mais tarde, não precisará modificar as partições que a usam. Em segundo lugar, todas as tabelas, consultas nomeadas e exibições existem em um espaço de trabalho comum, tornando as atualizações mais convenientes do que ter que abrir e editar consultas de partição individualmente.

Opção 1: filtrar uma tabela de fatos para várias partições

Para criar várias partições, você começa modificando a propriedade Source da partição padrão. Por padrão, um grupo de medidas é criado usando uma única partição associada a uma única tabela no DSV. Antes de adicionar mais partições, primeiro você deve modificar a partição original para conter apenas uma parte dos dados de fato. Em seguida, você pode continuar a criar partições adicionais para armazenar o restante dos dados.

Construa seus filtros de modo que os dados não sejam duplicados entre as partições. O filtro de uma partição especifica quais dados na tabela de fatos são usados na partição. É importante que os filtros para todas as partições em um cubo extraam conjuntos de dados mutuamente exclusivos da tabela de fatos. Os mesmos dados factuais poderão ser contados duas vezes se aparecerem em várias partições.

  1. No SQL Server Data Tools, no Gerenciador de Soluções, clique duas vezes no cubo para abri-lo no Designer de Cubo e clique na guia Partições .

  2. Expanda o grupo de medidas para o qual estão adicionando partições. Por padrão, cada grupo de medidas tem uma partição, associada a uma tabela de fatos no DSV.

  3. Na coluna Origem, clique no botão procurar (. .) para abrir a caixa de diálogo Fonte da Partição.

    Coluna de origem no painel Partição

  4. No Tipo de Vinculação, selecione Vinculação de Consulta. A consulta SQL que seleciona os dados é exibida automaticamente.

  5. Na cláusula WHERE na parte inferior, adicione um filtro que segmenta dados para essa partição.

    Exemplos de sintaxe da cláusula WHERE incluem WHERE OrderDateKey >= '20060101' ou WHERE OrderDateKey BETWEEN '20051001' AND '20051201'. Para obter outros exemplos, consulte WHERE (Transact-SQL).

    Observe que os seguintes filtros são mutuamente exclusivos em cada conjunto:

    Definir Value
    Definir 1: "SaleYear" = 2012

    "AnoDeVenda" = 2013
    Conjunto 2: "Continente" = 'América do Norte'

    "Continente" = 'Europa'

    "Continent" = 'SouthAmerica'
    Conjunto 3 "Country" = 'USA'

    "País" = 'México'

    ("País" <> 'EUA' E "País" <> 'México')
  6. Clique em Verificar para verificar se há erros de sintaxe e clique em OK.

  7. Repita as etapas anteriores para criar as partições restantes, modificando a cláusula WHERE sempre para selecionar a próxima fatia de dados.

  8. Implante a solução ou processe a partição para carregar os dados. Certifique-se de processar todas as partições.

  9. Navegue pelo cubo para verificar se os dados corretos foram retornados.

Depois de ter um grupo de medidas que usa vários grupos de medidas, você pode criar partições adicionais no SQL Server Management Studio. Em um grupo de medidas, clique com o botão direito do mouse na pasta Partições e selecione Novas Partições para iniciar o assistente.

Observação

Em vez de filtrar dados em uma partição, você pode usar a mesma consulta para criar uma consulta de nome no DSV e, em seguida, basear a partição na consulta nomeada.

Opção 2: usar tabelas, exibições ou consultas nomeadas

Se o DSV já organizar fatos em tabelas individuais (por exemplo, por ano ou trimestre), você poderá criar partições com base em uma tabela individual, em que cada partição tem sua própria tabela de fonte de dados. Isso é essencialmente como os grupos de medidas são particionados por padrão, mas no caso de várias partições, você divide a partição original em várias partições e mapeia cada nova partição para a tabela de fonte de dados que fornece os dados.

Exibições e consultas nomeadas são equivalentes funcionais a tabelas, pois todos os três objetos são definidos no DSV e associados a uma partição usando a opção Associação de Tabela na caixa de diálogo Origem da Partição. Você pode criar uma exibição ou uma consulta nomeada para gerar o segmento de dados necessário para cada partição. Para obter mais informações, consulte Definir consultas nomeadas em uma exibição de fonte de dados (Analysis Services).

Importante

Ao criar consultas nomeadas mutuamente exclusivas para partições em um DSV, verifique se os dados combinados para as partições incluem todos os dados de um grupo de medidas que você deseja incluir no cubo. Certifique-se de não deixar uma partição padrão baseada em toda a tabela para o grupo de medidas, caso contrário, as partições baseadas em consultas irão se sobrepor às partições baseadas na tabela completa.

  1. Crie uma ou mais consultas nomeadas para usar como fonte de partição. Para obter mais informações, consulte Definir consultas nomeadas em uma exibição de fonte de dados (Analysis Services).

    A consulta nomeada deve ser baseada na tabela de fatos associada ao grupo de medidas. Por exemplo, se você estiver particionando o grupo de medidas FactInternetSales, as consultas nomeadas no DSV deverão especificar a tabela FactInternetSales na instrução FROM.

  2. No SQL Server Data Tools, no Gerenciador de Soluções, clique duas vezes no cubo para abri-lo no Designer de Cubo e clique na guia Partições .

  3. Expanda o grupo de medidas para o qual você está adicionando partições.

  4. Clique em Nova Partição para iniciar o Assistente de Partição. Se você criou as consultas nomeadas usando a tabela de fatos associada ao grupo de medidas, deverá ver cada uma das consultas nomeadas criadas na etapa anterior.

  5. Em Especificar Informações de Origem, escolha uma das consultas nomeadas que você criou em uma etapa anterior. Se você não vir consultas nomeadas, volte para a DSV e verifique a instrução FROM.

  6. Clique em Avançar para aceitar os valores padrão para cada página subsequente.

  7. Na última página, Completando o Assistente, dê à partição um nome descritivo.

  8. Clique em Concluir.

  9. Repita as etapas anteriores para criar as partições restantes, escolhendo uma consulta nomeada diferente a cada vez para selecionar a próxima fatia de dados.

  10. Implante a solução ou processe a partição para carregar os dados. Certifique-se de processar todas as partições.

  11. Navegue pelo cubo para verificar se os dados corretos foram retornados.

Próxima Etapa

Ao criar consultas mutuamente exclusivas para partições, verifique se os dados de partição combinados incluem todos os dados que você deseja incluir no cubo.

Como uma etapa final, você normalmente deseja remover a partição padrão baseada na tabela em si (se ela ainda existir) ou então as partições baseadas em consulta se sobreporão à consulta com base na tabela completa.

Consulte Também

Partições (Analysis Services – Dados Multidimensionais)
Partições remotas
Mesclar partições no Analysis Services (SSAS – Multidimensional)