#8. Качество данных и всё что с ним связано
"Это глубокая ошибка теоретизировать прежде чем иметь на руках данные" - Шерлок Холмс
Среди многочисленных тем связанных с данными одна является одной из наиболее актуальных и значимых и тем сложнее к ней подступаться чтобы хотя бы начать. Это тема качества данных (data quality). Эта тема очень большая, входящая в тему управления данными (data governance) и охватить её разом не получится, поэтому я сейчас скорее “пробегусь по верхам“, а далее уже в отдельных рассуждениях в следующих письмах буду писать про отдельные её области.
Качество данных
Теория
Качество данных необходимо рассматривать как явление, характеристику набора данных или базы данных или совокупности наборов и баз данных вместе. И качество данных - это процесс по оценке пригодности данных к использованию и приведения их в форму и содержание пригодные для задач с которыми Вы работаете.
На эту оценку пригодности данных влияет очень много факторов:
ошибки при передаче данных
пропуски в данных
ошибки ввода
ошибки в форматах
неполнота форматов и стандартов
шум
дубликаты
ошибки при промежуточных преобразованиях данных
неполнота и ошибки в описании структуры данных и метаданных
и ещё довольно много чего.
Существует стандарт ISO 8000 по качеству данных и мастер данным и ISO/IEC 25012:2008 по моделям качества данных в программной инженерии.
Во многих компаниях и государственных органах и в отдельных проектах есть свои руководства по обеспечению качества данных.
Наиболее часто направления контроля качества данных описывают как:
Полнота. Насколько полны данные? Есть ли известные пробелы?
Аккуратность. Насколько данные аккуратны и корректны? До какого уровня?
Сбор. Какой способ сбора данных и насколько он корректен?
Соответствие. Насколько эти данные соответствуют форматам и стандартам и относятся к другим базам данных?
Репрезентативность. Насколько эти данные репрезентативны по отношению к контексту или сценарию к которым они относятся?
Своевременность. Насколько данные своевременны?
Соответствие цели. Насколько данные соответствуют целям их сбора?
Помимо этих понятий уже давно качество данных напрямую завязывают на управление данными, как data governance или data management. Чаще всего в это вкладывается то какое влияние у Вас есть на источники данных, насколько Вы знаете что с ними происходит и насколько Вы можете повлиять на то как происходящее соответствует задачам которые Вы решаете.
Живые примеры
Орган власти публикует реестр организаций прошедших аккредитацию, получивших лицензию или подпадающих под какие-либо требования. При этом в реестре содержатся ошибки в реквизитах организаций, неправильно указаны коды ОГРН или ИНН или названия организацией и так далее. Как следствие какие-то организации не будут найдены в этом реестре не потому что их там нет, а потому что их внесли с ошибками.
Статистическая служба публикует статистику по заболеваемости раз в год по болезни динамика развития которой имеет строгую сезонную природу, в результате данные для пользователей оказываются несвоевременны, не полны и не консистенты. Они не детализированы до месячного разреза, не дают возможности оперативно измерить динамику болезни и принять меры и не соответствуют текущей ситуации.
Организация ведет реестр объектов строительства собираемый из разных источников. Эти источники имеют разные форматы, разные стандарты метаданных, разные системы координат объектов и их описания, а также сложную историю изменений в форматах и большие объёмы унаследованных данных (legacy data). В результате оказывается что координаты объектов указаны неверны для многих объектов, а для унаследованных данных отсутствуют существенные сведения и данные обладают низкой полнотой.
В корпоративном мире
В магическом квадрате Gartner от июня 2020 года посвящённом решениям по качеству данных лидируют немногочисленные крупные вендоры: Informatica, IBM, SAP, SAS, Oracle и другие.
Большая часть этих решений - это комплексные корпоративные платформы построенные по принципу vendor-lock in. Связавшись с любой из них Вы связываетесь надолго и отказаться от выбранного решения в будущем уже очень сложно.
Важный момент в том что у крупных вендоров, как правило, много продуктов по теме качества данных. Это, продукты в таких направлениях как:
Качество данных - ETL инструменты очистки и обработки данных;
Управление мастер данными - MDM системы для ведения справочных данных
Обогащение и стандартизация данных - инструменты повышения качества данных через приведение их в нормальную форму и расширение
Каталоги данных - систематизированные репозитории повышающие находимость данных
Такой пул продуктов есть и у Informica, и у IBM и у многих крупных игроков. Всё это часть платформ управления данными (data governance).
Обратите внимание что каталоги данных - это тоже продукты в области качества данных. Корпоративные каталоги как часть платформ управления данными решают задачу находимости данных и управления метаданными. Полнота информации о базах данных в каталоге - это тоже метрика измерения качества данных.
Значимые тренды в корпоративном мире контроля качества данных - это:
Intelligent data quality которое ещё называют AI-driven data quality когда отслеживание ошибок и их исправление происходит автоматически или с большой автоматизацией.
Cloud solutions как следствие развития корпоративных облаков, вендоры создают облачные варианты своих продуктов и продают через маркетплейсы облаков вроде Amazon AWS или как отдельные облачные решения.
Multicloud solutions аналогично, решения рассеяные по нескольким облакам, частным и общественным. Когда, например, часть деперсонализированных расчётов для data science может делаться за пределами корпоративного облака. Но есть и другие задачи и также позиционируется как часть решений по data governance.
DataOps включает качество данных, по сути большая часть преобразований с данными - это часть их подготовки к будущему применению. Большее число новых продуктов по data engineering создаются как раз с оглядкой на потребителей в рамках DataOps.
Облака и стартапы
На уровне облачных решений/облаков пока нет универсальных инструментов работы с качеством данных. У Amazon’а есть библиотека с открытым кодом Deequ заточенная под измерение качества данных в AWS. Но, в целом, нет готовых решений по контролю качества данных клиентов.
Отчасти это по той причине что вопросы качества данных очень сильно заточены под процессы компаний. То как данные создаются и то как данные потом используются. И это требует довольно обширной экспертизы.
По моим наблюдениям стартапы работающие с данными практически не используют корпоративные продукты и наоборот разрабатывают собственные инструменты, но почти все в рамках управления данными в целом и значительно реже только про контроль качества.
Появится ли когда-либо что-либо универсальное про качество данных и про работу с данными в облачной среде - вот в чём вопрос.
Инструменты с открытым кодом
Инструментов работы над качеством данных именно как отдельных продуктов/проектов совсем не так много.
Apache Griffin пока ещё в инкубаторе Apache, проект по оценке качества данных на основе разрабатываемых моделей. Вышел из открытого проекта опубликованного eBay.
DataCleaner инструмент с GUI и API по очистке данных. Его общественная версия с открытым кодом.
Qualitis платформа с открытым кодом китайского происхождения. Нехватает документации для понимания полноты возможностей.
Amazon Deequ инструмент проверки больших данных по метрикам качества.
OpenRefine инструмент с открытым кодом по преобразованию данных, применяется, в том числе, для ручной чистки данных.
Заметки
большая часть проблем с качеством данных лежат, как ни странно, не в технической области. Либо имеют относительно простые решения другими инструментами. Например для ведения реестров организаций достаточно одной платформы для всех органов власти в которой были бы предусмотрены сверка с эталонными справочниками, автоматическая актуализация и тому подобное. Она могла бы заменить десятки тысяч Excel и PDF файлов рассеяных по сайтам органов власти.
прямой перенос корпоративных систем управления данными, включая управление качеством данных на госорганы - это довольно безрассудная идея которая может работать в каких-то вертикально выстроенных областях деятельности, но крайне сложна в создании чего-либо универсального.
Ссылки
Data Quality Guideline правительства штата Виктория в Австралии
Data Quality Guidelines в GSA США
Data Quality and Documentation проекта океанических данных США ocean.data.gov
В недавнем русском переводе DmBok использовали термин "руководство данными" для data governance, что бы отличать его от data management