Извлечение данных
Целью процесса извлечения данных является быстрое извлечение релевантных данных из источников данных.
Процесс извлечения данных из источников данных можно разбить на следующие основные типы:
-извлечение данных при помощи приложений, основанных на выполнении SQL-команд. Эти приложения функционируют совместно с другими приложениями систем источников данных;
-извлечение данных при помощи встроенных в СУБД механизмов импорта/экспорта данных. Использование таких механизмов, как правило, обеспечивает более быстрое извлечение данных, чем с помощью команд SQL;
-извлечение данных с помощью специально разработанных приложений.
Преобразование данных
Процесс преобразования данных источников включает в себя следующие основные действия.
Преобразование типов данных:
-преобразования, связанные с кодировкой данных, например, EBCDIC -> ASCII / UniCode;
-преобразование строковых данных;
-преобразование форматов данных для представления даты или времени.
|
|
Преобразования, связанные с нормализацией или денормализацией схемы данных:
-преобразование денормализации схемы с целью увеличения производительности выполнения запросов к ХД;
-нормализация схемы ХД с целью обеспечения простоты SQL-запросов.
Преобразования ключей, связанные с обеспечением соответствия бизнес-ключей суррогатным ключам ХД.
Преобразования, связанные с обеспечением качества данных в ХД.
Как правило, данные источников не обладают необходимым уровнем качества данных. Заметим, что данные в ХД должны быть:
-точными – данные должны содержать правильные количественные значения метрик или давать объяснения, почему невозможно такие значения иметь;
-полными – пользователи ХД должны знать, что имеют доступ ко всем релевантным данным;
согласованными – никакие противоречия в данных не допускаются: агрегаты должны точно соответствовать подробным данным;
-уникальными – одни и те же объекты предметной области должны иметь одинаковые наименования и идентифицироваться в ХД одинаковыми ключами;
-актуальными – пользователи ХД должны знать, с какой частотой данные обновляются (т.е. на какую дату данные действительны).
Загрузка данных
Основная цель процесса загрузки данных состоит в быстрой загрузке данных в ХД. Отметим некоторые особенности выполнения процесса загрузки данных в ХД.
Во-первых, загрузка данных, основанная на использовании команд обновления SQL, является медленной. Каждая команда SQL выполняется СУБД по определенному плану выполнения, и ее обработка включает выполнение нескольких фаз. Поэтому загрузка с помощью встроенных в СУБД средств импорта/экспорта является предпочтительной.
|
|
Во-вторых, индексы таблиц загружаются медленно. Во многих случаях целесообразно удалить индекс и построить его заново.
В-третьих, следует максимально использовать параллелизм при загрузке данных. Измерения могут производиться одновременно с фактами и секциями таблиц. Аналогично факты и секции таблиц могут загружаться одновременно с измерениями.
Следует заметить, что при загрузке данных должна быть гарантирована ссылочная целостность данных, а агрегаты должны быть построены и загружены одновременно с подробными данными.
Настройка производительности загрузки данных в ХД выполняется администратором ХД с помощью набора процедур, предусмотренных используемой СУБД.
Таким образом, мы рассмотрели в общих чертах основные элементы ETL-процесса. Теперь разберем, как проектировать ETL-процессы.