Элементы ETL-процесса

Извлечение данных

Целью процесса извлечения данных является быстрое извлечение релевантных данных из источников данных.

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

-извлечение данных при помощи приложений, основанных на выполнении SQL-команд. Эти приложения функционируют совместно с другими приложениями систем источников данных;

-извлечение данных при помощи встроенных в СУБД механизмов импорта/экспорта данных. Использование таких механизмов, как правило, обеспечивает более быстрое извлечение данных, чем с помощью команд SQL;

-извлечение данных с помощью специально разработанных приложений.

Преобразование данных

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

Преобразование типов данных:

-преобразования, связанные с кодировкой данных, например, EBCDIC -> ASCII / UniCode;

-преобразование строковых данных;

-преобразование форматов данных для представления даты или времени.

Преобразования, связанные с нормализацией или денормализацией схемы данных:

-преобразование денормализации схемы с целью увеличения производительности выполнения запросов к ХД;

-нормализация схемы ХД с целью обеспечения простоты SQL-запросов.

Преобразования ключей, связанные с обеспечением соответствия бизнес-ключей суррогатным ключам ХД.

Преобразования, связанные с обеспечением качества данных в ХД.

Как правило, данные источников не обладают необходимым уровнем качества данных. Заметим, что данные в ХД должны быть:

-точными – данные должны содержать правильные количественные значения метрик или давать объяснения, почему невозможно такие значения иметь;

-полными – пользователи ХД должны знать, что имеют доступ ко всем релевантным данным;

согласованными – никакие противоречия в данных не допускаются: агрегаты должны точно соответствовать подробным данным;

-уникальными – одни и те же объекты предметной области должны иметь одинаковые наименования и идентифицироваться в ХД одинаковыми ключами;

-актуальными – пользователи ХД должны знать, с какой частотой данные обновляются (т.е. на какую дату данные действительны).

Загрузка данных

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

Во-первых, загрузка данных, основанная на использовании команд обновления SQL, является медленной. Каждая команда SQL выполняется СУБД по определенному плану выполнения, и ее обработка включает выполнение нескольких фаз. Поэтому загрузка с помощью встроенных в СУБД средств импорта/экспорта является предпочтительной.

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

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

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

Настройка производительности загрузки данных в ХД выполняется администратором ХД с помощью набора процедур, предусмотренных используемой СУБД.

Таким образом, мы рассмотрели в общих чертах основные элементы ETL-процесса. Теперь разберем, как проектировать ETL-процессы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: