Реализация подсистемы ETL (Extract, Transform, Load) корпоративного хранилища данных

Реализация подсистемы ETL (Extract, Transform, Load) корпоративного хранилища данных

Введение

Подсистема ETL (Extract, Transform, Load) корпоративного хранилища данных обеспечивает выполнение одного из основных процессов в управлении хранилищем данных, который включает в себя:

  • извлечение данных из внешних систем источников (Extract);
  • преобразование (трансформацию) и очистку данных – приведение данных к структурам модели данных и к заданному качеству данных (Transform);
  • загрузку данных в область оперативного и постоянного хранения данных хранилища данных (Load).

Архитектура подсистемы ETL

Подсистема ETL в корпоративном хранилище данных работает в тесной взаимосвязи с подсистемой хранения данных (см. состав подсистем хранилища данных). ETL-процессы наполняют и используют область временного хранения данных (Staging Area). Область временного хранения, например, может состоять из следующих областей (схем) базы данных:

  • область извлечения данных (Source Area);
  • область преобразования данных (Transformation Area);
  • область оперативного хранения данных (Operational Data Store).

Наполнение данными области постоянного хранения детальных данных, агрегатов и витрин данных также реализуется при помощи ETL-процессов загрузки данных и агрегации данных. Иногда данные процессы реализуют средствами базы данных, что не совсем правильно.

Описание процесса функционирования подсистемы сбора, обработки и загрузки данных представлено ниже.

ETL - извлечение данных, преобразование данных, загрузка данных
  1. Процессы извлечения данных извлекают данные из систем источников.
  2. Процессы извлечения данных сохраняют извлеченные данные в интерфейсные таблицы области Source Area.
  3. Процессы преобразования (трансформации) данных извлекают данные из интерфейсных таблиц (Source Area), проводят захват изменений, преобразование данных по определенным бизнес-правилам с сохранением промежуточных результатов в Transformation Area и сохраняют результат в области оперативного хранения.
  4. После проведения преобразования данных данные загружаются в область оперативного хранения Operational Data Store.
  5. Процессы загрузки данных производят чтение данных из области оперативного хранения.
  6. Процессы загрузки данных проверяют ссылочную целостность данных и проводят их загрузку в область детальных данных (System of Records).
  7. Процессы агрегации данных производят чтение детальных данных.
  8. Процессы агрегации данных производят агрегацию и запись данных в Summary Area и Data Marts.

Процессы извлечения данных

Процессы извлечения данных обеспечивают выполнение задачи извлечения данных из источников данных – автоматизированных информационных систем, файлов данных, форм ввода и т.п.

Полученные из источников данные сохраняются без трансформации в таблицах области извлечения данных (Source Area).

Процессы преобразования данных

Процессы преобразования данных выполняют задачи наполнения таблиц области преобразования данных и области загрузки данных. Эти процессы реализуют следующие функции:

  • захват изменений, то есть выделение подмножества записей, которые являются новыми или измененными по отношению к множеству записей, обработанному ранее;
  • формирование суррогатного ключа, который содержит каждая запись каждой таблицы области преобразования данных;
  • преобразование записей, сохранённых в таблицах области извлечения данных или в области преобразования данных, в записи, состав полей которых соответствует таблицам области оперативного и постоянного хранения описанных моделью данных;
  • формирование записей в таблицах-копиях справочников систем-источников, обеспечивающих реализацию алгоритма захвата изменений;
  • формирование записей в таблицах соответствия;
  • формирование записей в перекодировочных таблицах (включая формирование суррогатных ключей);
  • формирование записей во временных таблицах, предназначенных для обогащения данных записей предметными экспертами (при необходимости).

Процессы загрузки данных

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

Прежде всего переносится нормативно-справочная информация (справочники), затем загружаются данные в таблицы фактов и формируются агрегаты.

Программные средства ETL

Самыми популярными коммерческими программными средствами, реализующими функции ETL-подсистемы в корпоративном хранилище данных, являются:

К категории условно бесплатных можно отнести: