d9e5a92d

Инструменты ETL


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

Многие коммерческие инструменты поддерживают процесс ETL для Хранилищ данных на комплексном уровне, например, COPYMANAGER (Information Builders), DATASTAGE (Informix/Ardent), EXTRACT (ETI), POWERMART (Informatica), DECISIONBASE (CA/Platinum), DATATRANSFORMATIONSERVICE (Microsoft), METASUITE (Minerva/Carleton), SAGENTSOLUTIONPLATFORM (Sagent) и WAREHOUSEADMINISTRATOR (SAS). Для единообразного управления всеми метаданными по источникам данных, целевым схемам, маппированиям, скриптам и т.д. они используют репозиторий на основе СУБД. Схемы и данные извлекаются из оперативных источников данных как через "родной" файл и шлюзы СУБД DBMS, так и через стандартные интерфейсы - например ODBC и EDA. Преобразования данных определяются через простой графический интерфейс. Для определения индивидуальных шагов маппирования обычно существует собственный язык правил и комплексная библиотека предопределенных функций преобразования. Эти средства поддерживают и повторное использование существующих преобразованных решений, например внешних процедур C/C++ с помощью имеющегося в них интерфейса для их интеграции во внутреннюю библиотеку преобразований. Процесс преобразования выполняется либо системой, интерпретирующей специфические преобразования в процессе работы, либо откомпилированным кодом. Все средства на базе системы (например, COPYMANAGER, DECISIONBASE, POWERMART, DATASTAGE, WAREHOUSEADMINISTRATOR), имеют планировщик и поддерживают технологические процессы со сложными зависимостями выполнения между этапами преобразования. Технологический процесс может также помогать работе внешних средств (скажем, в специфических задачах очистки это будут очистка имен/адресов или исключение дубликатов).

Средства ETL обычно содержат мало встроенных возможностей очистки, но позволяют пользователю определять функциональность очистки через собственный API. Как правило, анализ данных для автоматического выявления ошибок и несоответствий в данных не поддерживается. Тем не менее, пользователи могут реализовывать такую логику при работе с метаданными и путем определения характеристик содержимого с помощью функций агрегации (sum, count, min, max, median, variance, deviation,:). Поставляемая библиотека преобразований отвечает различным потребностям преобразования и очистки - например конверсию типов данных (в частности, переформатирование данных), строковые функции (расщепление, слияние, замена, поиск по подстроке), арифметические, научные и статистические функции и т.д. Извлечение значений из атрибутов свободного формата автоматизировано неполностью, и пользователю приходится определять разделители, разграничивающие фрагменты значений.

Языки правил обычно охватывают конструкции if-then и case, способствующие обработке исключений в значениях данных, - неверных написаний, аббревиатур, утраченных или зашифрованных значений и значений вне допустимого диапазона. Эти проблемы могут также решаться с помощью функциональных возможностей по выборке данных из таблиц. Поддержка согласования элементов данных обычно ограничена использованием возможностей объединения и нескольких простых строковых функций соответствия, например точного или группового соответствия или soundex. Тем не менее, определенные пользователем функции соответствия полей, так же как и функции корреляции сходства полей, могут программироваться и добавляться во внутреннюю библиотеку преобразований.

Другая классификация средств очистки данных, предложенная Джули Борт, подразделяет инструменты очистки данных на две условные категории:

• универсальные системы, предназначенные для обслуживания всей базы данных целиком;

• верификаторы имени/адреса для очистки только данных о клиентах.

Суть этой классификации, изложенная в [94], приведена ниже.

Универсальные системы. К этой категории относится большая часть продуктов, имеющихся на рынке. Это: Enterprise Integrator компании Apertus; Integrity Data Reengineering Tool производства Validy Technology; Data Quality Administrator от Gladstone Computer Services; Inforefiner фирмы Platinium Technology; QDB Analyze (производство QDB Solutions) Trillium Software System компании Hart-Hanks Data Technologies.

Эти системы следует выбирать тогда, когда речь идет о создании банков данных всего предприятия и, соответственно, о сплошной очистке данных. Каждая система использует собственную технологию и имеет собственную сферу приложений. Некоторые из них работают в пакетном режиме, например Trillium, которая просматривает данные в поисках определенных образов и обучается на основе найденной информации. Образы, подлежащие распознаванию (скажем, названия фирм или городские адреса), задаются на этапе предварительного программирования. Другие продукты, как то системы компаний Apertus и Validy, представляют собой средства разработки. В первой применяются правила, написанные на языке Object Query Language. С ней довольно легко работать, но для написания правил требуется настоящее мастерство.

Система компании Validy при отборе записей использует алгоритмы нечеткой логики и делает этот очень эффективно, выуживая такое, что человеку просто в голову не пришло бы проверять. Но эту систему труднее освоить.

