Usando o Integration Services para enviar alterações para cubos

1

Como o nosso servidor SQL é Standard edition e não pode fazer cache pró-ativo, fiquei me perguntando se o Integration Services pode detectar alterações em um banco de dados / tabela, para que ele possa processar o cubo automaticamente? Ou isso é wishful thinking?

    
por David 04.08.2011 / 19:48

1 resposta

1

Eu não acredito que isso seja suportado nativamente, mas você poderia fazer algo como o seguinte

1) Adicione um acionador à tabela que definirá um valor de data da última modificação sempre que um registro for inserido ou atualizado.

2) Crie um pacote do SSIS para reprocessar seus cubos.

3) O pacote ssis deve escrever um valor de data / hora da última execução para rastrear a última vez que ele foi executado

4) Faça com que o pacote do SSIS compare a data da última modificação da tabela com o último tempo de execução do pacote. Se a modificação tiver ocorrido, o pacote do SSIS poderá executar seu processamento.

5) Programe o pacote para ser executado a cada cinco minutos para pegar novos dados.

A ressalva aqui é que você estará efetivamente reprocessando os cubos toda vez que os dados forem alterados. Isso pode ser OK se os dados forem alterados com pouca frequência e seus cubos forem pequenos, mas provavelmente prejudicarão seus cubos se os dados forem atualizados com freqüência. O cache proativo faz mais do que apenas atualizar automaticamente os cubos. Ele também gerencia o cache do SSAS para que os novos dados sejam mesclados sem causar uma penalidade de desempenho. O modelo que descrevi aqui não consegue isso.

Em geral, tento falar com meus clientes sobre atualizações de cubo em tempo real. A questão é que pode dificultar a análise se os números estão mudando a cada poucos minutos. Muitas pessoas pediram, mas mudaram de idéia quando conversamos sobre as implicações. Dito isto, há casos de uso legítimos para isso.

    
por 02.09.2011 / 21:35