Как организовать сбор данных с нескольких систем в data warehouse для дальнейшей обработки и использования в OLAP?
Доброго времени суток!
Столкнулся с необходимостью сбора данных с нескольких систем, для дальнейшего использования с целью построения аналитических отчетов.
Посерфил в интернете, но ничего вразумительного не нашел, поэтому обращаюсь за помощью.
Нахожусь в поисках решения, способного удовлетворить следующим требованиям:
-Сбор данных с нескольких баз от разных вендоров oracle db, mssql и т.п.
-Настройка временных диапазонов сбора (раз в день, каждый час, и т.д.)
-Выбор полного или инкрементального сбора в зависимости от условий (например раз в месяц полный, каждый час инкрементальный)
-Установка таблиц и полей с которых собираются данные (для каждой системы свой набор)
-Наличие удаленного доступа к системам, из которых производится сбор данных (например: data warehouse в питере, а целевые системы в москве и новосибирске)
-Масштабирование (подключение новых систем)
Область для меня новая, если потребуется уточнение, я готов ответить на все вопросы.
Спасибо, что пригласили меня как эксперта.
Вынужден сказать, что решения в общем случае нет.
Вам придётся создавать агрегатор данных самостоятельно.
Вариант 1. Очень умное приложение. Mega Crawler.
Приложение Mega Crawler должно поддерживать возможность установить удалённые соединения с несколькими типами баз данных. Приложение должно знать про структуру данных каждой конкретной базы, к которой оно цепляется.
Это будет либо жёстко закодированная логика, изменить которую сможет только программист.
Либо гибко настраиваемая логика, на разработку которой могут уйти основные ресурсы разработки и которое будет бессильно при подключении к N+1 базе данных.
Наиболее известный тебе аналог - это yandexbot. Пытается распарсить страницы, найти тексты, построить по ним индекс.
Вариант 2. Приложение с сетью дата-агентов. Spider Net.
Spider занимается выбором нужных данных из одной базы данных и пересылкой этих данных в центр "паутины" по заданному протоколу и именно в том формате, какой понимает центральный контролирующий узел.
Наиболее известный тебе аналог - это Яндекс.Маркет. Интернет-магазины сами реализуют выгрузку товаров и передачу в Яндекс.Маркет в заранее заданном формате.