Верификаторы имени/адреса. В простых системах, наподобие систем анализа рынка, вполне можно обойтись очисткой имен и адресов. Примеры продуктов этой категории: Nadis компании Group 1 Software и пакет компании Postalsoft. Последний содержит три библиотеки: исправления и кодировки адресов, оформления правильных имен и слияния/очистки. Первая библиотека корректирует адреса, вторая предлагает способ их стандартизации, третья выполняет консолидирующие функции.

Эти продукты проще использовать, и, поскольку область применения их не так широка, работу по очистке они выполнят значительно быстрее. В качестве дополнительной функции это программное обеспечение придает адресам вид, отвечающий требованиям почты. К примеру, Nadis автоматически преобразует имя и адрес в стандарт Universal Name and Address data standard.

Дополнительный продукт компании Group 1, Code-1 Plus, проверяет список адресов на соответствие требованиям. Сертификация гарантирует корректность ZIP-кода и используется при больших объемах исходящей почты. Те, кто применял эти средства, говорят, что автоматизация работы по обеспечению соответствия адресов различным правилам, установленным почтовым ведомством, стоит затраченных усилий и средств, даже если приходится дополнять названные пакеты другими средствами очистки.

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

Рич Олшефски (Rich Olshefski) предлагает классификацию ошибок в данных, которые возникают в результате использования средств очистки [95]. Эти ошибки являются двумя крайностями очистки данных. Качественные, правильно очищенные данные находятся где-то на "золотой середине" между этими между этими крайностями по очистке и редактированию данных.



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

Ошибка Типа 2 возникает, когда инструменты очистки полностью упускают существующую проблему.

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

 

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

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

Другим путем чрезмерной компенсации ошибок Типа 1 является внесение слишком малого числа исправлений.

А самые примитивные - и поэтому наиболее опасные -программы очистки данных стараются компенсировать и ошибки Типа 2, выдавая на выходе нечто гораздо более скверное, чем то, что было до "очистки".

•              не затрагивать правильные данные;

•              исправлять неверные;

•              создавать небольшой по объему отчет о подозрительных записях;

•              требовать минимальных затрат на установку, обслуживание и ручные проверки.

Именно такая программа будет "золотой серединой" между ошибками Типа 1 и 2.

Каким же образом можно достичь такого равновесия?

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

Рич Олшефски предлагает советы по выбору программного обеспечения, поддерживающего равновесие между двумя возможными перегибами в процессе очистки данных.

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

•              Проведите небольшой опыт. Попросите вашего потенциального поставщика описать, как его решение обрабатывает ошибки Типов 1 и 2. Если он не понимает, о чем речь, даже после того как вы объяснили ему терминологию, вы явно обращаетесь не по адресу -либо это не специалист, либо вообще не тот поставщик, что вам нужен.

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

•              Необходимо удостовериться, что вы владеете полной информацией о продукте. Убедитесь, что вы ясно представляете себе стоимость установки, обслуживания и объем организационной работы. Цена самого продукта может оказаться лишь вершиной айсберга. Вы должны точно представлять себе, что именно вас ожидает.

"Очистка данных" может иметь множество значений, но в целом она означает обеспечение поддержки очистки данных, так или иначе связанных с потребителем. Инструменты очистки данных обычно выполняют одну или несколько из следующих функций [96].

Парсинг. Имя и адрес клиента часто хранится в текстовых полях свободного формата. Текст свободного формата иногда труден для разбиения на самостоятельные подстроки, соответствующие типу поля, к которому они относятся (номер улицы, улица адреса, город, штат, индекс и другие данные подобного характера). Программное обеспечение, осуществляющее парсинг, распознает такие подстроки и назначает им соответствующие поля. К тому же, парсинг фирм и стандартизация слов, связанных с описанием фирм, позволяет программе полностью проверить данные о фирмах - (включая сокращения и Стандартизация. Данные имен и адресов могут вводиться в различных форматах, многие из которых вполне грамматически корректны. Например, "Улица", "Ул." и "Ул" обозначают одно и то же очевидное понятие в составе адреса. У Почтовой службы Соединенных Штатов Америки существуют стандарты для этих и других подобных случаев. Программы стандартизации трансформируют такие поля в согласованный набор обозначений, подходящих для Почтовой службы. Самым важным объектом стандартизации являются записи по клиентам, точность которых может быть существенно повышена за счет использования процесса согласования, описанного далее.

Проверка допустимости. Множество поставщиков предлагают средства распознавания допустимых международных и американских адресов. Некоторые приложения объединяются с программами проверки допустимости и файлами почтовых адресов, проверяющих допустимость международных адресных данных.

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

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




Содержание раздела