BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс по Data Governance, Data Quality, MDM, Data Lineage » Перспективная архитектура данных для повышения качества данных

Перспективная архитектура данных для повышения качества данных

В этой статье мы рассмотрим лучшие практики создания надежных систем данных для получения высококачественных данных.

Качество данных - неотъемлемая часть инженерии данных. Поскольку любые инсайты хороши и пригодны ровно настолько, насколько хороши и пригодны исходные данные, создание надежных и устойчивых систем данных, предоставляющих исключительно высококачественные данные, является святейшей обязанностью команды инженеров по обработке данных. Достижение и поддержание надлежащего качества данных - задача непростая…

В этой статье мы рассмотрим ключевые компоненты систем инженерии данных, которые необходимы для получения высококачественных данных:

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

 

Мониторинг качества данных 

По мере развития бизнеса меняются и данные. Измерение качества данных никогда не было одноразовой задачей, важно постоянно контролировать качество данных в конвейерах данных. Самый первый шаг в мониторинге качества данных - это определение метрик качества данных на основе  определенных показателей.

 

Определение качества данных

Определение качества данных - это установление ожиданий касательно выходных данных и измерение отклонений фактически полученных данных от установленных ожиданий в виде количественных показателей. При определении показателей качества данных первое, что должны учитывать инженеры по обработке данных, - это вопрос: "Какую истину представляют собой данные?" Например, выходная таблица должна содержать все события, связанные с показом рекламы, которые произошли на сайте розничной сети. Метрики качества данных должны быть разработаны таким образом, чтобы система данных точно отражала эту истину.

Чтобы точно измерить качество данных в системе данных, инженеры по обработке данных должны отслеживать не только базовые показатели работоспособности и производительности приложения (такие как отказы в выполнении заданий, задержки обработки и т.д.), но и специализированные метрики, основанные на бизнес-показателях. Поэтому дата-инженеры должны очень хорошо разбираться в основных бизнес-проблемах.

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

Несмотря на то, что каждая система данных служит для различных бизнес - целей, некоторые общие закономерности в показателях качества данных все-таки существуют, ознакомьтесь с содержанием Таблицы № 1.

 

МЕТРИКИ ДЛЯ ИЗМЕРЕНИЯ КАЧЕСТВА ДАННЫХ В КОНВЕЙЕРЕ ДАННЫХ

Тип

Ограничения

«Здоровье» приложения

Количество успешно выполненных или запущенных заданий (для потоковой передачи) должно быть равно N.

SLA / задержки

Задание должно быть выполнено  до 8 утра (PST )ежедневно. Максимальная задержка обработки событий должна составлять < 2 секунд (для потоковой передачи).

Схема

Колонка account_id должна иметь тип INT и не может быть NULL

Значения столбцов

Столбцы account_id должны содержать только целые положительные числа. Столбец account_type может иметь только следующие значения: FREE, STANDARD или MAX.

Сопоставление с историей

Общее количество подтвержденных заказов на любую дату должно быть в пределах +20%/-20% от среднего значения за последние 30 дней.

Сопоставление с другими наборами данных

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

 

Внедрение мониторов качества данных

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

 

Системы пакетной обработки данных

Паттерн Write-Audit-Publish (WAP) - это лучшая практика инженерии данных, широко используемая для контроля качества данных в конвейерах пакетной обработки данных. Он подчеркивает важность постоянной оценки качества данных перед их передачей последующим пользователям.

 

Системы потоковой передачи данных

К сожалению, паттерн WAP неприменим к потокам данных, поскольку приложения потоковой обработки данных должны обрабатывать данные безостановочно, любая приостановка производственных потоковых заданий для устранения каких-либо проблем с качеством данных неприемлема. В архитектуре Lambda вывод систем потоковой обработки событий также хранится в хранилище Lakehouse (например, в таблице Apache Iceberg или Apache Hudi ). В результате дата-инженеры также часто внедряют мониторы качества пакетных данных на основе WAP в таблицах Lakehouse.

Для мониторинга качества данных в режиме, близком к реальному времени, одним из вариантов является реализация проверок качества данных в виде запросов в режиме реального времени к выходным данным, таким как тема Apache Kafka или источник данных Apache Druid. Для крупномасштабного вывода обычно применяется выборка, что позволяет повысить эффективность запросов к агрегированным метрикам. Такие вспомогательные фреймворки, как Schema Registry, также могут быть полезны для обеспечения совместимости выходных событий с ожидаемой схемой.

Другой вариант заключается в том, чтобы фиксировать показатели качества данных по каждому событию в рамках логики приложения и записывать результаты в хранилище данных временных рядов. Этот вариант предполагает дополнительные расходы, но позволяет лучше видеть промежуточные этапы/операции с данными и упрощает поиск и устранение неисправностей. Например, если логика приложения решит отбрасывать события, содержащие недостоверные account_id, account_type или order_id, то при выпуске новой версии системы появится большое количество событий с недостоверными account_id, метрики качества данных на основе выходных данных покажут снижение общего количества выходных событий. Однако без метрик или журналов промежуточных этапов/операций с данными будет сложно определить, какая логика фильтрации или колонка является первопричиной.

 

Восстановление данных 

