Автор: Пользователь скрыл имя, 12 Марта 2015 в 14:10, контрольная работа
Очистка данных (data cleaning, data cleansing или scrubbing) занимается выявлением и удалением ошибок и несоответствий в данных с целью улучшения качества данных. Проблемы с качеством встречаются в отдельных наборах данных - таких, как файлы и базы данных, - например, как результат ошибок при вводе, утери информации и других загрязнений данных.
Очистка данных: проблемы и актуальные подходы
1. Введение
Очистка данных (data cleaning, data cleansing или scrubbing) занимается выявлением и удалением ошибок и несоответствий в данных с целью улучшения качества данных. Проблемы с качеством встречаются в отдельных наборах данных - таких, как файлы и базы данных, - например, как результат ошибок при вводе, утери информации и других загрязнений данных. Когда интеграции подлежит множество источников данных, например - в Хранилищах, интегрированных системах баз данных или глобальных информационных Интернет-системах, - необходимость в очистке данных существенно возрастает. Это происходит оттого, что источники часто содержат разрозненные данные в различном представлении. Для обеспечения доступа к точным и согласованным данным необходима консолидация различных представлений данных и исключение дублирующейся информации.
Рисунок 1. Шаги построения Хранилища данных: ETL-процесс
Хранилища данных требуют и одновременно обеспечивают всестороннюю поддержку очистки данных. Они загружают и постоянно обновляют огромные объемы данных из различных источников, поэтому вероятность попадания в них "грязных данных" весьма высока. Более того, Хранилища данных используются для принятия решений, следовательно, чтобы некорректные данные не привели к некорректным выводам, просто жизненно необходимо проводить корректировки таких данных. Например, дублирующаяся или утраченная информация может стать причиной некорректной или неадекватной статистики ("мусор на входе - мусор на выходе "). Ввиду большого спектра возможных несоответствий в данных и большого объема данных их очистка считается одной из самых крупных проблем в технологии Хранилищ данных. В процессе так называемого ETL (извлечения, преобразования, загрузки - extraction, transformation, loading), показанного на Рис. 1, дальнейшее преобразование данных связано с трансляцией схемы/данных и интеграцией, а также с фильтрацией и агрегацией данных, предназначенных для Хранилища данных. Как показано на Рис. 1, вся очистка данных обычно выполняется в отдельной области подготовки данных до загрузки преобразованных данных в Хранилище. Существует множество средств с различной функциональностью, предназначенных для поддержки подобных задач, однако часто достаточно большой объем работы по очистке и преобразованию приходится выполнять вручную или низкоуровневыми программами, трудными для написания и использования.
Интегрированные системы баз данных и информационные Интернет-системы требуют практически такого же преобразования данных, что и Хранилища. В частности, обычно для каждого источника данных существует некий упаковщик, предназначенный для извлечения, и посредник (медиатор) для интеграции. До настоящего времени эти системы обеспечивали весьма ограниченную поддержку очистки данных, концентрируясь в основном на их преобразовании для трансляции и интеграции схемы. Данные не интегрируются заранее, как для Хранилища, однако все равно требуют извлечения из нескольких источников, преобразования и объединения в процессе отработки запросов. Коммуникационные процессинговые задержки могут быть весьма значительными, что существенно затрудняет достижение приемлемого времени отклика. А очистка данных и интеграция еще больше увеличивает это время, хотя и позволяет получить более полноценные результаты запроса.
Метод очистки данных должен удовлетворять ряду критериев. Во-первых, он должен выявлять и удалять все основные ошибки и несоответствия, как в отдельных источниках данных, так и при интеграции нескольких источников. Метод должен поддерживаться определенными инструментами, чтобы сократить объемы ручной проверки и программирования, и быть гибким в плане работы с дополнительными источниками. Далее, очистка данных не должна производиться в отрыве от связанных со схемой преобразования данных, выполняемых на основе сложных метаданных. Функции маппирования для очистки и других преобразований данных должны быть определены декларативным образом и подходить для использования в других источниках данных и в обработке запросов. Инфраструктура технологического процесса должна особенно поддерживаться для Хранилищ данных, обеспечивая эффективное и надежное выполнение всех этапов преобразования данных для множества источников и больших наборов данных. Поскольку большая часть исследований касалась трансляции и интеграции схемы, исследовательское сообщество уделяло совсем мало внимания очистке данных. Ряд исследовательских групп занимаются общими проблемами, так или иначе связанными, в том числе, и с очисткой данных - например, специфическими подходами к data mining и преобразованию данных на основании сопоставления схемы. В последнее время ряд исследований коснулись более сложного единого подхода к очистке данных, касающегося ряда аспектов преобразования, специфических операторов и их реализации. В данной статье предлагается обзор проблем в области очистки данных и их решение. Следующий раздел посвящен классификации проблем, раздел 3 рассматривает основные подходы к очистке, использованные в современных средствах и исследовательской литературе. Раздел 4 представляет собой обзор коммерческих средств очистки данных, в том числе и инструментов ETL. Раздел 5 подводит итог изложенному.
2. Проблемы очистки данных
Этот раздел классифицирует основные проблемы в области очистки данных, подлежащие решению при очистке и преобразовании данных. Как будет видно далее, эти проблемы тесно связаны и поэтому должны решаться в комплексе. Преобразование данных требуется для поддержки любых изменений в структуре, представлении или содержании данных. Эти преобразования становятся необходимы в разных ситуациях, например при изменении структуры данных, переходе на новую информационную систему или в случае, когда нужно интегрировать множественные источники данных. Как показано на Рис. 2 мы проводим четкий водораздел между проблемами с одним и со множеством источников и между проблемами со схемой и с элементами данных. Проблемы уровня схемы, разумеется, отражаются и в элементах данных; они решаются с помощью ее улучшения, трансляции и интеграции схемы данных. С другой стороны, проблемы уровня элемента данных связаны с ошибками и несоответствиями в содержимом текущих данных, незаметных на уровне схемы. Они-то и являются основной целью очистки. Рис. 2 отражает также некоторые частичные проблемы для различных случаев. Хотя этого и нет на Рис. 2, проблемы в отдельных источниках с увеличивающейся вероятностью встречаются и в случае множества источников, - и это помимо специфических проблем, характерных для таких случаев.
Рисунок 2. Классификация проблем качества данных в источниках данных
2.1. Проблемы отдельных источников данных
Качество данных источника в значительной мере зависит от степени их соответствия схеме и ограничений целостности, контролирующих допустимые значения данных. Для источников без схемы - таких, как файлы - существует мало ограничений на вводимые и хранимые данные, что ведет к росту вероятности ошибок и несоответствий. С другой стороны, системы баз данных навязывают ограничения специфической модели данных (например, реляционный подход требует простых значений атрибутов, целостности ссылок и др.) так же, как и ограничения целостности, связанные со спецификой приложения. Таким образом, проблемы с данными, связанные со схемой, случаются ввиду недостатка соответствующих модели или приложению ограничений целостности, - например, в результате ограничений модели данных, или не слишком удачной схемы, или из-за того, что были определены лишь некоторые ограничения целостности для контроля над накладными расходами по отслеживанию целостности. Проблемы, связанные с элементами данных, являются результатом ошибок или несоответствий, которые невозможно предотвратить на уровне схемы (например, орфографические ошибки).
Таблица 1. Примеры проблем отдельного источника данных на уровне схемы (нарушение ограничения целостности)
Для проблем и уровня схемы и уровня элемента данных можно разделить различные проблемные области: атрибут (поле), запись, тип и источник записи; примеры для различных случаев показаны в Таблицах 1 и 2. Следует заметить, что уникальность ограничений, определенная на уровне схемы, не защищает от дублирования элементов данных, например, если информация по одному и тому же объекту реального окружения вводится дважды, но с различными значениями атрибута (см. пример в Таблице 2).
Таблица 2. Примеры проблем отдельных источников данных на уровне элемента
Учитывая, что очистка источников данных представляет собой довольно дорогостоящий процесс, предотвращение ввода загрязненных данных является важным шагом в уменьшении проблем, связанных с очисткой данных. Для этого требуется соответствующим образом спроектированные схема базы данных и ограничения целостности, а также приложения для ввода данных. Кроме того, выявление правил очистки данных в процессе проектирования Хранилища может дать основания для улучшения ограничений, вызванных существующими схемами.
2.2. Проблемы множественных источников данных
Проблемы, представленные в отдельных источниках, усугубляются в случае интеграции множества источников данных. Каждый источник может содержать загрязненные, а также представленные различным образом, перекрывающие и противоречащие друг другу данные. Причиной этому - обычно независимая разработка, внедрение и поддержка источников, ориентированная на специфические потребности предприятий. В результате проявляется значительная неоднородность в системах управления данными, моделях данных, планах схем и текущих данных.
На уровне схемы отличия модели данных и проекта схемы можно обрабатывать в рамках, соответственно, трансляции и интеграции схемы. Основные проблемы при проектировании схемы - это конфликты наименований и структурные конфликты. Конфликты наименования происходят, когда одно и то же имя используется для различных объектов (омонимы) или различные имена используются для одного и того же объекта (синонимы). Структурные конфликты проявляются в различных вариациях и связаны с различными представлениями одного и того же объекта в различных источниках, например, атрибутивное представление против табличного, различная структура компонентов, различные типы данных, различные ограничения целостности, и т.д. В дополнение к конфликтам на уровне схемы, множество конфликтов встречается только на уровне элемента данных (конфликты данных). Все проблемы отдельных источников могут появляться в различных представлениях в различных источниках (например, дубликаты записей, противоречащие записи и т.д.). Более того, даже когда встречаются одни и те же имена атрибутов и типы данных, тем не менее, представления (например, для семейного статуса) или интерпретации значений (например, единицы измерения доллара и евро) от источника к источнику могут различаться. Кроме того, информация в источниках может быть представлена в различных уровнях агрегации (например, продажи по продуктам против продаж по группам продуктов) или относиться к различным периодам (например, текущие продажи на вчерашний день для источника 1 против текущих продаж на прошлую неделю для источника 2).
Основной проблемой очистки данных из множества источников является выявление перекрывающихся данных, в особенности - соответствующие друг другу данные, относящиеся к одному и тому же объекту реального окружения (например, потребитель). Эту проблему называют также проблемой идентичности объекта, проблемой исключения дублирования или проблемой слияния/удаления. Часто информация только местами избыточна и источники могут дополнять друг друга, обеспечивая более полную информацию об объекте. Конечно же, дублирующаяся информация должна удаляться, но при этом дополняющая информация должна консолидироваться и соединяться, чтобы объекты реального окружения получили согласованное представление.
Потребитель (источник 1) ID
Клиент (источник 2) №
Потребители (объединение целевых данных с очищенными)
Рисунок 3. Примеры проблем множества источников на уровне схемы и элемента данных
Хотя оба источника из примера на Рис. 3 представлены в реляционном формате, однако они отражают конфликты схемы и данных. На уровне схемы существуют конфликты имен (синонимы Потребитель/Клиент, Идентификатор/Номер, Пол/Род) и структурные конфликты (различные представления имен и адресов). На уровне элемента данных можно наблюдать различные представления рода ("0"/"1" против "F"/"M") и вероятно дублирующиеся записи (Кристен Смит). Последнее также позволяет увидеть, что, несмотря на то, что Идентификатор/Номер оба являются идентификторами, характерными для конкретных источников, их содержимое не сравнимо между собой; различные номера (11/493) могут относиться к одному и тому же лицу, а различные лица могут иметь один и тот же номер (24). Решение данных проблем требует одновременно и интеграции схемы и очистки данных; третья таблица демонстрирует возможное решение. Следует отметить, что конфликты схемы необходимо урегулировать в первую очередь, чтобы обеспечить возможность очистки данных, в особенности - выявление дубликатов на основе унифицированного представления имен и адресов и сопоставления значений Род/Пол.
3. Методы очистки данных
В целом, очистка данных включает несколько этапов:
Анализ данных: для выявления подлежащих удалению видов ошибок и несоответствий, необходим подробный анализ данных. Наряду с ручной проверкой данных или их шаблонов, следует использовать аналитические программы для получения метаданных о свойствах данных и выявления проблем качества данных.
Определение порядка и правил преобразования данных: В зависимости от числа источников данных, степени их неоднородности и загрязненности данных, они могут требовать достаточно обширного преобразования и очистки. Иногда для отображения источников для общей модели данных используется трансляция схемы; для Хранилищ данных обычно используется реляционное представление. Первые шаги по очистке данных могут скорректировать проблемы отдельных источников данных и подготовить данные для интеграции. Дальнейшие шаги должны быть направлены на интеграцию схемы/данных и устранение проблем множественных элементов, например - дубликатов. Для Хранилищ в процессе работы по определению ETL должны быть определены методы контроля и поток данных, подлежащий преобразованию и очистке (Рис. 1).
Информация о работе Очистка данных: проблемы и актуальные подходы