Реализация подсистемы ETL (Extract, Transform, Load) корпоративного хранилища данных
Введение
Подсистема ETL (Extract, Transform, Load) корпоративного хранилища данных обеспечивает выполнение одного из основных процессов в управлении хранилищем данных, который включает в себя:
- извлечение данных из внешних систем источников (Extract);
- преобразование (трансформацию) и очистку данных – приведение данных к структурам модели данных и к заданному качеству данных (Transform);
- загрузку данных в область оперативного и постоянного хранения данных хранилища данных (Load).
Архитектура подсистемы ETL
Подсистема ETL в корпоративном хранилище данных работает в тесной взаимосвязи с подсистемой хранения данных (см. состав подсистем хранилища данных). ETL-процессы наполняют и используют область временного хранения данных (Staging Area). Область временного хранения, например, может состоять из следующих областей (схем) базы данных:
- область извлечения данных (Source Area);
- область преобразования данных (Transformation Area);
- область оперативного хранения данных (Operational Data Store).
Наполнение данными области постоянного хранения детальных данных, агрегатов и витрин данных также реализуется при помощи ETL-процессов загрузки данных и агрегации данных. Иногда данные процессы реализуют средствами базы данных, что не совсем правильно.
Описание процесса функционирования подсистемы сбора, обработки и загрузки данных представлено ниже.
- Процессы извлечения данных извлекают данные из систем источников.
- Процессы извлечения данных сохраняют извлеченные данные в интерфейсные таблицы области Source Area.
- Процессы преобразования (трансформации) данных извлекают данные из интерфейсных таблиц (Source Area), проводят захват изменений, преобразование данных по определенным бизнес-правилам с сохранением промежуточных результатов в Transformation Area и сохраняют результат в области оперативного хранения.
- После проведения преобразования данных данные загружаются в область оперативного хранения Operational Data Store.
- Процессы загрузки данных производят чтение данных из области оперативного хранения.
- Процессы загрузки данных проверяют ссылочную целостность данных и проводят их загрузку в область детальных данных (System of Records).
- Процессы агрегации данных производят чтение детальных данных.
- Процессы агрегации данных производят агрегацию и запись данных в Summary Area и Data Marts.
Процессы извлечения данных
Процессы извлечения данных обеспечивают выполнение задачи извлечения данных из источников данных – автоматизированных информационных систем, файлов данных, форм ввода и т.п.
Полученные из источников данные сохраняются без трансформации в таблицах области извлечения данных (Source Area).
Процессы преобразования данных
Процессы преобразования данных выполняют задачи наполнения таблиц области преобразования данных и области загрузки данных. Эти процессы реализуют следующие функции:
- захват изменений, то есть выделение подмножества записей, которые являются новыми или измененными по отношению к множеству записей, обработанному ранее;
- формирование суррогатного ключа, который содержит каждая запись каждой таблицы области преобразования данных;
- преобразование записей, сохранённых в таблицах области извлечения данных или в области преобразования данных, в записи, состав полей которых соответствует таблицам области оперативного и постоянного хранения описанных моделью данных;
- формирование записей в таблицах-копиях справочников систем-источников, обеспечивающих реализацию алгоритма захвата изменений;
- формирование записей в таблицах соответствия;
- формирование записей в перекодировочных таблицах (включая формирование суррогатных ключей);
- формирование записей во временных таблицах, предназначенных для обогащения данных записей предметными экспертами (при необходимости).
Процессы загрузки данных
Процессы загрузки данных выполняют перенос данных из области временного хранения в область постоянного хранения.
Прежде всего переносится нормативно-справочная информация (справочники), затем загружаются данные в таблицы фактов и формируются агрегаты.
Программные средства ETL
Самыми популярными коммерческими программными средствами, реализующими функции ETL-подсистемы в корпоративном хранилище данных, являются:
- IBM WebSphere DataStage
- Informatica PowerCenter
- Oracle Data Integrator
- SAP BusinessObjects Data Integrator
- SAS Data Integration Server
- и другие.
К категории условно бесплатных можно отнести:
- Oracle Warehouse Builder
- Talend Open Studio
- Scriptella
- и другие.