Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Por que precisamos do SSIS e do esquema em estrela do Data Warehouse?


Isso pode ser um candidato para "Too Broad", mas vou tentar.

Por que eu iria querer armazenar meus dados 3 vezes?


Tenho meus dados em meu OLTP (sistema de processamento de transações online), por que eu iria querer mover esses dados para uma estrutura completamente nova (data warehouse) e depois movê-los novamente para um sistema OLAP?

Vamos começar simples. Você tem apenas um sistema de registro e não é incrivelmente ocupado. Talvez você possa se safar com uma camada de abstração (visualizações no banco de dados ou consultas nomeadas no SSAS) e pular o data warehouse.

Então, você constrói seus cubos, dimensões e as pessoas começam a usá-lo e eles adoram.

"Sabe o que seria ótimo? Se pudéssemos correlacionar nossos Blats com os Foos and Bars que já temos lá" Agora você precisa integrar seu aplicativo simples com dados de um aplicativo completamente não relacionado. O ID de cliente 10 em seu aplicativo é o ID de cliente {ECA67697-1200-49E2-BF00-7A13A549F57D} no aplicativo CRM. O que agora? Você precisará apresentar uma visão única do Cliente para seus usuários ou eles não usarão a ferramenta.

Talvez você governe com mão de ferro e diga Não, você não pode ter esses dados no cubo e seus usuários vão junto com eles.

"Os hábitos de compra das pessoas mudam depois de ter um filho?" Não podemos responder isso porque nosso aplicativo armazena apenas a versão atual de um cliente. Uma vez que eles têm um filho, eles sempre tiveram um filho, então você não pode identificar claramente os padrões antes ou depois de um evento.

"Como foram nossas vendas no ano passado" Não podemos responder isso porque mantemos apenas 12 semanas de dados no aplicativo para torná-lo gerenciável.

"Os dados nos cubos estão obsoletos, você pode atualizá-los?" Egads, é meio-dia. O processamento do SSAS usa bloqueios de tabela e basicamente derrubaria nosso aplicativo até que o processamento fosse concluído.

Preciso continuar com esses cenários?

Resumo


O data warehouse serve como ponto de integração para diversos sistemas. Tem dimensões conformadas (todo mundo tem uma definição comum para o que é uma coisa). Os dados no warehouse podem exceder o tempo de vida dos dados nos sistemas de origem. As necessidades de negócios podem direcionar o rastreamento de dados que o aplicativo de origem não oferece suporte. Os dados no DW suportam atividades de negócios enquanto seu sistema OLTP suporta a si mesmo.

O SSIS é apenas uma ferramenta para mover dados. Há muitos por aí, alguns melhores, outros piores.

Então não, de um modo geral, não é melhor evitar a criação de um DW e construir seus cubos com base em seu banco de dados OLTP.