Compartilhar via


Partições (Analysis Services – Dados Multidimensionais)

Uma partição é um contêiner para uma parte dos dados do grupo de medidas. Partições não são vistas de consultas MDX; todas as consultas refletem todo o conteúdo do grupo de medidas, independentemente de quantas partições são definidas para o grupo de medidas. O conteúdo de dados de uma partição é definido pelas associações de consulta da partição e pela expressão de fatiamento.

Um objeto simples Partition é composto de: informações básicas, definição de fatiamento, design de agregação e outros. As informações básicas incluem o nome da partição, o modo de armazenamento, o modo de processamento e outros. A definição de fatiamento é uma expressão MDX que especifica uma tupla ou um conjunto. A definição de fatiamento tem as mesmas restrições que a função StrToSet MDX. Junto com o parâmetro CONSTRAINED, a definição de fatiamento pode usar dimensão, hierarquia, nomes de nível e membro, chaves, nomes exclusivos ou outros objetos nomeados no cubo, mas não pode usar funções MDX. O design de agregação é uma coleção de definições de agregação que podem ser compartilhadas entre várias partições. O padrão é obtido do design de agregação do cubo pai.

As partições são usadas pelo Microsoft SQL Server Analysis Services para gerenciar e armazenar dados e agregações para um grupo de medidas em um cubo. Cada grupo de medidas tem pelo menos uma partição; essa partição é criada quando o grupo de medidas é definido. Quando você cria uma nova partição para um grupo de medidas, a nova partição é adicionada ao conjunto de partições que já existem para o grupo de medidas. O grupo de medidas reflete os dados combinados contidos em todas as suas partições. Isso significa que você deve garantir que os dados de uma partição em um grupo de medidas sejam exclusivos dos dados de qualquer outra partição no grupo de medidas para garantir que os dados não sejam refletidos no grupo de medidas mais de uma vez. A partição original de um grupo de medidas baseia-se em uma única tabela de fatos na exibição da fonte de dados do cubo. Quando há várias partições para um grupo de medidas, cada partição pode fazer referência a uma tabela diferente na exibição da fonte de dados ou na fonte de dados relacional subjacente para o cubo. Mais de uma partição em um grupo de medidas poderá referenciar a mesma tabela, se cada partição estiver restrita a linhas diferentes na tabela.

As partições são um meio poderoso e flexível de gerenciar cubos, especialmente cubos grandes. Por exemplo, um cubo que contém informações de vendas pode conter uma partição para os dados de cada ano passado e também partições para cada trimestre do ano atual. Somente a partição do trimestre atual precisa ser processada quando as informações atuais são adicionadas ao cubo; O processamento de uma quantidade menor de dados melhorará o desempenho do processamento diminuindo o tempo de processamento. No final do ano, as quatro partições trimestrais podem ser mescladas em uma única partição para o ano e uma nova partição criada para o primeiro trimestre do ano novo. Além disso, esse novo processo de criação de partição pode ser automatizado como parte dos procedimentos de carregamento e processamento de cubo do data warehouse.

As partições não são visíveis para os usuários corporativos do cubo. No entanto, os administradores podem configurar, adicionar ou descartar partições. Cada partição é armazenada em um conjunto separado de arquivos. Os dados agregados de cada partição podem ser armazenados na instância do Analysis Services em que a partição é definida, em outra instância do Analysis Services ou na fonte de dados usada para fornecer os dados de origem da partição. As partições permitem que os dados de origem e os dados agregados de um cubo sejam distribuídos entre vários discos rígidos e entre vários computadores servidores. Para um cubo de tamanho moderado a grande, as partições podem melhorar muito o desempenho da consulta, o desempenho da carga e a facilidade de manutenção do cubo. Para obter mais informações sobre partições remotas, consulte Partições Remotas.

O modo de armazenamento de cada partição pode ser configurado independentemente de outras partições no grupo de medidas. As partições podem ser armazenadas usando qualquer combinação de opções para localização de dados de origem, modo de armazenamento, cache proativo e design de agregação. As opções de OLAP em tempo real e cache proativo permitem que você balancee a velocidade da consulta em relação à latência ao projetar uma partição. As opções de armazenamento também podem ser aplicadas a dimensões relacionadas e a fatos em um grupo de medidas. Essa flexibilidade permite que você projete estratégias de armazenamento de cubo apropriadas às suas necessidades. Para obter mais informações, consulte Modos de Armazenamento de Partição e Processamento, Agregações e Designs de Agregação e Cache Proativo (Partições).

