Стратегии для заполнения базы данных отчетности / хранилища данных

Для нашего приложения отчетности у нас есть процесс, который объединяет несколько баз данных в одну базу данных «отчетов» каждую ночь. Схема базы данных отчетов значительно отличается от схемы отдельных «производственных» баз данных, которые мы агрегируем, поэтому существует хороший объем бизнес-логики, которая учитывает способ агрегирования данных.

Прямо сейчас этот процесс реализуется несколькими хранимыми процедурами, которые выполняются каждую ночь. Поскольку мы добавляем больше деталей в базу данных отчетов, логика в хранимых процедурах становится все более хрупкой и неуправляемой.

Какие еще стратегии можно использовать для заполнения этой базы данных отчетов?

SSIS? Это было рассмотрено, но, как представляется, не предлагает гораздо более чистого и более удобного подхода, чем просто хранимые процедуры.Отдельный процесс C # (или любой другой язык), который объединяет данные в памяти и затем помещает их в базу данных отчетов? Это позволило бы нам написать модульные тесты для логики и упорядочить код более удобным способом.

Я ищу какие-либо новые идеи или дополнительные мысли по поводу вышеизложенного. Спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос