No datawarehouse mais propriamente na tabela de fatos não se deve alterar os registos devido ao histórial ? Certo ? Porque o modo de alterção lenta no carregamento da tabela de fatos ? Não seria melhor inseri apenas ?
Bruno
No datawarehouse mais propriamente na tabela de fatos não se deve alterar os registos devido ao histórial ? Certo ? Porque o modo de alterção lenta no carregamento da tabela de fatos ? Não seria melhor inseri apenas ?
Bruno
Bruno
Depende. Muitos DWs existem alterações do passado. São estornos de vendas que aconteceram, alguma atualização de juros que é feita depois de alguns dias da venda ser feita, enfim, existem inúmeras situações que isso ocorre.
Vou dar um exemplo real que venho trabalhando. Estou fazendo, hoje, um Data Warehouse para um aplicativo de corridas de Taxi através de APPs pelo celular. Faço a carga do DW 1 vez por dia a meia noite e 1 minuto referente as corridas realizadas no dia anterior. Quando faço esta carga, corridas que se iniciaram, por exemplo, as 11:00 da noite em diante podem ainda estar com o status ABERTAS porque, em média uma corrida de taxi não dura mais de uma hora.
Na carga do DW esta corrida vai para o banco gerencial como status EM ABERTO. No dia seguinte, se eu for fazer a carga apenas do D-1 de novo, aquela corrida que carreguei com status ABERTO, no dia anterior, permanecerá assim. Por isso sempre carrego dois dias para atrás. Na carga do dia atual incluirei as corridas do dia anterior e alterarei as corridas D-2. Neste caso, como não sei se usarei INSERT ou UPDATE aplicamos a alteração lenta pois ela será inteligente suficiente para determinar: Se existir atualiza, se não inclui.
Att
Victorino Vila.