|
||||||||
|
|
Применение репозитария Microsoft
В последние годы наиболее удачный опыт работы с хранилищами
данных непременно включает использование репозитария - отдельно существующей
базы данных с информацией о самом хранилище. Сведения, помещенные в
репозитарий, помогают людям оценить влияние перемен, проследить истоки
возникновения проблем, и лучше понять, на основании каких данных принимаются
ключевые решения. Репозитарий Microsoft Repository является важной составной
частью концепции хранилищ данных корпорации Microsoft. Приведенные в данной
статье примеры помогут читателям понять, как использовать репозитарий с
максимальным эффектом. Патрик Кросс, Саид Раими, SQL Server Magazine Online/RE, #2/2000 Понимание технологии использования репозитария способно существенно повысить
производительность хранилищ данных. Важную часть разработанной корпорацией
Microsoft стратегии применения хранилищ данных составляет работа с
репозитарием. Репозитарии могут предоставить пользователям всю необходимую для
эффективной работы информацию. В последние годы наиболее удачный опыт работы с
хранилищами данных непременно включает использование репозитария - отдельно
существующей базы данных с информацией о самом хранилище. Сведения, помещенные
в репозитарий, помогают людям оценить влияние перемен, проследить истоки
возникновения проблем, и лучше понять, на основании каких данных принимаются
ключевые решения. Репозитарий Microsoft Repository является важной составной
частью концепции хранилищ данных корпорации Microsoft. Приведенные в данной
статье примеры помогут читателям понять, как использовать репозитарий с
максимальным эффектом. Что такое репозитарий?
Репозитарий - это место хранения метаданных, то есть сведений о данных. За
последние 20 лет несколько производителей программных продуктов выпускали свои
варианты репозитариев, начиная с появившихся еще в 1960-е годы словарей данных.
В течение этого периода времени произошла эволюция репозитариев от простеньких
словарей данных к сложнейшим системам для хранения сведений из сотен приложений
и информационных сред. Совсем недавно корпорация Microsoft объявила, что
репозитарий входит в качестве составной части в инфраструктуру хранилища данных
(которая оформлена в виде набора средств, поставляемых с SQL Server). Тем самым
корпорация признала важность той роли, которую репозитарии играют в общей
технологии применения хранилищ данных. Для интеграции обмена информацией в
пределах репозитария корпорация Microsoft использует язык XML (Extensible
Markup Language). Этот язык обеспечивает простой и доступный способ обмена
метаданными между различными инструментальными средствами. Большой интерес к
репозитариям, возникший в последнее время, обязан своим происхождением тому,
что деловые люди осознали необходимость хранилищ данных и управления знаниями, а
также неизбежность интеграции прикладных систем в рамках предприятия. Что относится к метаданным?
По определению Билла Инмона, признанного основоположника концепции хранилищ
данных, метаданные "представляют собой описание структуры данных, их
содержания, ключей, индексов и т.д.". Цитата взята из книги
"Управление хранилищем данных" (Managing the Data Warehouse),
выпущенной издательством John Wiley & Sons в 1996 году. Более конкретно, в
среде хранилищ данных метаданные являются информацией о сведениях, помещаемых в
хранилище, о том, каким образом можно извлечь данные из хранилища, а также
информацией о качестве данных в хранилище. Метаданные даже могут содержать
информацию о том, как использовать различные инструменты хранилища для
выполнения тех или иных задач. Метаданные о хранилище включают сведения о
системах; процессах; о базах данных, являющихся источниками и получателями
информации; о преобразованиях данных; о процедурах выверки данных; о доступе к
информации; о витринах данных и о средствах OLAP. Например, метаданные хранилища могут рассказать о том, каким образом
инструментарий OLAP вычисляет для отчета значения, помещаемые в столбец с
итоговыми суммами продаж. Предположим, что пользователь не знает больше ничего
о хранилище данных. Тогда, глядя на региональный отчет о продажах, он мог бы
подумать, что в общую сумму продаж включены все скидки, а также расходы на
отгрузку проданных товаров. Но общая сумма продаж может и не включать один или
несколько упомянутых элементов. Чтобы помочь пользователю выяснять подобные
вопросы, хранилище должно обладать метаданными, то есть информацией о том, как
столбцы отчета связаны со столбцами и таблицами исходных баз данных, какие
преобразования претерпела эта информация перед загрузкой в хранилище, какие
запросы используются при формировании отчета. Хранилище сможет предоставить эти
сведения, если в нем предусмотрено ведение метаданных об исходных базах данных
(об их таблицах и столбцах); об извлекаемой информации; о преобразовании
данных; о таблицах хранилища, куда поступают извлеченные сведения; о средствах
составления отчетов, используемых в хранилище; о структуре баз данных и об
инструментах моделирования. Многие функционирующие хранилища данных сегодня применяют простые
электронные таблицы, в которых записываются источники и получатели информации,
а также выполняемые преобразования данных. К сожалению, по истечении начального
этапа использования хранилища эти сведения быстро устаревают и становятся
недоступными большинству пользователей, взаимодействующих с хранилищем. Почему так важны метаданные?
Метаданные играют роль путеводителя по хранилищу данных. Метаданные помогают
пользователям выяснять, какие виды данных находятся в хранилище, что означают
эти данные, как получить к ним доступ, кто является их владельцем, кто и как их
ввел в хранилище. Без метаданных пользователи могут получить доступ к самим
данным, но не к информации о контексте, которая помогает им с уверенностью
принимать деловые решения. В настоящее время лучшие традиции работы с
хранилищами и витринами данных включают в качестве непременного элемента
выработку стратегии применения метаданных, что упрощает использование и
обновление хранилища данных. Метаданные могут снабжать дополнительной информацией о содержимом хранилища
данных. К примеру, аналитик может использовать метаданные для того, чтобы лучше
понять, какая информация ему доступна, и как она вычисляется. Метаданные
предоставляют детальные сведения о том, откуда берется информация и на их
основе можно проводить оценку степени доверия при описании достоверности
данных. Метаданные могут также включать хронологические сведения об активности,
предшествовавшей текущим процессам. Такая история важна для понимания того,
каким образом структуры и процессы меняются со временем. Если пользователь захочет
сравнить продажи по категориям товаров за последние два года, а категории
товаров были введены только год назад, то результаты такого сравнения будут
лишены смысла. Помимо всего перечисленного выше, метаданные образуют основу
информационно-справочной структуры, выступая как центральная база знаний
организации. Например, все читатели ежегодного регионального отчета будут иметь
одинаковое представление о том, из каких компонентов состоит итоговая сумма
продаж. Анализ влияние перемен, происходящих в хранилище данных, поможет значительно
снизить затраты на его сопровождение. В том случае, когда производятся
изменения одной из исходных таблиц, достаточно просто посмотреть, в каких
компонентах хранилища данных используются ее столбцы. Имея такую информацию,
нетрудно составить перечень изменений, которые необходимо выполнить, чтобы
адаптироваться к модификациям исходной системы. По аналогии с этим, гораздо
легче выполнять запросы на дополнительную информацию из хранилища, если знать,
откуда в действительности поступает эта информация. Прежде чем добавлять новые
данные в таблицу, просмотрите все источники данных для этой таблицы. Услуги, связанные с метаданными
Технология репозитариев представляет собой основу службы управления
метаданными в рамках SQL Server. Возможности, обеспечиваемые этой службой,
позволяют потребителям информации и людям, занятым обслуживанием репозитария,
получать весьма важную информацию. Наибольшую ценность представляют
информационные модели, процессор Microsoft Repository, технология обмена
сообщениями посредством XML и средства расширения. Информационные модели
Информационные модели определяют метаданные в терминах типов объектов и их
взаимоотношений. Таким образом, информационные модели служат языком для
описания информации, которая будет храниться в репозитарии. Консорциум хранилищ
данных корпорации Microsoft выбрал универсальный язык моделирования (UML) в
качестве языка для документирования и обмена информацией в информационных
моделях (подробнее об этом написано в статье "Открытые информационные
модели", опубликованной в этом номере журнала). Хотя пользователи могут
определять свои собственные информационные модели для описания метаданных, в
корпорации Microsoft была разработана открытая информационная модель (Open
Information Model - OIM) для использования в качестве единого общего средства
для хранения информации о системах, хранилищах данных и т.д. Процессор репозитария
Процессор Microsoft Repository отвечает за хранение и поиск метаданных.
Процессор использует информационные модели и хранит экземпляры метаданных,
описанные этими моделями, в таблицах и столбцах SQL Server. Для оптимизации
доступа к метаданным процессор применяет кэширование. Ведение версий
(Versioning) представляет собой важную часть услуг репозитария и является новым
словом в общей концепции репозитариев. Ведение версий подразумевает, что в
случае обновления объектов из репозитария все сделанные изменения фиксируются в
истории объектов репозитария, которая ведется автоматически. Предоставляя пользователям
возможность просматривать историю изменений объектов, репозитарий позволяет
отвечать на вопросы о динамике их развития во времени. К примеру, можно
проследить за добавлением новых столбцов данных в хранилище и позднее
проанализировать этот процесс с помощью запросов. Такая возможность помогает в
решении проблем, связанных с модификациями хранилища данных, вызывающими
неожиданные изменения в получаемых пользователями данных. Обмен информацией посредством XML
Помимо описания типов данных, которые могут храниться в репозитарии,
информационные модели включают формат XML для обмена метаданными между
репозитарием и другими инструментальными средствами. Пользователи могут с
легкостью импортировать информацию в репозитарий из собственных источников или
из других программных средств. В следующем номере журнала будут опубликованы
примеры приложений для работы с репозитарием. Среди них имеется и простой файл
XML, который можно использовать для загрузки данных в репозитарий. Расширяемость
Расширяемость является очень важной чертой репозитария, позволяющей
пользователям добавлять в модели информацию, соответствующую специфическим
особенностям их организации или применяемых средств. Расширять информационные
модели, используемые репозитарием, можно с помощью специального набора средств
(SDK - software development kit), входящего в состав Microsoft Repository. Если
организации необходимо хранить информацию о филиалах, которые не являются
частью базовой информационной модели, то ее можно расширить, включив новые
объекты и введя соответствующие связи для отслеживания этой информации. Можно
также добавлять новые свойства для сбора информации об уже существующих
объектах (например, ввести новый атрибут в таблицу). Интеграция с инфраструктурой хранилищ данных
Репозитарий является одним из компонентов инфраструктуры хранилищ данных и
важной частью стратегии применения SQL Server, разработанной корпорацией
Microsoft. Включая в комплект поставки SQL Server такие компоненты, как услуги
трансформации данных DTS, аналитический инструментарий OLAP, средства
формирования запросов на английском языке English Query и репозитарий
Repository, корпорация продает своим клиентам гораздо больше, чем просто базу
данных. Доступ к информации репозитария можно осуществить также с помощью SQL
Server Enterprise Manager. Для этого достаточно выбрать из меню пункт Data
Transformation Services, а затем подпункт Metadata. При этом становится
доступной информация о реляционной схеме, о программных модулях и о
происхождении данных. Пользователь получает возможность изучить взаимосвязь
столбцов данных и модулей, которые их обновляют. Услуги трансформации данных
DTS представляет собой средство для извлечения, трансформации и загрузки
данных, которое поставляется вместе с SQL Server 7.0. Гибкость и большой спектр
возможностей DTS позволяют применять его для наполнения хранилища данных.
Пакеты можно сохранять непосредственно в репозитарии. Одна из новых и наиболее
прогрессивных функций DTS, ведение дерева происхождения, требует использования
репозитария Repository. Дерево происхождения позволяет проследить, каким
образом вычисляются данные в хранилище и когда они туда попадают. Чтобы сохранить информацию DTS в репозитарии Microsoft Repository, следует
выбрать в качестве места для сохранения пакета DTS директорию SQL Server
Repository. В папке свойств пакета Package Properties надо выбрать вкладыш
Advanced и на нем установить возможности сканирования. Эти действия приведут к
тому, что DTS обратится к сканеру OLE DB для загрузки всех исходных и адресуемых
каталогов в репозитарий. Если же не устанавливать опцию сканирования, то DTS
создаст свой каталог DTS Local Catalogs для обращения за ссылками на исходные и
адресуемые каталоги, что сделает поиск местоположения баз данных неразрешимой
задачей. Каждая последующая операция сохранения будет реплицировать эту ссылку,
делая невозможным сохранение обновлений комментариев и другой описательной
информации. При попытке сохранить в репозитарии конкретные преобразования, выполняемые
DTS, можно столкнуться с проблемами. Если для выполнения простой трансформации
используется сценарий, и при этом выбор исходных столбцов производится явным
образом (а не запросом), то все данные о трансформации будут зафиксированы, как
следует из модели трансформации, приведенной в статье "Открытая
информационная модель". Если же источником преобразований был выбран
запрос, то такой источник превращается в объект, который не подлежит импорту в
качестве части данных OLE DB. Подобный выбор крайне затрудняет обратный путь
вдоль соединения к настоящим исходным объектам. Кроме того, нельзя провести
анализ запроса для установления связей между столбцами запроса и столбцами,
откуда берутся данные. В связи с изложенными обстоятельствами в большинстве
случаев можно проследить связь между исходными и адресуемыми столбцами, но в
некоторых случаях этого сделать нельзя. Для решения указанных проблем следует
либо написать программу, которая бы отслеживала ссылки в репозитарии, либо
применять наряду с моделью DTS дополнительную модель с настройками для хранения
соответствий между источниками и получателями информации. DTS позволяет вести учет версий объектов, соответствующих программным
модулям, причем при каждом сохранении происходит реплицирование всех
подчиненных объектов. В результате можно вернуться к любой версии модуля и
посмотреть, как в точности проводилось преобразование данных. Такая возможность
очень полезна при выяснении проблем с месяцами (годами) после помещения этих
данных в хранилище. Подобная схема сохранения версий не вызовет больших проблем,
если воспользоваться возможностями сканирования для импорта реляционных схем,
версии которых в таком случае будут соответствующим образом фиксироваться во
времени. Услуги OLAP
Для проведения многомерного анализа данных в хранилище используются услуги
OLAP. С помощью утилиты из набора SDK, входящего в состав Repository, можно
импортировать в репозитарий все определения данных OLAP. При использовании SQL
Server 2000 все метаданные сохраняются средствами OLAP Services непосредственно
в репозитарии. Единственная проблема, относящаяся к SQL Server 7.0, заключается
в том, что не сохраняются связи между показателями (мерами) и размерностями с
одной стороны, и столбцами, на которых они базируются, с другой. Установление
таких соответствий представляет собой утомительную ручную работу. Правда, можно
написать программу, которая будет делать это автоматически. Информация о том,
какие столбцы были использованы, находится в модели в репозитарии. Так что ей
вполне можно воспользоваться. Запросы на английском языке
Новая возможность формулировать запросы на английском языке, English Query,
позволяет определить семантическую модель базы данных, которая будет
транслировать фразы на английском языке в операторы SQL. Семантическая модель
предоставляет информацию о системе и о том, как она используется. Эти сведения
могут оказаться полезными при работе с хранилищем данных. Набор средств
разработки для репозитария, SDK, содержит утилиту для импорта данных из English
Query прямо в репозитарий. В состав утилиты English Query, поставляемой вместе
с SQL Server 2000, входит программа для экспорта и импорта моделей в
репозитарий. OLE DB (реляционная схема)
Импорт реляционных схем в репозитарий создает базовый набор информации,
необходимой для того, чтобы приступить к документированию хранилища данных.
Импортировать схемы данных можно из любого источника, совместимого с OLE DB или
ODBC. Для запуска программы импорта из Enterprise Manager следует щелкнуть
правой кнопкой мыши на ярлыке Metadata в разделе услуг преобразования данных
Data Transformation Services, и затем из появившегося меню выбрать Import
Metadata. Эта утилита импорта автоматически полностью сохраняет версии при
загрузке данных. Поэтому легко распознать все изменения, происходящие со
схемами баз данных с течением времени. Поскольку утилита сохраняет версии, это
сохраняет всю описательную информацию, такую как комментарии. Поэтому повторное
сканирование не окажет никакого влияния на информацию. Сценарии использования
Приводимые ниже сценарии использования Microsoft Repository демонстрируют
преимущества, которые могут получить от применения репозитария конечные
пользователи и аналитики, работающие с хранилищем данных. Для большинства
организаций основной выигрыш конечных пользователей состоит в том, что они
гарантированно имеют нужную информацию и могут однозначно трактовать
используемые в ходе анализа данные. На пути от куба данных OLAP к исходной системе
Деловой человек, как правило, использует клиентское приложение OLAP для
просмотра данных. Ему необходимо четко понимать, каким образом вычислялись
показатели, и какие исходные данные брались для этих вычислений. Такой
пользователь обычно знает автоматизированные системы предприятия, но не знаком
с хранилищем данных. Многие организации претерпевают многочисленные слияния и
приобретения других компаний, так что информационные системы, из которых
берутся данные для хранилища, зачастую происходят из различных компаний. Пользователь начинает работать с клиентским приложением OLAP, которое
демонстрирует ему данные о продажах, взятые из многомерного куба. Для того
чтобы получить более подробные сведения о том, что означают эти данные, и
откуда они взяты, можно воспользоваться хранящимися в репозитарии описательными
сведениями о самом кубе и его размерностях. Такие описания более информативны,
чем простые метки, которыми снабжены все показатели. Например, в описании
показателя суммарных продаж Total Sales может содержаться указание на то, что
сведения об оборотах появляются только по завершении обработки данных за
квартал. Или что в 1997 году менялись границы регионов, так что все сравнения
по регионам, затрагивающие более ранние сроки, будут лишены смысла. Таким
образом, пользователь проделывает путь от конкретного показателя или
размерности к хранилищу данных, а оттуда через преобразования информации к
исходной системе. Если пользователя заинтересовали сведения из определенной
исходной системы, то с помощью репозитария он сможет определить, какие
многомерные кубы данных или отчеты используют данные, поступающие из этой системы.
Любознательному пользователю также доступны описания исходной системы и
выполняемые в ходе загрузки трансформации данных. Подобная информация создает
основу для справок в терминах текущего реального бизнеса, а не просто хранилища
данных. Применение дерева происхождения для поиска источников данных и
преобразований
Рассмотрим другой случай, когда пользователь просматривает данные в виде
отчета или многомерного куба. Предположим, что ему необходимо выяснить точно,
откуда взяты эти данные. В данном примере информационная среда хранилища
подпитывается семью различными исходными системами, каждая из которых применяет
свои собственные программы для загрузки информации в хранилище.
Воспользовавшись возможностями дерева происхождения, входящего в состав DTS, пользователь
сможет определить, какую именно утилиту использовали для загрузки в хранилище
данных указанной пользователем строки. Указав конкретную строку отчета,
пользователь может определить идентификатор происхождения этих данных
хранилища. Обратившись затем с запросом к репозитарию, он узнает, какие именно
программы из каких систем загрузили эти сведения. Подобная процедура
предоставляет пользователю детальный анализ источников данных. Искушенный
аналитик, работающий с хранилищем данных, также может воспользоваться этой
информацией для выяснения конкретной версии утилиты трансформации данных,
которая была применена для загрузки информации в хранилище, даже если утилита
после этого была изменена. Выберите лучшее
Репозитарий Microsoft Repository совместно с другими инструментальными
средствами для хранилищ данных может предоставить пользователям информацию,
которую невозможно получить в типовой среде хранилищ, где сведения о проектах и
трансформациях хранятся в виде электронных таблиц. Цель создания и
использования хранилищ данных состоит в том, чтобы предоставить самую подробную
информацию как можно большему числу пользователей, чтобы они смогли принимать
важные для бизнеса решения на основании проверенной со всех точек зрения
информации. Однако без специальных средств, ориентированных на толкование и описание
таких данных, пользователи могли бы получить чересчур много информации, или не
поверить найденным сведениям, или же основывать свои умозаключения на неправильной
интерпретации значения данных. Технология репозитариев играет важную роль в
доставке информации из хранилища данных конечным пользователям. Она снабжает их
согласованными описаниями и сведениями о том пути, который рассматриваемая
информация прошла от исходной системы к хранилищу данных. Корпорация Microsoft
и другие производители программного обеспечения прилагают большие усилия для
интеграции инструментальных средств, предназначенных к использованию в
хранилищах данных, чтобы облегчить широкое применение метаданных.
Об авторах:
Патрик Кросс (pcross@dwsoft.com) является одним из
основателей и членом совета директоров компании DWsoft, а также MVP по
Microsoft Repository. Последние три года он работал в тесном контакте с
Microsoft над созданием репозитария Microsoft Repository. Саид Раими,
Ph. D. (srahimi@dwsoft.com) является
одним из основателей и техническим директором компании DWSoft. Он обладает
более чем 20-летним опытом работы в области создания репозитариев, словарей
данных, систем управления базами данных, инструментария CASE и средств
проектирования информационных систем. | ||||||||||
За содержание страницы отвечает Гончарова М.Н. © Кафедра СПиКБ, 2002-2017 |