Стратегия проверки качества данных и тестирования процессов в хранилище данных
Дата публикации оригинала - 2008-06-07
Стратегия проверки качества данных и тестирования процессов обработки данных в хранилище данных включает достижение следующих целей:
- Обеспечение качества загружаемых данных;
- Обеспечение качества загрузки, обработки и преобразования данных;
- Обеспечение качества расчета метрических величин и агрегации данных.
Как вариант, эти цели могут быть достигнуты выполнением следующих задач.
Обеспечение качества загружаемых данных
- На основании первоначальных требований к хранилищу данных, определить обязательные поля, которые должны присутствовать в экстракте данных, и их формат;
- Определить структуру записи в экстракте (последовательность полей в записи, их длина и т.п.).
Обеспечение качества загрузки, обработки и преобразования данных
- Реализовать правила проверки записей в экстракте: все правильные записи должны быть загружены в staging-таблицы, а все неправильные записи (с неправильной структурой, форматом данных или отсутствующим значением в обязательном поле) - в в bad-таблицы;
- Реализовать бизнес-правила логической проверки записей в staging-таблицах (зависимости между записями для правильной консолидации записей, зависимости между значениями полей в одной записи и т.п.). Все записи, не прошедшие проверку, должны быть помечены как не релевантные для преобразования, консолидации и загрузки в таблицы фактов;
- Проверить и обеспечить сопоставимость значений полей из разных экстрактов, загружаемых в одно поле таблицы фактов. Например, в поле “Объем торгов” таблицы фактов должны записываться только значения полей экстрактов, которые определяют объем торгов. При этом должна использоваться одна величина измерения (сотня, тысяча, миллион). Эта задача сводится к определению conformed-фактов;
- Проверить и обеспечить сопоставимость значений полей из разных экстрактов, которые используются для связи факта с записью из таблицы размерности. Например, для связи записи в таблице фактов с записью в таблице размерности дат по полю “Дата ввода в систему” должны использоваться сопоставимые значения полей экстрактов. Эта задача сводится также включает определение conformed-размерностей;
- Проверить и обеспечить возможность установления связей факт-факт, если это необходимо, т.е. обеспечить возможность связи нескольких фактов в одной или из нескольких таблиц между собой (например, trade - fail - fail management);
- Проверить и обеспечить правильность связей факт-размерность. Эта задача сводится к реализации и проверке правильности работы процедур сопоставления значений (mapping);
Обеспечение качества расчета метрических величин и агрегации данных
- Проверить и обеспечить правильность расчета метрических величин в таблице фактов;
- Проверить и обеспечить правильность агрегации данных в таблицах агрегации. Эта задача сводится к реализации и проверке правильности работы процедур агрегации данных. Также необходимо проверить правильность агрегации числовых значений (суммирования, вычисления средних значений и т.д.).
Как общее решение, может использоваться следующий подход для реализации некоторых из описанных задач:
- Создание репрезентативной выборки данных для каждого экстракта (~50-70 записей) и внесение “шумов” в записи (нарушение структуры записей, формата данных, отсутствие обязательных полей, логические ошибки в данных и т.д.);
- Для каждой записи (транзакции) в выборке рассчитываются метрики, которые должны быть получены после загрузки записей в таблицу фактов;
- Для результирующих записей, которые должны попасть в таблицы фактов, определяются агрегации, которые должны быть получены в результате выполнения процедур агрегации данных из таблицы фактов.
Сформированная выборка используется для проверки правильности обработки, преобразования и агрегации данных, а также расчета метрик, если таковые используются. Помимо этого, могут быть сформированы промежуточные выборки для unit-тестов отдельных этапов преобразования данных: загрузка экстракта в staging-таблицы, проверка логической структуры данных, консолидация, преобразование и расчет метрик, агрегация данных.
Автор: Олег Усольцев
Материал опубликован в блоге Олега Усольцева
Для удобства отслеживания новых публикаций рекомендуем подписаться на рассылку или на канал RSS.