none
Atualização de tabelas Fato RRS feed

  • Pergunta

  • Amigos,

      Tenho uma tabela-fato financeira/contábil que é atualizada diáriamente ou semanalmente, de acordo com o período de fechamento da empresa. Tenho uma ETL que realiza todo o processo de coleta dos arquivos gerados por uma rotina do SAP, onde o SSIS deleta da fato as informações anteriores a serem atualizadas, realiza as devidas conversões, filtros, etc., e em seguida realiza as inserções nas tabelas. Gostaria de saber se há alguma forma de realizar as atualizações APENAS nas linhas que realmente sofreram atualização, pois acredito que ficar deletando e inserindo na fato pode se tornar um processo "custoso" para o BD. Li sobre Slowly Changing Dimension, mas apenas exemplos sobre dimensões.

    Ps: Apenas notificando que o ID da fato é do  tipo IDENTITY.


    O Forte Sobreviverá e o Fraco irá Sofrer
    quinta-feira, 6 de janeiro de 2011 16:07

Todas as Respostas

  • Pablo,

    Acredito que com o Slowly Changing Dimension, será possível. Mas este tipo de procedimento que você esta querendo poderia ser implementado fora da sua base OLAP?

    Esta sua tabela fato esta sendo atualizada com os dados de uma base ETL? Será que o comando Merge implementado no SQL Server 2008 não poderia ser utilizado em sua base ETL e depois enviado para sua base OLTP.

    É imporntante destacar que o Slowly Changing Dimension é mais indicado para processos que possam gerar um grande consumo de processamento e manipulação de dados.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    domingo, 9 de janeiro de 2011 00:51
  • tenho duvidas neste aspecto de atualização...como fazer...eu faço o drop a tabela de factos, e depois insiro novamente os dados...mas isto nao é correcto, pois nao?

    como solucionar?

    quinta-feira, 12 de abril de 2012 11:29
  • TheAkaBroken,

    Não entendi, você exclui a tabela fato, recria novamente e realiza e população dos dados?

    Então, mas se você deseja atualizar os dados que estão na base OLAP de alguma forma você teria que tentar identificar estes dados para somente excluir ou fazer algum tipo de Update. 


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quinta-feira, 12 de abril de 2012 13:45
  • Nesta fase sim...visto que me encontro a desenvolver na minha maquina. Faço o drop and create na tabela de factos antes de realizar todo o processo ETL. No final do processo estar devidamente concluido, tem uma query que regista, numa tabela a parte, a ultima data de atualização.

     Depois de todo o processo de ETL estar concluído, faço o deploy do OLAP no SSAS, tambem tenho um pacote para isso.

    Mas isto acontece localmente na minha maquina, apenas as fontes de dados vem de fontes externas em servidores.

    Agora para alterar o meu processo ETL de modos apenas a atualizar com dados que nao se encontram nos factos, e nas dimensões tambem...Mas nas dimensões tenho SCD, que trata dessa questão. Para a tabela de factos é que nao sei como fazer..Preciso de ajuda.

    quinta-feira, 12 de abril de 2012 14:02
  • TheAkaBroken,

    Mas o seu problema esta aonde? Na carga dos dados, no SCD, no deploy?

    Sinceramente esta confuso, todo processo ETL independente da sua localidade vai funcionar desta forma, fazendo acesso as origens, realizando as validações e populando os dados.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quinta-feira, 12 de abril de 2012 15:01
  • o meu problema e como actualizar os dados depois de uma primeiro carregamento..
    • Editado Oliver Kimb quinta-feira, 12 de abril de 2012 16:51
    quinta-feira, 12 de abril de 2012 16:51
  • Posso fazer o controlo das actualizações da tabela de factos através do SCD fixed?

    sexta-feira, 13 de abril de 2012 08:32
  • TheAkaBroken,

    Como assim um Slow Change Dimension Fixed?

    O que seria fixado para controle deste componente?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quarta-feira, 18 de abril de 2012 13:44