ETL

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

  • извлечение данных из внешних источников;
  • их трансформация и очистка, чтобы они соответствовали нуждам бизнес-модели;
  • и загрузка их в хранилище данных.

В качестве ETL решений можно использовать ESB (так как шины данных позволяют организовывать надежное взаимодействие между информационными системами (в терминологии ETL организуется взаимодействие между целевой системой — источником данных и системой-приёмником (как правило системы класса Business Intelligence)). Примером ETL решения построенного на основе ESB является Jaspersoft ETL (основана на Talend Opensource ESB).

С точки зрения процесса ETL, архитектуру хранилища данных можно представить в виде трёх компонентов:

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

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

Извлечение данных в ETL[править | править вики-текст]

Начальным этапом процесса ETL является процедура извлечения записи из источников данных и подготовка их к процессу преобразования. При разработке процедуры извлечения данных, в первую очередь необходимо определить частоту выгрузки данных из OLTP-систем или отдельных источников. В зависимости от объема извлекаемых данных, сложности доступа к ним и скорости работы оборудования выгрузка данных занимает определённое время, которое называется окном выгрузки.

Процедуру извлечения можно реализовать двумя способами:

  • извлечение данных с помощью специализированных программных средств;
  • извлечение данных средствами той системы, в которой они хранятся.

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

Преобразование данных[править | править вики-текст]

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

  • преобразование структуры данных;
  • агрегирование данных;
  • перевод значений;
  • создание новых данных;
  • очистка данных.

Загрузка данных[править | править вики-текст]

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

  • поток добавления - в хранилище данных передается новая, ранее не существовавшая информация;
  • поток обновления (добавления) - в хранилище данных передается информация, которая существовала ранее, но была изменена или дополнена.

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

Продукты ETL[править | править вики-текст]

Коммерческие[править | править вики-текст]

Свободно распространяемые[править | править вики-текст]