Estrutura de partição

A estrutura de uma partição deve corresponder à estrutura de seu grupo de medidas, o que significa que as medidas que definem o grupo de medidas também devem ser definidas na partição, juntamente com todas as dimensões relacionadas. Portanto, quando uma partição é criada, ela herda automaticamente o mesmo conjunto de medidas e dimensões relacionadas que foram definidas para o grupo de medidas.

No entanto, cada partição em um grupo de medidas pode ter uma tabela de fatos diferente e essas tabelas de fatos podem ser de diferentes fontes de dados. Quando partições diferentes em um grupo de medidas têm tabelas de fatos diferentes, as tabelas devem ser suficientemente semelhantes para manter a estrutura do grupo de medidas, o que significa que a consulta de processamento retorna as mesmas colunas e os mesmos tipos de dados para todas as tabelas de fatos para todas as partições.

Quando tabelas de fatos para partições diferentes são de fontes de dados diferentes, as tabelas de origem para quaisquer dimensões relacionadas e também quaisquer tabelas de fatos intermediárias também devem estar presentes em todas as fontes de dados e devem ter a mesma estrutura em todos os bancos de dados. Além disso, todas as colunas de tabela de dimensão usadas para definir atributos para dimensões de cubo relacionadas ao grupo de medidas devem estar presentes em todas as fontes de dados. Não é necessário definir todas as junções entre a tabela de origem de uma partição e uma tabela de dimensões relacionada se a tabela de origem da partição tiver a estrutura idêntica à tabela de origem do grupo de medidas.

Colunas que não são usadas para definir medidas no grupo de medidas podem estar presentes em algumas tabelas de fatos, mas ausentes em outras. Da mesma forma, colunas que não são usadas para definir atributos em tabelas de dimensões relacionadas podem estar presentes em alguns bancos de dados, mas ausentes em outros. Tabelas que não são usadas para tabelas de fatos ou tabelas de dimensões relacionadas podem estar presentes em alguns bancos de dados, mas ausentes em outros.

Fontes de dados e armazenamento de partição

Uma partição é baseada em uma tabela ou exibição em uma fonte de dados ou em uma tabela ou consulta nomeada em uma exibição de fonte de dados. O local onde os dados de partição são armazenados é definido pela associação da fonte de dados. Normalmente, você pode particionar um grupo de medidas horizontal ou verticalmente:

  • Em um grupo de medidas particionado horizontalmente, cada partição em um grupo de medidas é baseada em uma tabela separada. Esse tipo de particionamento é apropriado quando os dados são separados em várias tabelas. Por exemplo, alguns bancos de dados relacionais têm uma tabela separada para os dados de cada mês.

  • Em um grupo de medidas particionado verticalmente, um grupo de medidas é baseado em uma única tabela e cada partição é baseada em uma consulta do sistema de origem que filtra os dados da partição. Por exemplo, se uma única tabela contiver vários dados de meses, o grupo de medidas ainda poderá ser particionado por mês aplicando uma cláusula WHERE Transact-SQL que retorna dados de um mês separado para cada partição.

Cada partição tem configurações de armazenamento que determinam se os dados e as agregações da partição são armazenados na instância local do Analysis Services ou em uma partição remota usando outra instância do Analysis Services. As configurações de armazenamento também podem especificar o modo de armazenamento e se o cache proativo é usado para controlar a latência de uma partição. Para obter mais informações, consulte Modos e processamento de armazenamento de partição, cache proativo (partições) e partições remotas.

Atualizações incrementais

Ao criar e gerenciar partições em grupos de medidas de várias partições, você deve tomar precauções especiais para garantir que os dados do cubo sejam precisos. Embora essas precauções geralmente não se apliquem a grupos de medidas de partição única, elas se aplicam quando você atualiza incrementalmente as partições. Quando você atualiza incrementalmente uma partição, uma nova partição temporária é criada que tem uma estrutura idêntica à da partição de origem. A partição temporária é processada e mesclada com a partição de origem. Portanto, você deve garantir que a consulta de processamento que popula a partição temporária não duplica os dados já presentes em uma partição existente.

Consulte Também

Configurar propriedades de medida
Cubos em modelos multidimensionais