Абсолютно каждый конвейер данных в какой-то момент дает сбой… К числу наиболее распространенных причин сбоев относятся следующие:

  • Несовместимые обновления исходных данных (например, из исходных таблиц были удалены критически важные столбцы);
  • Сбои в работе систем исходных или исходных данных (например, исходные базы данных стали недоступны);
  • Измененная истина данных (например, логика обработки данных устарела после выхода нового продукта);
  • Человеческий фактор (например, в новой сборке появились новые ошибки, которые остались необработанными).

 

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

 

Системы пакетной обработки данных

Решения по хранению для пакетных систем, такие как AWS S3 и GCP Cloud Storage, относительно недороги, а хранение исходных данных обычно не является ограничивающим фактором при резервном копировании. Пакетные данные часто записываются и считываются по разделам событийного времени, а задания по обработке данных планируются на определенные интервалы времени и имеют четкие временные границы начала и завершения.

Основная техническая проблема при заполнении конвейеров пакетных данных заключается в отслеживании данных: какие задания обновляли, в какие временные диапазоны и т.д. Четкая последовательность данных позволяет дата-инженерам легко определить последующие задания, на которые негативно повлияли проблемные разделы данных. Современные форматы таблиц Lakehouse, такие как Apache Iceberg, предоставляют доступные для запросов журналы изменений на уровне таблиц и снимки истории, что позволяет пользователям вернуть любую таблицу к определенной версии в случае, если недавнее обновление данных повредило таблицу. Чем меньше метаданных о происхождении данных, тем больше ручной работы потребуется для оценки последствий и восстановления данных.

 

Системы потоковой передачи данных

Исходные данные, используемые в потоковых системах, таких как Apache Kafka, часто имеют ограниченный срок хранения из-за высокой стоимости хранения данных. Например, для потоков данных в веб-масштабе хранение данных часто устанавливается на уровне нескольких часов, что позволяет сохранить затраты на разумном уровне. Поскольку устранение сбоев может занимать несколько часов, а то и дней, срок хранения исходных данных может истечь еще до их пополнения. В результате сохранение данных часто становится проблемой при резервном заполнении потоков событий.

Ниже приведены самые распространенные методологии обратного заполнения для систем потоковой передачи данных: 

МЕТОДЫ НАПОЛНЕНИЯ СИСТЕМ ПОТОКОВЫХ ДАННЫХ

Метод

Описание

Воспроизведение исходных потоков

Повторная обработка исходных данных за проблемный период времени до того, как истечет срок хранения в исходных системах (например, Apache Kafka). Многоуровневое хранилище может помочь снизить стоимость хранения данных.

Lambda- архитектура

Поддержание параллельного приложения для работы с пакетными данными (например, Apache Spark), считывающего исходные данные из хранилища Lakehouse с длительным сроком хранения.

Kappa - архитектура

Приложение для потоковой передачи данных способно передавать данные как из потоков данных (для производства), так и из хранилища Lakehouse (для пополнения).

Унифицированная пакетная и потоковая передача данных

Фреймворки для обработки данных, такие как Apache Beam, поддерживают как потоковый (для производства), так и пакетный режим (для резервного копирования).

 

Предотвращение регрессий качества данных

Допустим, в конвейере данных реализован полный набор метрик качества данных и механизм восстановления данных, гарантирующий, что в любой момент можно будет восстановить достоверные исторические данные. Что может пойти не так? Без определенных механизмов предотвращения регрессий команда дата-инженеров может лишь пассивно реагировать на проблемы с качеством данных, раз за разом тушить один и тот же пожар. Для того, чтобы действительно защитить конвейер данных, дата-инженеры должны проактивно создавать программные контракты с данными, чтобы пресечь регресс качества данных на корню.

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

 

 

Заключение

Качество данных должно быть главным приоритетом каждого конвейера данных, а архитектура данных должна разрабатываться с учетом обеспечения высокого качества данных. Первым шагом в создании надежных и устойчивых систем данных является определение набора показателей качества данных на основе бизнес-показателей. Показатели качества данных должны фиксироваться как часть системы данных и постоянно отслеживаться, а данные должны иметь возможность постоянного резервного копирования, чтобы минимизировать потенциальное воздействие на последующих пользователей в случае возникновения проблем с качеством данных. И последнее, но не менее важное: дата-инженеры должны создавать программные контракты с данными в виде кода, чтобы проактивно предотвращать регрессии качества данных.

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

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
MDM и CDP: различия систем. Как сделать выбор?
Следующая статья →
Кто должен отвечать за качество данных?

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • «Восток-Запад» – крупнейший поставщик продуктов в рестораны, кафе, гостиницы, кейтеринговые компании, столовые, комбинаты питания и кондитерские производства. 300+ городов регулярной доставки по всей территории России и странам СНГ; 3500+ товаров профессиональных брендов.

  • «ПрофХолод» — крупнейший в России производитель сэндвич-панелей с пенополиуретаном. 

  • СберКорус (Группа компаний Сбербанка) – это ИТ‑компания, ИТ‑интегратор, SaaS-провайдер. Является разработчиком цифровых сервисов и услуг для автоматизации широкого диапазона бизнес-процессов юридических лиц. В 2004 году компания стала первым в России оператором электронного документооборота, а в 2012 году вошла в экосистему Сбера. 

  • KERAMA MARAZZI — международный бренд, входящий в число лидеров глобального рынка керамики. Бизнес компании охватывает весь процесс создания керамических изделий, от глиняных карьеров до фирменной розницы во всех крупных городах РФ и за рубежом.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.