Armazenamento de dados e geração de relatório

A replicação é freqüentemente usada em data warehouse e aplicativos de geração de relatórios para:

  • Consolidar dados de modo que possam ser transformados e movidos para o ambiente do data warehouse.

  • Distribuir dados para os bancos de dados do tipo somente leitura para gerar relatórios.

  • Distribuir dados para um banco de dados de processamento analítico on-line (OLAP).

Apesar de a replicação não replicar objetos Microsoft SQL Server 2008 Analysis Services (SSAS) (por exemplo, dimensões ou cubos), ela é usada freqüentemente para distribuir dados de bancos de dados de processamento transacional (OLTP) para bancos de dados de preparo e bancos de dados usados para as finalidades de gerar relatórios, suporte à decisão e análise.

O diagrama que segue exibe um cenário típico com dados replicados de um servidor de processamento on-line para um servidor de relatórios e um servidor de preparo para análise OLAP e ROLAP:

Replicando dados para um servidor de relatório

Exemplo Adventure Works Cycles

A Adventure Works Cycles é uma empresa de fabricação fictícia utilizada para demonstrar conceitos e cenários de banco de dados. Para obter mais informações, consulte Bancos de dados de exemplo AdventureWorks2008R2.

O Ciclos da Adventure Works usa data warehouse e geração de relatórios em diversos departamentos, inclusive o de Produção e Recursos Humanos.

A produção armazena dados de histórico sobre defeitos na produção e outras diversas formas de medição de desempenho e qualidade. Os dados são replicados dos servidores nas instalações industriais para um servidor de preparo nos escritórios centrais da empresa. De lá os dados são transformados e carregados em cubos OLAP para análise.

O departamento de Recursos Humanos atualmente produz relatórios que usam aplicativos de terceiros. Eles planejam substituir este aplicativo pelo Reporting Services. Eles também gostariam de expandir seus recursos de geração de relatórios e adicionar a capacidade de executar estes tipos de análise:

  • A análise de compensação e benefícios, incluindo a análise de impacto das taxas internacionais de câmbio de moeda.

  • Planejamento de Headcount.

  • Previsão e simulações de custo da folha de pagamento.

Eles trarão um novo servidor on-line para controlar o aumento da necessidade de relatórios na empresa. Os dados serão replicados do departamento de recursos humanos e de outros departamentos deste servidor central de relatório do tipo somente leitura.

Requisitos comuns deste cenário

Os aplicativos de geração de relatório e de data warehouse normalmente têm os requisitos a seguir, que deverão encaminhar uma solução de replicação apropriada:

  • O sistema deve manter a consistência transacional.

  • O sistema deveria ter baixa latência: as atualizações no servidor de processamento on-line devem alcançar os servidores de preparo e de relatório rapidamente.

  • O sistema deve ter alta taxa de transferência: deve controlar a replicação de um grande número de transações.

  • O processamento de replicação deve exigir sobrecarga mínima no servidor de processamento on-line.

  • As alterações de dados fluem em uma direção, do servidor de processamento on-line para os servidores de preparo e de relatórios.

  • Os dados exigidos nos servidores de preparo e de relatórios podem ser um subconjunto de dados disponíveis no servidor de processamento on-line.

O tipo de replicação a ser usado nesse cenário

O SQL Server usa uma metáfora do setor de publicação para descrever os componentes do sistema de replicação. Os componentes incluem o Publicador, Assinantes, publicações e artigos, além de assinaturas.

No diagrama acima, o servidor de processamento on-line é o Publicador. Alguns ou todos os dados do servidor de processamento on-line estão incluídos em duas publicações (uma para preparação e uma para geração de relatórios), com cada tabela de dados como um artigo (os artigos também podem ser outros objetos de banco de dados, como os procedimentos armazenados). O servidor de preparo e o servidor de relatório são Assinantes de uma das publicações, com cada servidor, recebendo o esquema e os dados como uma assinatura. Para obter mais informações sobre os componentes do sistema, consulte Visão geral do modelo de publicação de replicação.

O SQL Server oferece diferentes tipos de replicação para diferentes requisitos de aplicativo: replicação de instantâneo, replicação transacional e replicação de mesclagem. O cenário é implementado da melhor forma com a replicação transacional, a qual fica bem ajustada para controlar os requisitos descritos na seção anterior. Para obter mais informações sobre a replicação transacional, consulte Visão geral da replicação transacionaleComo a replicação transacional funciona.

Pelo design, a replicação transacional aborda os requisitos principais deste cenário:

  • Consistência transacional

  • Baixa latência

  • Alta taxa de transferência

  • Sobrecarga mínima

A opção primária a ser considerada para este cenário é a filtragem. A replicação transacional permite que você filtre as colunas e linhas, de modo que as tabelas dos servidores de preparo e de relatório contenham somente os dados requeridos por seu aplicativo. Para obter mais informações, consulte Filtrando dados publicados.

Etapas para implementar este cenário

Para implementar este cenário, você deve primeiro criar uma publicação e assinaturas para depois inicializar cada assinatura. Clique nos links abaixo para obter mais informações sobre cada etapa:

Após a inicialização da assinatura, e com os dados fluindo entre o Publicador e os Assinantes, talvez seja necessário consultar os seguintes tópicos para obter informações sobre as tarefas comuns de administração e monitoramento: