ETL (от англ. Extract, Transform, Load)
ETL (от англ. Extract, Transform, Load — дословно «извлечение, преобразование, загрузка») — один из основных процессов в управлении хранилищами данных, который включает в себя:
С точки зрения процесса ETL, архитектуру хранилища данных можно представить в виде трёх частей:
Процедуру извлечения можно реализовать двумя способами:
Для распределения загружаемых данных на потоке используются средства данных. Они фиксируют состояние данных в некоторые моменты времени и определяют, какие данные были изменены или дополнены.
- извлечение данных из внешних источников
- их трансформация и очистка
- и загрузка их в хранилище данных
С точки зрения процесса ETL, архитектуру хранилища данных можно представить в виде трёх частей:
- источник данных: содержит структурированные данные в виде таблиц, совокупности таблиц или просто файла (данные в котором разделены символами-разделителями)
- промежуточная область: содержит вспомогательные таблицы, создаваемые временно, и, исключительно для организации процесса выгрузки
- получатель данных: хранилище данных или база данных, в которую должны быть помещены извлечённые данные
Извлечение данных в ETL
Начальным этапом процесса ETL является процедура извлечения записи из источников данных и подготовка их к процессу преобразования. При разработке процедуры извлечения данных, в первую очередь необходимо определить частоту выгрузки данных из OLTP-систем или отдельных источников. В зависимости от объема извлекаемых данных, сложности доступа к ним и скорости работы оборудования выгрузка данных занимает определённое время, которое называется окном выгрузки.Процедуру извлечения можно реализовать двумя способами:
- извлечение данных с помощью специализированных программных средств
- извлечение данных средствами той системы, в которой они хранятся
Преобразование данных, трансформация
Цель этого этапа - подготовка данных к размещению в хранилище данных и приведение их к виду более удобному для последующего анализа. При этом должны учитываться некоторые, выдвигаемые аналитиком требования, в частности уровню качества данных. Поэтому в процессе преобразования может быть задействован самый разнообразный инструментарий, начиная с простейших средств ручного редактирования данных до систем, реализующих сложные методы обработки и очистки данных. В процессе преобразования данных, в рамках ETL, чаще всего выполняются следующие операции:- преобразование структуры данных
- агрегирование данных
- перевод значений
- создание новых данных
- очистка данных
- генерация суррогатных ключей
Загрузка в хранилище
Процесс загрузки заключается в переносе данных из промежуточных таблиц в структуру хранилища данных. При очередной загрузке в хранилище данных переносится не вся информация из источников, а только та, которая была изменена в течение промежуточного времени, прошедшего с предыдущей загрузки. При этом выделяют три потока:- поток добавления - в хранилище данных передается новая, ранее не существовавшая информация
- поток обновления (добавления) - в хранилище данных передается информация, которая существовала ранее, но была изменена или дополнена
- поток удаления - в хранилище передается информация которую надо удалить (хотя операция удаления противоречит концепции DWH)
Для распределения загружаемых данных на потоке используются средства данных. Они фиксируют состояние данных в некоторые моменты времени и определяют, какие данные были изменены или дополнены.
Комментарии
Отправить комментарий