Что делает UniversalETL?
UniversalETL решает две задачи:
- Перенос данных из staging базы в ХД;
- Обработка OLAP-куба (измерений и секций) умным способом.
Умным способом – это вот так:
- все измерения – через ProcessUpdate;
- каждую секцию – либо через ProcessFull (если по ней были перемещения в ХД) либо через ProcessIndexes (если по ней данные в ХД не менялись).
Какие преимущества это дает по сравнению с штатными средствами (например с SSIS)?
Главные причины, почему с UniversalETL легко работать:
- быстро настраивается
- выполняет перенос данных и процессинга измерений/секций в ПАРАЛЛЕЛЬНЫХ потоках.
- если вы дальше меняете структуру ХД и куба, то не надо ничего менять в ETL.
- Разграничение ответственности.
Рассмотрим преимущества подробнее.
Быстро настраивается
Вся настройка сводится к заполнению нескольких служебных таблиц данными. Есть инструкция и готовый пример.
Выполняет перенос данных и процессинга измерений/секций в ПАРАЛЛЕЛЬНЫХ потоках.
Будет лишним рассказывать то, насколько проблематично работать с параллелизмом в SSIS. Кто попробовал – знает.
Если вы дальше меняете структуру ХД и куба, то не надо ничего менять в ETL.
Что Вы будете делать в SSIS-пакете, если у вас добавилось поле в таблице ХД и мера в кубе? Вы будете менять ваш SSIS-пакет – менять свойства ваших data flow задач – добавлять поля, устанавливать маппинг. Добавили еще меру – и опять добавляй поля… Добавили новую таблицу – и создавай новый data flow…
Всей этой «возни» нет в UniversalETL. Если добавилась таблица в ХД – просто пропишите одну строчку в service_Tables, и все. И сколько бы не менялась ее структура – больше ничего не надо делать.
Разграничение ответственности.
Из собственного опыта можем сказать, что намного лучше, если выборки данных их OLTP базы делает человек, знающий саму учетную систему и эту базу, а не консультант, внедряющий BI решение. Если пользователь смотрит в куб и видит, что что-то «не так» с данными, он что делает? Начинает звонить внедренцам BI. И если внедренцы BI сами вытягивали данные из OLTP базы, то у них проблемы: им тяжело понять, где ошибка – в выборке данных, или же в кубе. Намного легче, если ответственность разграничена:
- Один человек делал выгрузки из OLTP
- Другой человек «втягивал» это в ХД и в куб.
UniversalETL работает как раз по этому принципу: он забирает данные с «буферной» БД (называемой staging-базой). Поэтому если в кубе что-то не так, то ищем соответствие с ХД, если несоответствий не нашли – передаем дело на тех, кто делал выгрузку в staging.
Где взять полную инструкцию по внедрению и примеры?
По этой ссылке Вы можете найти полное описание работы а также наши тестовые базы данных, на которых вы можете все попробовать. После этого можете внедрять UniversalETL на своем ХД.
Какие условия использования?
- Freeware;
- Мы отдаем все исходники, но вы не имеете права удалять ту часть кода, которая выводит в лог и в e-mail сообщение информацию о нашей компании, а также не можете менять текст этого сообщения.