114.20K
Категория: ИнформатикаИнформатика

Хранилища данных. Курс

1.

Курс
«Хранилища данных»
Тема:
ETL – загрузка данных в ХД
Барабанщиков
Игорь Витальевич

2.

Этапы процесса ETL
После того как данные извлечены из различных
источников и выполнены преобразование,
агрегация и очистка данных, осуществляется
последний этап ETL — загрузка данных в
хранилище.
2

3.

Загрузка данных в ХД
• Процесс загрузки заключается в переносе
данных из промежуточных таблиц в
структуры ХД.
• От продуманности и оптимальности
процесса загрузки данных зависит время,
требуемое для полного цикла обновления
данных в ХД, а также полнота и
корректность данных в хранилище.
3

4.

Организация процесса загрузки
• Первыми в процессе загрузки данных в ХД обычно
загружаются таблицы измерений, которые содержат
суррогатные ключи и другую описательную
информацию, необходимую для таблиц фактов.
• При загрузке таблиц измерений требуется и
добавлять новые записи, и изменять существующие.
Например, измерение Клиент может содержать
десятки тысяч клиентов, при этом информация
меняется только для незначительного их числа (не
более 10%). Нужно добавить данные о новых
клиентах и одновременно модифицировать
информацию о существующих.
4

5.

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

6.

Загрузка в таблицу фактов
• Выполняется после того,
как выполнена загрузка
в таблицы измерений.
• При загрузке таблицы
фактов новая
информация обычно
добавляется в конец
таблицы, чтобы не
изменять существующие
данные.
6

7.

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

8.

Неполная загрузка данных
8

9.

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

10.

Многопоточная загрузка данных
• При очередной загрузке в ХД переносится не вся
информация из OLTP-системы, а только та, которая
была измена в течение промежутка времени,
прошедшего с предыдущей загрузки.
• При этом можно выделить два вида изменений —
добавление (вставка) и обновление (изменение).
• Добавление — в ХД передается новая, ранее не
существовавшая информация, например сведения о
продажах, произошедших с прошлой загрузки, о
появлении нового клиента, товара и т.д.
• Обновление — в ХД передается информация, которая
существовала ранее, но по какой-либо причине была
изменена или дополнена (например, изменился город,
в котором живет клиент).
10

11.

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

12.

Итоги
• Загрузка данных в ХД – важный этап в
процессе ETL.
• От продуманности и оптимальности
процесса загрузки данных зависит:
- время, требуемое для полного цикла
обновления данных в ХД,
- полнота и корректность данных в ХД.
12
English     Русский Правила