ETL (Extract Transform Load)
ETL (от англ. Extract, Transform, Load — извлечение, преобразование, загрузка) — один из базовых процессов управления хранилищами данных, а также наименование класса утилит автоматизации этого процесса. ETL в узком смысле относится к технологиям консолидации данных, однако, современные решения, представленные на рынке, поддерживают помимо консолидации и реализацию федерализации данных, а также обмена данными.
Содержание |
Процесс ETL
ETL включает в себя:
- извлечение данных из внешних источников;
- их преобразование в соответствии с требованиями бизнес-модели;
- загрузку преобразованных данных в целевую систему (например, хранилище данных).
Несмотря на кажущуюся простоту, каждый из этапов проекта в реальности достаточно сложен. Во-первых, в качестве внешних источников информации могут выступать различные информационные системы, форматы хранения данных которых и процедуры их извлечения могут существенно разниться. Во-вторых, ETL-процесс не сводится исключительно к техническому преобразованию форматов — данные из разнородных источников должны быть унифицированы и с точки зрения бизнес-правил, единства применяемых систем кодирования информации, классификаторов и справочников. В-третьих, процесс должен учитывать и особенности бизнес-процессов компании, в том числе, функционирования выступающих в качестве источников данных отдельных информационных систем, периодичности обновленя данных в них и т. д.
Поэтому, по мере формирования в практике бизнеса устоявшихся требований к процессу ETL, некоторые эксперты и поставщики говорят о тенденции перехода к концепции «корпоративной интеграции приложений» (англ. Enterprise Application Integration) или «корпоративной сервисной шины» (англ. Enterprise Service Bus), дополняющей ETL-процесс задачами по обеспечению обмена данными в «реальном времени», профилированию данных (англ. Data profiling), контролю качества данных (Data quality), организации метаданных и некоторыми другими, при этом рассматривая их с точки зрения логики бизнес-процессов.
Реализация ETL
По сути, любой специфичный ETL-процесс можно автоматизировать непосредственно с использованием большинства современных языков программирования. Кроме того, большинство поставщиков компонент BI-решений обеспечивают преобразование данных между своими продуктами. Вместе с тем, если речь идет не о простой разовой конвертации небольшого объема данных между двумя системами, а о выстраивании процесса постоянной интеграции данных из нескольких разнородных источников, то имеет смысл рассмотреть вариант использования специализированных утилит, облегчающих автоматизацию типовых операций, поддержку основных используемых форматов и наиболее распространенных информационных систем. При этом следует принимать во внимание параметры масштабируемости, скорости и расширяемости таких утилит.