Estratégias para Preencher um Banco de Dados de Relatórios / Data Warehouse

Para o nosso aplicativo de relatórios, temos um processo que agrega vários bancos de dados em um único banco de dados de 'relatórios' todas as noites. O esquema do banco de dados de relatórios é bem diferente daquele dos bancos de dados de 'produção' separados que estamos agregando, portanto, há uma boa quantidade de lógica de negócios que entra em como os dados são agregados.

Neste momento, este processo é implementado por vários procedimentos armazenados que são executados todas as noites. À medida que adicionamos mais detalhes ao banco de dados de relatórios, a lógica nos procedimentos armazenados continua se tornando mais frágil e incontrolável.

Quais são algumas outras estratégias que podem ser usadas para preencher esse banco de dados de relatórios?

SSIS? Isso foi considerado, mas não parece oferecer uma abordagem muito mais limpa e mais sustentável que apenas os procedimentos armazenados.Um processo separado em C # (ou qualquer linguagem) que agrega os dados na memória e os envia para o banco de dados de relatórios? Isso nos permitiria escrever Testes Unitários para a lógica e organizar o código de uma forma muito mais sustentável.

Estou à procura de novas ideias ou pensamentos adicionais sobre o que precede. Obrigado!

questionAnswers(3)

yourAnswerToTheQuestion