Найти тему

Profiling данных - что это и зачем он нужен?

Ни один проект связанный с данными не обходится без стадии Data Profiling. Давайте разбираться что это такое.

Data Profiling - это процесс исследования данных, понимания структуры, взаимосвязей, контекста и возможного применения этих данных в дальнейшем анализе.

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

Профайлинг данных помогает:

  • В проектах связанных с исследованием систем-источников данных. В процессе data profiling могут быть подчеркнуты риски низкого качества данных, что повлияет на дальнейшее использование данных в BI инструментах и Data-продуктах
  • При миграция данных из одной системы в другую (переезд с не поддерживаемых Legacy систем на новые решения). В процессе переезда важно понимать структуру, взаимосвязи и бизнес-контекст данных, также важно проверить качество данных и при необходимости повысить его с помощью интеграционных и ETL/ELT процессов.
  • В процессе построение BI или Data продукта, которым пользуются конечные бизнес-пользователи. Data Profiling позволит подчеркнуть все риски качества данных, а также увеличит шансы применения данных в нужном ключе

Важное правило: Data Profiling необходимо планировать как можно раньше (на первых шагах) работы над проектом и продуктом. Это упростит понимание данных, а также даст возможность управлять поставленными требованиями с большей гибкостью.

  1. Data Profiling должен идти сразу после анализа и формулирования бизнес-требований. Вы должны понять, какие данные у вас есть и какие требования с помощью этих данных вы можете покрыть
  2. Важно оценить качество данных до этапа разработки. Может случится так, что качество одного источника данных очень низкое и вам придется искать другой источник. Это лучше делать в начале, чем потом мигрировать все решение на другой источник
  3. Вы должны проверять данные систематически. Нельзя слепо верить документации или описанной модели данных, они могут быть устаревшими или не совпадать с реальной структурой данных

Правильные вопросы при профайлинге данных:

  1. Какие таблицы у нас есть и какие атрибуты они в себя включают?
  2. Какие атрибуты включены в первичный ключ? Какой тип ключа используется (простой, составной, суррогатный)?
  3. Какой тип историчности и обновления данных используется в таблице?
  4. Как часто обновляются данные в таблице?
  5. Сколько пустых (blank или null) значений содержит каждый атрибут таблицы? Какой процент от общего количество строк содержит пустые значения?
  6. Сколько уникальных значений содержит каждый атрибут таблицы?
  7. Какие самые популярные значения атрибутов? Если числовые значения, то какое минимальное, максимальное и среднее значение?
  8. Какие корреляции есть между значениями атрибутов? Есть ли в этом зависимость от описываемого бизнес-процесса?

Как итог после успешного профайлинга данных вы получите:

  • Понимание данных, атрибутов, взаимосвязей
  • Понимание бизнес-области применения данных
  • Описанное качество данных и возможное улучшение этого качества при помощи дальнейшей обработки данных
  • Сокращение процесса разработки путем проведения профайлинга и выявления всех зависимостей перед самой разработкой
  • Большее покрытие бизнес-требований