close

Вход

Забыли?

вход по аккаунту

?

48

код для вставкиСкачать
КОГАЛОВСКИЙ М. Р.
ПЕРСПЕКТИВНЫЕ
ТЕХНОЛОГИИ
ИНФОРМАЦИОННЫХ СИСТЕМ
Научный редактор серии Лугачев М. И.
Š
Серия «ИТ Экономика»
Москва, 2008
УДК 004.6
ББК 32.81
К57
К57
Когаловский М. Р.
Перспективные технологии информационных систем. – М.: ДМК
Пресс, 2008. – 288 с.
ISBN 5-94074-200 9
Эта книга призвана способствовать формированию у читателя
общего кругозора в области современных информационных систем, представлений о важнейших информационных технологиях,
на которых они базируются, об их главных достижениях и современном состоянии, о перспективах дальнейшего развития.
В книге рассматриваются общие свойства информационных
систем, обсуждаются состояние и перспективы развития технологий баз данных, текстового поиска, а также Web технологий. Особое внимание уделяется новым архитектурным подходам, вопросам моделирования предметной области, проблемам интеграции
информационных ресурсов, возможностям технологической платформы Web нового поколения, основанной на языке XML.
Для студентов, аспирантов и преподавателей вузов, слушателей учебных курсов по информационным системам, а также специалистов в области разработки и исследования информационных
систем.
Все права защищены. Любая часть этой книги не может быть воспроизведена
в какой бы то ни было форме и какими бы то ни было средствами без письменного
разрешения владельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но поскольку
вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи
с этим издательство не несет ответственности за возможные ошибки, связанные
с использованием книги.
ISBN 5-94074-200 9
© Когаловский М. Р.
© Компания АйТи
© Оформление, издание
ДМК Пресс, 2008
СОДЕРЖАНИЕ
ПРЕДИСЛОВИЕ CIO ТЮМЕНСКОЙ
ПРЕДИСЛОВИЕ
ОТ КОМПАНИИ
НЕФТЯНОЙ КОМПАНИИ
HEWLETT-PACKARD
ВВЕДЕНИЕ
ГЛАВА 1.
ИНФОРМАЦИОННЫЕ
СИСТЕМЫ И ИХ ФУНКЦИИ
ТЕХНОЛОГИИ
БАЗ ДАННЫХ
2.1. Общая оценка состояния
2.2. Архитектурные подходы
2.3. Объектные базы данных
2.4. От реляционных баз данных к объектно реляционным
2.5. Интеграция средств текстового поиска в СУБД
2.6. XML ориентированные базы данных
2.7. Системы поддержки принятия решений
2.8. Очень большие базы данных
2.9. Вызовы времени и перспективы
Литература к главе 2
ГЛАВА 3.
7
9
1.1. Что такое информационная система
1.2. Моделирование реальности в информационных системах
1.3. Функции информационных систем
1.4. Разновидности информационных систем
1.5. Общие тенденции развития информационных систем
Литература к главе 1
ГЛАВА 2.
5
ТЕХНОЛОГИИ
ТЕКСТОВОГО ПОИСКА
3.1. Основные понятия и круг проблем
3.2. Краткая история
3.3. Принципы текстового поиска
3.4. Модели текстового поиска
3.5. Дополнительные возможности
3.6. Нетрадиционные направления технологий поиска
3.7. Текстовый поиск и базы данных
3.8. Текстовый поиск в Web
12
12
22
28
40
48
59
62
62
72
82
94
105
106
108
117
119
124
130
130
133
139
150
156
160
162
168
4
Перспективные технологии информационных систем
3.9. Перспективы систем текстового поиска
Литература к главе 3
ГЛАВА 4.
ТЕХНОЛОГИИ WEB
НОВОГО ПОКОЛЕНИЯ
4.1. Предпосылки создания платформы XML
4.2. Радикальные перемены в Web
4.3. Организация и функции платформы XML
4.4. Расширяемость языка и платформы XML
4.5. Преемственность с технологиями HTML
4.6. Моделирование данных XML
4.7. Метаданные и семантика XML документов
4.8. Семантический Web
4.9. Сферы применения стандартов XML
4.10. XML ориентированные базы данных
4.11. Перспективы платформы XML
Литература к главе 4
175
178
183
184
189
193
201
204
206
210
212
216
221
231
232
ЗАКЛЮЧЕНИЕ
241
ГЛОССАРИЙ
242
ПРЕДМЕТНЫЙ
УКАЗАТЕЛЬ
274
ПРЕДИСЛОВИЕ CIO ТЮМЕНСКОЙ
НЕФТЯНОЙ КОМПАНИИ
Современный мир переживает бум развития и применения корпоративных информационных систем (КИС) и ERP систем. Подготовка
и принятие решений в среде ERP систем стало естественным фактором в конкурентной борьбе компаний: крупные холдинги, функционирующие в соответствии с мировыми стандартами, обязаны опираться
на самые современные информационные технологии, получившие мировое признание. Разработкой крупных ERP систем в России не занимаются, а вот их внедрение осуществляется все чаще.
Надо признаться, что сегодня в России нет достаточного количества
квалифицированных кадров, которые обладают необходимым опытом
внедрения и эксплуатации крупных ERP систем. При этом, как мне кажется, отсутствует и продуманная национальная система подготовки таких специалистов в российских вузах. Есть прекрасные школы, выпускающие программистов и специалистов по компьютерной аппаратуре. Но
практически нигде не учат внедрению современных бизнес приложений
в рамках корпоративных информационных систем и работе с ними. Мне
не приходилось встречать серьезных работ российских авторов по экономике информационных систем.
В нефтяном бизнесе конкуренция может быть самая жестокая – мы
обязаны работать на очень высоком уровне подготовки и принятия решений с использованием последних достижений в области информационных технологий. Высокая конкурентоспособность компаний, в том
числе и нашей ТНК, не может быть обеспечена только иностранными
специалистами. Как воздух нужны молодые российские таланты, блестяще сочетающие глубокие знания и широкий кругозор в экономике, информационных системах и математике. Совместный проект МГУ и АйТи,
названный «ИТ экономика», служит как раз этой благородной цели –
созданию методического фундамента для подготовки специалистов нового комплексного профиля.
Ежегодно в ТНК устраиваются на работу выпускники МГУ, проходят практику, участвуют во внедрении современных информационных систем бакалавры и магистры экономического факультета МГУ.
Таким образом, мы участвуем в подготовке нужных нам специалистов.
Жизнь научила нас больше рассчитывать на собственные силы даже
в деле выращивания квалифицированных кадров. Для нас поддержка
совместного проекта «ИТ экономика» – это и честь, и насущная жизненная необходимость.
6
Перспективные технологии информационных систем
Желаю успеха этому проекту, и пусть изданные в его рамках учебные
курсы и книги помогут появиться в России новому поколению талантливых специалистов в области экономики и применения корпоративных
информационных систем.
Александр Блох,
корпоративный управляющий
информационными технологиями (CIO) ОАО ТНК
ПРЕДИСЛОВИЕ ОТ КОМПАНИИ
HEWLETT-PACKARD
Развитие корпоративных информационных систем в России в последние годы становится частью общей стратегии бизнеса предприятия.
Однако такая роль информационных систем и информационных технологий требует не только управленческой воли (хотя она, безусловно,
необходима), но и решения целого ряда сопутствующих проблем.
Прежде всего это методологические проблемы. Информатизация становится в ряд равноправных бизнес проектов, а значит, на всех стадиях планирования и учета рассчитывается и контролируется финансовый
результат. Для этого как минимум необходима адекватная методика расчета. Существующие методики, увы, отличаются фрагментарностью, затрагивая лишь отдельные виды информационных систем либо отдельные
стадии их жизненного цикла. Отдельную и также нерешенную проблему
представляет организация сбора исходных данных для этих целей.
Не менее важна кадровая проблема. Необходимы топ менеджеры, не
только придающие должное значение информатизации предприятия, но
и имеющие широкий кругозор в области перспективных технологий информационных систем, способные принимать стратегические решения в
процессе создания и развития корпоративных информационных систем.
Также нужны менеджеры среднего звена, реализующие новые методики оценки финансового результата непосредственно в бизнес процессах
учета и планирования. Однако на сегодняшний день налицо серьезный
дефицит специалистов такого уровня.
Все эти факторы придают особую важность совместному проекту
Московского государственного университета и компании «АйТи», названному «ИТ экономика». В рамках проекта создаются руководства,
решающие целый ряд методических проблем, а также база для подготовки квалифицированных кадров в области управления проектами корпоративных информационных систем и их экономической оценки.
Для компании Hewlett Packard этот проект имеет принципиальное значение. Во первых, осознание потребителями реальных затрат
и результатов, связанных с ИТ, делает рынок в целом более надежным
и предсказуемым. Во вторых, более рациональное и прозрачное принятие решений потребителями снижает риски компаний поставщиков.
Проект «ИТ экономика» направлен на обеспечение подготовки специалистов, способных преодолеть понятийный барьер между предпринимателями, мыслящими в экономических категориях, и инженерами в области ИТ, ориентированными прежде всего на технические категории.
8
Перспективные технологии информационных систем
В заключение хочу пожелать проекту удачи. Надеюсь, что создаваемые в его рамках курсы и книги будут способствовать подготовке нового
поколения специалистов в области экономики ИТ, которые, в свою очередь, придадут новое качество рынку ИТ в России.
Горюнов Павел,
директор Хьюлетт Паккард Консалтинг Россия и СНГ
ВВЕДЕНИЕ
Эта книга подготовлена на основе конспектов лекционных курсов, которые читались автором на протяжении последних 15 лет для студентов бакалавриата и магистратуры экономического факультета МГУ.
В ней используются также материалы отечественной и зарубежной
периодики, ряда монографических изданий, результаты исследований
и публикаций автора, труды крупных научно технических конференций, посвященных проблематике информационных систем, спецификации стандартов информационных технологий.
Цель книги – способствовать формированию у читателя общего кругозора в области современных информационных систем, представлений
о важнейших информационных технологиях, на которых они базируются, о главных достижениях и современном состоянии этой сферы, о перспективах дальнейшего развития. Предполагается, что читатель владеет
начальными знаниями в рассматриваемой области.
В настоящее время наибольшее распространение получили информационные системы, основанные на технологиях баз данных, текстового
поиска и Web, которые с полным правом можно назвать базовыми технологиями информационных систем. Выбор какой либо из них для реализации конкретной системы в существенной степени определяет ее организацию и функциональные возможности.
Нужно заметить, что наряду с «чистыми» системами указанных классов создаются многочисленные крупные системы, совместно использующие различные базовые технологии. Интеграция информационных
технологий стала характерной чертой разработок современных информационных систем. Поэтому для создания эффективной системы важно
не только владеть отдельными направлениями базовых технологий, но
и иметь представление о возможностях каждого из них, о целесообразных сферах их использования и «точках их соприкосновения».
Базовые технологии информационных систем в процессе своего развития стали довольно разветвленными, затрагивают разнообразные стороны создания и функционирования систем. Поэтому их изучение – довольно сложная задача.
Положение осложняется тем, что, к сожалению, отсутствуют какие либо
доступные издания, в которых эти технологии рассматривались бы совместно и комплексно с единых позиций. Мало выпускается литературы фундаментального характера.
В последнее время издан ряд переводов глубоких монографий по технологиям баз данных. Выпускаются книги по различным аспектам
10
Перспективные технологии информационных систем
приложений технологий Web. Однако практически отсутствуют публикации, которые бы давали читателю концептуальное представление о ключевых идеях технологий Web, их достоинствах и ограничениях, о предпосылках создания технологической платформы Web нового поколения, которая
в настоящее время разрабатывается усилиями большого отряда специалистов, о ее возможностях и перспективах. Синтезировать целостную
картину положения дел в технологиях Web на основе документации многих десятков стандартов, разрабатываемых консорциумом W3C, под силу
не каждому.
Что касается систем текстового поиска, то основательных изданий,
посвященных их проблематике, выпускалось на русском языке крайне
мало. В отечественную классику, безусловно, вошла широко известная
монография Михайлова А.И., Черного А.И. и Гиляровского Р.С. «Основы информатики» (1968, издательство «Наука»). Главным систематическим источником информации о технологиях текстового поиска, пожалуй,
остаются переводы всемирно известных монографий Дж. Сэлтона, выпущенные еще в 70–80 е годы. В них обсуждаются результаты новаторских исследовательских проектов, выполненных под его руководством
в 60 е годы, которые надолго определили пути развития систем текстового поиска. Однако издания такого уровня, отражающие текущее положение дел в этой области, к сожалению, отсутствуют. Источником
информации об этом являются только труды нескольких крупных международных конференций и многочисленные публикации в периодике.
В этой сравнительно небольшой по объему работе, состоящей из четырех глав, сделана попытка обрисовать целостную картину сегодняшнего состояния и тенденции развития современных информационных
систем, основные достижения и перспективы их базовых информационных технологий.
В первой главе книги представлен общий взгляд на информационные
системы различных типов. Прежде всего вводится понятие об информационной системе. В контексте данной работы наиболее продуктивным
представляется рассмотрение информационной системы как средства
поддержки динамической информационной модели реальности. Моделирование реальности средствами системы и предоставление пользователям возможности избежать наблюдений и измерений состояния самой интересующей их реальности, а также происходящих в ней процессов
благодаря взаимодействию с моделью – это то главное, ради чего создаются информационные системы. Хотя в системах разных типов используются различные подходы к моделированию, именно поддержка информационной модели реальности составляет главное предназначение любой
Введение
11
информационной системы. В этой главе достаточно подробно обсуждаются проблемы моделирования реальности в информационных системах,
различные типы используемых моделей и их особенности. Описываются
основные функции и причины разнообразия информационных систем,
а также общие тенденции их развития, знание которых позволит читателю получить представление о передовых достижениях в рассматриваемой области и о системах будущего.
Три остальные главы книги посвящены обсуждению состояния, новых
достижений, перспектив и некоторых важных областей применения базовых технологий информационных систем и свойств систем, на них основанных. При этом уделяется внимание архитектурным аспектам систем,
моделированию данных, роли и месту объектных технологий, проблемам
интеграции информационных ресурсов и интеграции различных технологий, а также возможностям объектных баз данных, текстового поиска
в базах данных и в Web, XML ориентированных баз данных и др. Кроме
того, рассматриваются важнейшие стандарты технологий информационных систем.
Все разделы книги снабжены вопросами для самопроверки, а каждая
ее глава завершается списком использованной литературы. Приложение
содержит детальный глоссарий используемых в книге терминов.
Автор выражает искреннюю благодарность Лугачеву М.И., заведующему
кафедрой экономической информатики экономического факультета МГУ,
за его инициативу по созданию серии «ИТ экономика», за внимание
к этой работе и ее поддержку. Хотелось бы поблагодарить также компании
ТНК, Hewlett Packard и Price Waterhouse Coopers за поддержку проекта
«ИТ экономика» и издания этой книги.
Глава
1
ИНФОРМАЦИОННЫЕ
СИСТЕМЫ
И ИХ ФУНКЦИИ
Создание современных электронных вычислительных машин позволило автоматизировать обработку данных во многих сферах человеческой
деятельности. Без современных систем обработки данных трудно представить сегодня передовые производственные технологии, управление
экономикой на всех ее уровнях, научные исследования, образование,
издательское дело, функционирование средств массовой информации,
проведение крупных спортивных состязаний. Значительно расширило
сферу применения систем обработки данных появление персональных
компьютеров.
Одним из наиболее распространенных классов систем обработки данных являются информационные системы. Хотя на уровне здравого
смысла назначение таких систем понятно каждому, для серьезного обсуждения технологий современных информационных систем необходимо более четко определить, в чем заключаются их специфические особенности, чем они отличаются от других систем обработки данных, какие
функции они могут выполнять, какими ресурсами они располагают.
Обсуждению указанных вопросов посвящена эта глава книги.
1.1. ЧТО ТАКОЕ ИНФОРМАЦИОННАЯ СИСТЕМА
Для обсуждения возможностей современных информационных систем,
состояния и перспектив используемых в них информационных технологий необходимо прежде всего понять, что такое информационная система.
Зачем нужны информационные системы. Любой разумный вид деятельности основывается на информации о свойствах состояния и поведения той части реального мира, с которой связана эта деятельность. Для
получения такой информации во многих случаях необходимо регулярно
через некоторые интервалы времени проводить натурные измерения
(или наблюдения), позволяющие определять характеристики состояния
Что такое информационная система
13
сущностей реального мира и протекающих процессов, соответствующие
моментам времени, когда эти измерения производятся.
В других случаях удается воспользоваться «материализованной» информацией, содержащейся в различного рода бумажных документах, отчетах или публикациях, которые также выступают как часть реальности.
Требуемую информацию можно извлечь из них путем своего рода «наблюдения».
Однако некоторые натурные измерения или наблюдения могут оказаться неосуществимыми в отведенное для них время в связи с большой
трудоемкостью, высокой стоимостью, недоступностью объекта измерения (наблюдения) и по другим причинам.
Значительно сократить объем необходимых натурных измерений позволяет компьютерное моделирование реальности. Если компьютерная модель адекватно (относительно информационных потребностей
пользователей) отражает состояние и динамику реальности, то многие
необходимые сведения можно получать с помощью такой модели, избегая тем самым натурных измерений, с существенно меньшими затратами
времени, а возможно, и при более низкой стоимости. Именно для поддержки таких моделей служит специальный класс систем обработки данных – автоматизированные информационные системы. Заметим,
что в ряде публикаций их называют более привычным для современного
читателя термином – компьютерные информационные системы.
Определение понятия «информационная система». Автоматизированной информационной системой называется комплекс, включающий вычислительное и коммуникационное оборудование, программное
обеспечение, лингвистические средства и информационные ресурсы,
а также системный персонал и обеспечивающий поддержку динамической информационной модели некоторой части реального мира для
удовлетворения информационных потребностей пользователей.
Часть реального мира, которая моделируется информационной системой, называется ее предметной областью.
Под динамической моделью здесь понимается изменяемость модели во времени. Это «живая», действующая модель, в которой отображаются изменения, происходящие в предметной области. Такая система
должна обладать памятью, позволяющей ей сохранять не только сведения о текущем состоянии предметной области, но и в некоторых случаях предысторию.
Поскольку модель предметной области, поддерживаемая информационной системой, материализуется в форме организованных необходимым образом информационных ресурсов, она называется информационной моделью.
14
Информационные системы и их функции
Автоматизированная информационная система не всегда функционирует самостоятельно. Она может входить в качестве компонента (подсистемы) в более сложную систему, такую, например, как система управления
торговой компанией, САПР или система управления производством.
Информационные системы уже многие десятки и даже сотни лет существуют и используются на практике в форме различного рода картотек и/или коллекций бумажных документов. Однако в таких системах отсутствует какая либо автоматизация обработки данных. Они позволяют
лишь регистрировать и поддерживать в систематизированной форме на
бумажных носителях результаты произведенных натурных измерений.
Поскольку в данной работе обсуждаются только автоматизированные информационные системы, то есть системы, основанные на использовании средств вычислительной техники и программного обеспечения, будем далее опускать для краткости прилагательное «автоматизированная».
Приведенное выше определение охватывает информационные системы всех видов, в частности фактографические системы, которые основаны на технологиях баз данных и оперируют структурированными
данными, системы текстового поиска, оперирующие документами на естественных языках, глобальную гипермедийную информационную систему Web и др. По этой причине в определении используется обобщенный
термин информационные ресурсы. Частными его случаями являются
данные для систем баз данных, документы для систем текстового поиска, HTML страницы или XML документы [12, 10, 17] для Web и т.д.
Нужно, однако, заметить, что на более низких уровнях представления (в памяти компьютеров, при передаче по каналам связи и т.д.) информационные ресурсы независимо от их природы и формы представления рассматриваются как хранимые или передаваемые данные. Термин
«данные» часто используется по отношению к информационным ресурсам любого рода.
Отсутствие общепринятого определения. Важный факт состоит в том,
что единого устоявшегося и общепринятого определения понятия «информационная система» в настоящее время не существует, да и вряд ли оно
может существовать. Дело в том, что в зависимости от необходимости
в разных случаях используются разные точки зрения на такой сложный
продукт высоких технологий, каким являются современные информационные системы. Так, специалисты по системному проектированию трактуют понятие информационная система более широко, чем комплекс,
о котором идет речь в нашем определении. При этом в состав информационной системы включаются, например, организационно методические
и технологические документы.
Что такое информационная система
15
Проблемы, связанные с нечеткостью определения понятия «информационная система», вовсе не являются настолько безобидными, как это
могло бы показаться. Например, в области системного проектирования
и стандартов, касающихся этого вида деятельности [5, 6], вопрос о четком определении понятия информационной системы является особенно
злободневным. От ответа на него зависит, в частности, что же следует
считать результатом проектирования.
Приведем определение информационной системы, заимствованное
в одном из наиболее авторитетных международных научных журналов
в рассматриваемой области – «Information Systems», выпускаемом
с 1975 года крупным английским издательством Pergamon Press. Редакционная коллегия журнала определяет информационные системы
как «аппаратно программные системы, которые поддерживают приложения с интенсивной обработкой данных (Data Intensive Applications)».
В этом определении акцентируется внимание на весьма важном, но лишь
единственном аспекте информационных систем. Заметим, что приложение информационной системы понимается здесь как надстройка над
информационной системой, обеспечивающая решение некоторого комплекса задач в интересах какой либо сферы деятельности.
Большинство опубликованных определений информационной системы (см., например, [7]) трактует это понятие с функциональной точки
зрения, а именно как «систему, предназначенную для сбора, передачи,
обработки, хранения и выдачи информации потребителям и состоящую из следующих основных компонентов: программное обеспечение;
информационное обеспечение; технические средства; обслуживающий
персонал». При этом остается в стороне направленность этих функций,
цель, для достижения которой они осуществляются.
В отличие от многих других публикаций, в приведенном определении
делается акцент на главном назначении информационных систем, а не
на их функциях и ресурсах, которые они не используют. Поддержка динамической информационной модели предметной области – это то
общее, что свойственно любой информационной системе независимо от
характера информационных ресурсов, которыми она оперирует, и, следовательно, от информационных технологий, на которых она основана.
Именно такой подход является наиболее продуктивным в данной работе, поскольку хотелось бы с единых позиций рассмотреть здесь базовые направления технологий современных информационных систем –
технологии баз данных, систем текстового поиска, технологии Web.
Следствия общности определения. В силу того, что широкораспространенные определения информационной системы формулируются
16
Информационные системы и их функции
излишне общо или недостаточно полно, к категории информационных систем часто относят многие системы обработки данных, которые не только поддерживают информационную модель предметной
области, но и позволяют решать на ее основе некоторые классы задач управленческого, исследовательского, конструкторского или иного
характера. По сути дела, такая система представляет собой уже не информационную систему, а информационную систему вместе с приложением.
В эту категорию попадают, например, так называемые корпоративные
информационные системы, которые более естественно было бы называть системами управления корпорациями, или системы планирования
ресурсов предприятия ERP (Enterprise Resources Planning Systems) [9].
Четкую границу между такими системами и информационной системой
в определенном здесь смысле провести практически невозможно.
Ситуация усугубляется еще и тем, что специалисты в разных областях, не являясь профессионалами в области информационных систем,
часто полагаются на кажущийся интуитивно ясным смысл понятия «информационная система» и в результате весьма вольно с ним обращаются, как и с другими «заезженными» терминами. Так обстоит дело, например, с термином база данных. Часто базой данных называют любую
совокупность данных, независимо от того, идет ли разговор в контексте
технологий баз данных.
Граница между системой базы данных и приложением. Частным случаем указанной выше терминологической проблемы является вопрос
о границе между системой базы данных и ее приложением.
Традиционно система базы данных понимается как СУБД с управляемой ею базой данных, возможно, уже наполненной. В некоторых не очень частых случаях система базы данных бывает самодостаточной. Функциональные возможности пользовательских
интерфейсов СУБД способны полностью удовлетворять информационные потребности пользователей.
Однако во многих случаях дело обстоит совсем не так, и необходимо создавать приложение. Приложение системы базы данных, в соответствии с приведенным выше определением приложения информационной системы, это надстройка над системой базы данных, представляющая
собой комплекс средств прикладного программного обеспечения, который служит для решения каких либо задач на основе этой системы.
Приложение с помощью интерфейсов прикладного программирования
(Application Programming Interface, API) СУБД получает доступ к базе
данных и использует содержащиеся в ней данные для решения необходимых пользователям задач.
Что такое информационная система
17
Таким образом, прикладная система, основанная на технологиях баз
данных, представляет собой совокупность системы базы данных и приложения. Граница между ними четко определена – это интерфейсы прикладного программирования СУБД.
Но ситуация изменилась во второй половине 90 х годов, когда
SQL серверы баз данных стали обеспечивать некоторые возможности
интеграции приложения и системы базы данных с помощью триггеров, хранимых процедур и внешних программ. Появилась, таким образом, возможность встраивать различные процедурные элементы приложения в систему базы данных. Соответствующие дополнения были
приняты к стандарту языка SQL. Но в ситуации, когда приложение
включает такие интегрированные компоненты, четкой границы между
ним и системой базы данных уже не существует.
Ресурсы информационных систем. Информационные системы используют ресурсы нескольких категорий – средства вычислительной техники, системное и прикладное программное обеспечение, информационные, лингвистические и человеческие ресурсы. Кроме того,
хотя об этом не говорится в известных определениях автоматизированных информационных систем, но подразумевается как само собой разумеющееся, для функционирования системы необходимы и другие ресурсы – помещения, их техническое оснащение, всевозможная оргтехника,
электроснабжение и т.д. В этой книге они не рассматриваются, поскольку
не имеют непосредственного отношения к информационным технологиям.
Информационные системы могут базироваться на различных аппаратных платформах – персональных компьютерах, мейнфреймах,
суперкомпьютерах и других вычислительных системах. Они могут использовать отдельные компьютеры или вычислительные системы либо
вычислительные сети различного масштаба – от локальной до глобальной сети. В информационных системах могут использоваться наряду
с универсальными также и специализированные компьютеры, например
так называемые машины баз данных, аппаратным путем реализующие
некоторые функции реляционной алгебры.
Коммуникационное оборудование в информационных системах
обеспечивает взаимодействие компонентов распределенных систем, например обмен данными между компьютерами сети, а также удаленный
доступ пользователей к ресурсам системы. К числу коммуникационных
ресурсов относятся выделенные или коммутируемые проводные и беспроводные каналы связи, различное сетевое оборудование, а также
устройства приема передачи информации, например телефонные или
радиомодемы, антенные устройства.
18
Информационные системы и их функции
Системное программное обеспечение включает операционные системы для используемых аппаратных платформ, различные операционные оболочки, повышающие уровень пользовательского интерфейса,
системы программирования, разнообразные системные тесты, служебные программы для поддержки деятельности системного администратора и для других целей, сетевое программное обеспечение.
Информационные системы используют также разнообразное прикладное программное обеспечение, типовое и специализированное.
Типовое прикладное программное обеспечение ориентировано на
классы задач. Оно может настраиваться на конкретный случай использования. Чаще всего в качестве таких средств используются коммерческие программные продукты: СУБД общего назначения, Web серверы, системы текстового поиска (их по традиции часто называют информационно поисковыми
системами), системы управления документами, текстовые процессоры, конверторы данных, программы распознавания текста и речи, системы электронных таблиц, генераторы отчетов для систем баз данных и др.
Специализированное прикладное программное обеспечение создается для конкретной информационной системы или для класса систем, имеющих некоторое узкое назначение. Например, в корпоративной
информационной системе это могут быть программы, предназначенные
для поддержки каких либо конкретных бизнес процессов.
Прикладное программное обеспечение информационных систем может относиться к стадии разработки или к стадии исполнения. Оно может
быть общего назначения или ориентированным на конкретную предметную область. Наконец, программное обеспечение может быть ориентированным на конкретную аппаратную платформу или мобильным.
Лингвистические ресурсы информационных систем служат для:
Œ представления информационных ресурсов в системе;
Œ описания их свойств и свойств окружающей среды, позволяющего
системе адекватно интерпретировать поддерживаемые информационные ресурсы;
Œ обеспечения взаимодействия пользователей с системой.
В общем случае к числу лингвистических ресурсов относятся те или
иные естественные или искусственные языки, а также средства их лингвистической поддержки – словари лексики естественных языков, тезаурусы предметной области (см. раздел 3.3), переводные словари и др.
Следует отметить, что тезаурусы играют в информационных системах двоякую роль. С одной стороны, это средство лингвистической поддержки используемого в системе естественного языка. Поэтому он должен
Что такое информационная система
19
быть отнесен к категории лингвистических ресурсов. Вместе с тем тезаурус используется как контекст для интерпретации семантики поддерживаемых в системе документов, представленных на естественном языке.
В связи с этим правомерно также считать тезаурус информационным ресурсом системы.
Используемый в конкретных случаях набор лингвистических ресурсов
системы зависит от требований, предъявляемых к ней.
Информационные ресурсы системы составляют главный компонент
модели предметной области, которую система поддерживает. Они являются вместе с тем «сырьем» и «конечным продуктом» работы информационной системы. Конкретный вид информационных ресурсов зависит от
характера системы.
Важно заметить, что в любой информационной системе поддерживается две категории информационных ресурсов. Ресурсы первой категории непосредственно используются конечными пользователями системы. Ресурсы второй категории можно было бы назвать метаресурсами.
Описывая свойства ресурсов первой категории, они позволяют системе
корректно оперировать ими. Как уже отмечалось, ресурсы первой категории часто называют данными независимо от среды их представления
(изображения, текстовые документы, аудиозаписи и т.д.), а метаресурсы –
метаданными.
Используя эту терминологию, можно сказать, что метаданные – это
данные о данных. Однако фактически метаданные могут описывать свойства не только собственно данных, но и информационной системы в целом,
отдельных ее механизмов и их функций, других ее ресурсов, поддерживаемых технологий, пользователей и т.д. Конкретные функции метаданных и их
состав в значительной мере зависят от специфики рассматриваемой системы и характера конкретных информационных ресурсов.
Уместно вспомнить, что данные в информационной системе представляют собой некоторую абстрактную модель реальности. Рассматривая соотношение между данными и метаданными, можно сказать, что
метаданные – это данные более высокого уровня абстракции по отношению к описываемым ими данным.
В некоторых случаях метаданные сами являются предметом интереса пользователей, разработчиков системы или ее исследователей, становясь тем самым частью моделируемой реальности. Описывающие их
метаданные естественно назвать метаметаданными. Подобного рода
иерархия абстракций может иметь любое число уровней. В таких случаях
может идти речь не только о моделях реальности, но и о метамоделях, метаметамоделях и т.д. Одним из примеров ситуации, где приходится иметь
20
Информационные системы и их функции
дело с метаметамоделями, могут служить спецификации стандарта CWM
представления метаданных хранилищ данных, который был разработан
консорциумом OMG [10].
Необходимая степень формализованности представления метаданных в информационной системе зависит от характера их использования.
Метаданные, предназначенные для компьютерного использования, представляются в формализованном виде. Если же они предназначены для
пользователей, то чаще всего представляются на естественном языке.
Вернемся теперь к информационным ресурсам информационных систем различных классов.
В системах, основанных на технологиях баз данных, поддерживаются структурированные данные, организованные в виде таблиц или
каких либо иных структур данных. К информационным ресурсам систем
баз данных относятся также и схемы баз данных. В таких системах они
относятся к категории метаданных.
В текстовых системах информационные ресурсы включают коллекции
документов, представленных на естественных языках. Это информационные ресурсы для конечных пользователей. Кроме того, поддерживаются метаданные – тезаурусы, спецификации онтологий (см. разделы 3.3,
4.8) и т.п., которые являются информационными ресурсами, используемыми самой системой.
Пользовательские информационные ресурсы в Web – это страницы
Web сайтов, ресурсы «скрытого» Web – базы данных, а также различные доступные пользователям Web документы, представленные в форматах, отличных от HTML. В Web нового поколения (см. главу 4) к информационным ресурсам, кроме того, относятся не только представленные на
Web сайтах XML документы, но и различные метаданные. Они описывают схемы XML документов, их семантику, онтологии.
Пользователи информационной системы. Важно уточнить, как трактуется понятие пользователь в этой работе. В контексте рассмотрения
технологий информационных систем целесообразно несколько расширить трактовку понятия «пользователь».
Прежде всего к числу пользователей информационных систем относятся специалисты в предметной области системы, для удовлетворения
информационных потребностей которых система создается. Пользователей этой категории называют конечными пользователями.
Будем считать, что пользователями системы являются не только конечные пользователи, но и программные средства приложений, применяющие информационные ресурсы данной информационной системы для решения собственных задач.
Что такое информационная система
21
В некоторых информационных системах контингент пользователей не
зафиксирован. Информационные ресурсы таких систем свободно предоставляются любому пользователю. В других системах для того, чтобы
стать пользователем, необходимо получить от системного администратора требуемые полномочия доступа к системе, а иногда и к некоторым ее
информационным ресурсам.
О «специализированных информационных системах». Завершая разговор о терминологии, нужно обратить внимание еще на один момент. Во
многих публикациях употребляется словосочетание специализированная информационная система. Из нашего определения информационной системы следует, что универсальных информационных систем не бывает. Каждая из них существует в единственном числе, ее тиражирование
бессмысленно, поскольку такая система моделирует конкретную предметную область, поддерживает характеризующие ее свойства информационные ресурсы, которые ассоциированы с конкретными моментами
или периодами времени. Поэтому специализированной является каждая
информационная система. Что же касается термина «специализированная информационная система», то он не просто бесполезен, он дезориентирует, наводя на мысль о существовании универсальных информационных систем, что не соответствует действительности.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Какие автоматизированные системы обработки данных называются
информационными системами?
2. Для каких целей создаются информационные системы?
3. В чем заключается главное назначение информационных систем?
4. Как называется часть реального мира, моделируемая информационной системой?
5. Какие преимущества информационные системы обеспечивают пользователям?
6. С какой целью в предложенном здесь определении информационной системы используется термин «информационные ресурсы»?
7. С помощью каких функций информационные системы выполняют
свое назначение?
8. К каким последствиям приводит отсутствие общепринятого определения информационной системы?
9. Каково соотношение между информационной и прикладной системами?
22
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Информационные системы и их функции
Где проходит граница между системой баз данных и приложением?
Какие ресурсы используют информационные системы?
Что такое системное программное обеспечение?
Какие виды прикладного программного обеспечения используются
в информационных системах?
Для каких целей используются коммуникационные ресурсы?
Какие виды коммуникационных ресурсов применяются в информационных системах?
Какие средства относятся к числу лингвистических ресурсов информационных систем?
На какие категории можно разделить информационные ресурсы информационных систем?
Какова роль метаданных в информационной системе?
Какие информационные ресурсы поддерживаются в информационных системах различных классов?
Как трактуется понятие «пользователь информационной системы»?
Корректен ли термин «специализированная информационная система»?
1.2. МОДЕЛИРОВАНИЕ РЕАЛЬНОСТИ
В ИНФОРМАЦИОННЫХ СИСТЕМАХ
Создание информационной системы с целью поддержания деятельности
в какой либо сфере позволяет лицу, занимающемуся этой деятельностью, взаимодействовать не с реальными объектами предметной области системы, а с информационной системой, не выходя из своего офиса. Такой подход позволяет получать сведения о состоянии сущностей
и процессов предметной области информационной системы не путем непосредственных измерений (наблюдений) в реальном мире,
а используя информационную модель. Достоинство модельного подхода состоит в том, что он предоставляет возможности для анализа
и оценки последствий различных управленческих решений без проведения натурного эксперимента.
Важную роль в моделировании предметной области информационной системы играют ее информационные ресурсы. Во всех классах моделей, рассматриваемых ниже, кроме случая темпоральных баз данных,
информационные ресурсы системы представляют статическую модель
Моделирование реальности в информационных системах
23
предметной области, характеризуя ее текущее состояние. Темпоральные
базы данных позволяют представлять динамику предметной области –
изменение ее состояния во времени.
Следует заметить, что с элементами коллекции информационных ресурсов, представляющих статическую модель предметной области, могут
ассоциироваться некоторые отметки времени, но эти временные характеристики могут воспринимать только пользователи. Системные механизмы оперировать ими не способны. Такие отметки времени принято
называть временем, определяемым пользователем. Например, документы в системе текстового поиска могут быть датированными. Но система воспринимает указанную дату как обычный фрагмент текста.
Точно так же, как обстоит дело с характеристиками времени, во всех
распространенных классах моделей, за исключением объектных, информационные ресурсы не моделируют поведенческие аспекты предметной
области. Эта функция выполняется компонентами приложения информационной системы. В таких случаях приложение фактически интегрируется с информационной системой, и трудно провести разделяющие их
границы.
Природа моделей предметной области, поддерживаемых в информационных системах, может быть различной. С технологической точки зрения наиболее существенны различия подходов к моделированию
предметной области по степени структурированности ее представлений, которую они обеспечивают.
Используемые в настоящее время подходы к моделированию предметной области в информационных системах охватывают следующий спектр
возможностей.
Структурированные модели. Модели такого рода основаны на выявлении регулярной структуры предметной области. Для конструирования таких моделей нужно типизировать сущности предметной области,
относя к одному типу сущности с одинаковым набором свойств. Аналогичным образом типизируются связи между сущностями. Связи определяются на множествах типов сущностей и могут иметь различную арность.
Например, связи могут быть бинарными или n арными. Представление
предметной области, сконструированное с помощью рассматриваемого
подхода, также называется структурированным.
Одной из разновидностей рассматриваемого подхода к моделированию предметной области является объектный (или объектно ориенти
рованный) подход, который дает возможность моделировать не только
структуру предметной области, но и поведение экземпляров сущностей,
относящихся к каждому определенному типу. С этой целью определение
24
Информационные системы и их функции
каждого типа сущностей включает определения допустимых на его экземплярах операций (или методов).
При использовании структурированных моделей представление предметной области имеет два уровня [23]. Представление более высокого
уровня абстракции – это модель предметной области, отображающая
ее свойства, инвариантные во времени. Эта модель представляется
в терминах типов сущностей предметной области и типов связей
между ними. Такую модель называют интенсионалом предметной области. Второй, более конкретный уровень, моделирует состояние предметной области в зависимости от времени. Модель этого уровня представляется в терминах конкретных экземпляров сущностей и связей
определенных типов между ними. Эту модель называют экстенсионалом предметной области.
На структурированных моделях предметной области с регулярной
структурой основаны системы баз данных. В этом случае интенсионал
предметной области называют схемой базы данных. Естественно называть информационные ресурсы систем баз данных структурированными данными.
Технологии баз данных обсуждаются во второй главе книги.
Слабоструктурированные модели. При создании некоторых информационных систем применяется подход к моделированию предметной области, при котором регулярная ее структура не определена или она
не существует в рассматриваемом случае. Такой подход используется,
например, в системах, основанных на различного рода языках разметки.
В рассматриваемом подходе не предусматривается строгая типизация
сущностей предметной области и связей между сущностями. Представление предметной области обычно является одноуровневым. Поддерживается экстенсионал предметной области – ее представление в терминах конкретных экземпляров сущностей и связей между ними. Иногда
предпринимается попытка некоторой типизации сущностей и связей.
Но не гарантируется, что свойства типов обязательно присущи всем относящимся к ним экземплярам. Определенный в таком случае интенсионал, по аналогии с системами баз данных иногда называемый схемой, не играет директивной роли. Конкретные экземпляры сущностей
и связей, свойства которых не соответствуют схеме, системой не отвергаются.
Такого рода представления предметной области называют слабоструктурированными. Информационные ресурсы систем, основанных на рассматриваемом подходе, называют слабоструктурированными данными.
Моделирование реальности в информационных системах
25
Наиболее известной информационной системой, в которой поддерживается слабоструктурированное представление предметной области, является глобальная распределенная гипермедийная информационная
система World Wide Web (далее – Web), базирующаяся на технологиях HTML.
Формирующийся в настоящее время Web нового поколения, основанный на технологической платформе XML, позволяет поддерживать не
только слабоструктурированные, но и структурированные представления предметной области [11] (см. также раздел 4.6).
Формальные модели. Такие модели связаны с подходом к моделированию предметной области информационной системы, основанным на
использовании формальных языков. Как и в случае структурированных
моделей, здесь определена регулярная структура предметной области, но для модельного ее представления используются формальные
языки [22]. Формальное представление предметной области, как и в случае структурированных моделей, является двухуровневым. Оно включает интенсионал и экстенсионал предметной области. Интенсионал представляет собой набор аксиом, описывающий соотношения между его
элементами – типами сущностей и связей. В данном контексте они представляются как предметные переменные.
Экстенсионал предметной области представляется в данном случае
в виде совокупности фактов.
Для создания формальных моделей обычно используются различные
языки представления знаний, чаще всего языки логики первого порядка. В последнее время стала применяться их разновидность – языки логик описаний [26] (см. также раздел 4.8).
Рассматриваемый подход позволяет осуществлять логический вывод,
и пользователь может получать при обращении к системе новые факты,
которые непосредственно в явном виде в ней не были представлены. Такие
интеллектуальные информационные системы являются представителями
класса систем, основанных на знаниях. Они весьма близки по своим возможностям к системам баз знаний, экспертным системам и т.д.
Неструктурированные модели. К этой категории относятся вербальные модели, то есть модели, описывающие реальность в виде текстов на
естественном языке. В таких моделях явным образом не представляется
структура предметной области – множество сущностей, их свойств, различного рода связей между этими сущностями, интересующих пользователей системы. Эта структура может быть реконструирована на основе анализа содержания заданных текстов, однако не всегда однозначным
образом. Автоматизация такого анализа – достаточно сложная задача,
26
Информационные системы и их функции
связанная с технологиями обработки естественного языка (Natural
Language Processing).
Существует широкий спектр информационных систем, поддерживающих неструктурированные модели предметной области. В простейших
из них задачи анализа и понимания естественного языка возлагаются на
пользователя. В продвинутых системах большая часть нагрузки, связанной с решением этих задач, возлагается на систему.
Здесь уместно вспомнить об интенсионале предметной области. В системах рассматриваемого класса он может быть материализован в форме тезауруса, описания онтологии предметной области и других инструментов, которые относятся к средствам лингвистической поддержки системы (см.
раздел 1.3). В простейших системах он явно не представлен в системе
и ей не доступен. Он существует только в интеллектуальном багаже
пользователя. Что касается упоминавшихся продвинутых систем, то их
возможности по работе с содержанием поддерживаемых в системе документов основаны именно на интенсиональной модели предметной области, явным образом представленной в системе.
Представления предметной области в вербальных моделях можно назвать неструктурированными. Информационные ресурсы таких систем часто называют неструктурированными данными. К числу информационных систем, использующих вербальные модели предметной
области, относятся системы текстового поиска [16, 18]. Обсуждению таких систем посвящена третья глава этой книги.
Модели данных. Как можно будет убедиться в последующих главах
этой книги, принятый разработчиком информационной системы подход
к моделированию предметной области существенным образом влияет на используемые в ней информационные технологии и инструменты разработки.
Для создания структурированных и слабоструктурированных представлений предметной области и выполнения операций в терминах таких
представлений служат разнообразные реализованные в программных
средствах инструменты моделирования, которые называют моделями данных [13, 23].
Концепция модели данных родилась в области баз данных и приобрела в ней фундаментальное значение. Не случайно за работы в этой области одной из самых престижных наград в информатике – Тьюринговской
премии – были удостоены в разное время идеолог сетевой модели данных CODASYL Чарльз Бахман (Charles Bachman, 1973) и создатель реляционной модели Эдгар Кодд (Edgar Codd, 1981).
Устарелая трактовка интерпретирует модель данных как структуру
конкретной базы данных, и она до сих пор встречается в литературе.
Моделирование реальности в информационных системах
27
В использовании понятия «модель данных» все еще продолжает иметь
место путаница между инструментами и результатами моделирования.
В современном понимании модель данных – это не результат, а инструмент моделирования, то есть совокупность правил структурирования
данных, допустимых операций над ними и видов ограничений целостности, которым они должны удовлетворять. Если перефразировать это определение для случая объектного подхода, то можно сказать, что модель данных – это некоторая система типов данных [4].
Как мы уже видели, в информационных системах приходится иметь
дело с моделями различных уровней абстракции. С этой точки зрения
можно рассматривать модель данных как метамодель для описания интенсиональных моделей предметной области в среде выбранной СУБД
или других средств управления данными. Операционные средства модели данных используются для выполнения различных операций над элементами экстенсиональной модели предметной области – экземплярами данных и связей между ними в базе данных или для формулировки
запросов.
В системах базы данных интенсиональная модель предметной области,
выраженная с помощью дескриптивных средств модели данных, которая
реализована в используемой СУБД, называется схемой базы данных.
Именно на основе той или иной модели данных конструируются механизмы управления данными каждой СУБД. Они реализуют воплощающий концепции этой модели комплекс языковых средств определения данных и манипулирования данными, а также языков запросов.
Понятие «модель данных» применяется не только в технологиях
баз данных, но и в различных других направлениях технологий управления данными. В последние годы оно стало активно, хотя пока и в несколько ущербном виде, использоваться в спецификациях стандартов
новой технологической платформы Web, основанной на языке XML
(см. главу 4).
Материализация моделей предметной области. Возникает естественный вопрос, в каком виде «материализуются» модели предметной области в информационных системах. Экстенсиональные модели материализуются в виде совокупности информационных ресурсов системы. Что
же касается интенсиональных моделей, то они материализуются средствами метаданных в виде некоторой спецификации на языке определения данных, формальном языке и т.д., в зависимости от класса системы.
Кроме того, в текстовых системах некоторые элементы интенсиональных
моделей материализуются в виде средств лингвистической поддержки –
тезаурусов, лексических словарей и др.
28
Информационные системы и их функции
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Какую роль играют информационные ресурсы в моделировании
предметной области информационных систем?
2. Какие разновидности моделей предметной области поддерживают
информационные системы?
3. Какова специфика моделей предметной области с регулярной структурой?
4. Какие информационные системы имеют дело со структурированными моделями предметной области?
5. Как можно охарактеризовать слабоструктурированные модели?
6. Приведите пример информационной системы, поддерживающей
слабоструктурированные модели предметной области.
7. Какие возможности обеспечивают модели предметной области информационной системы, основанные на формальных языках?
8. Как можно квалифицировать информационные системы, в которых
для описания моделей предметной области используются формальные языки?
9. В чем заключаются особенности вербальных моделей?
10. Информационные системы какого класса используют неструктурированные модели предметной области?
11. Что можно сказать об интенсиональной модели предметной области
в системах, поддерживающих вербальные представления предметной области?
12. Что такое модель данных?
13. В каком виде материализуются модели предметной области?
1.3. ФУНКЦИИ ИНФОРМАЦИОННЫХ СИСТЕМ
Рассмотрим теперь функции, которые должны выполнять информационные системы для решения стоящих перед ними задач, связанных
с поддержкой динамической информационной модели предметной
области и с удовлетворением информационных потребностей ее пользователей.
К числу этих функций относятся сбор и регистрации информационных
ресурсов, их хранение, обработка, актуализация, обеспечивающая актуализацию поддерживаемой информационной модели предметной области
Функции информационных систем
29
(для простоты здесь рассматривается только статическая часть модели),
а также обработка запросов пользователей.
Сбор и регистрация информационных ресурсов. Эти функции
обеспечивают «фотографирование» предметной области, формирование и поддержку на этой основе модели предметной области экстенсионального уровня.
Для выполнения этих функций проводятся работы как вне программно аппаратного комплекса системы (в [3] он называется комплексом средств автоматизации), так и непосредственно в его среде.
Способы реализации указанных функций зависят от характера используемых источников информации, в качестве которых могут служить: сущности
и процессы в предметной области системы, различного рода автоматизированные технические системы, другие информационные системы, всевозможные данные на бумажных или электронных носителях и т.п.
Функции сбора и регистрации информационных ресурсов могут совмещаться во времени или выполняться последовательно. Возможны различные варианты их осуществления, например:
Œ путем измерений (наблюдений) фактов в реальном мире и ввода данных в систему вручную с помощью клавиатуры и/или каких либо манипуляторов;
Œ полуавтоматически путем ввода в компьютер с некоторых носителей и в случае необходимости их оцифровки (например, при использовании текстов на бумажных носителях или аналоговых аудиозаписей);
Œ автоматически с помощью различного рода датчиков или обмена
данными с другими автоматизированными системами.
С этими функциями механизмов информационных систем и их персонала связана необходимость решения ряда сопутствующих задач, таких
как очистка, верификация, сжатие данных, конвертирование их из одного формата в другой и т.д.
Очистка данных – необходимая стадия предварительной обработки
данных и подготовки их к загрузке в систему, особенно в случаях, когда
используется несколько источников данных. Обычно она включает процедуры фильтрации данных, верификации, обеспечения логической целостности, устранения несогласованности, избыточности и различных
ошибок, восполнения пропусков, а также другие процедуры, направленные на улучшение качества данных. Задачи перечисленных процедур в некоторой мере пересекаются.
30
Информационные системы и их функции
В результате фильтрации производится отбор нужных данных из
множества имеющихся в распоряжении. Верификация данных обеспечивает достоверность и логическую целостность данных. Проверка достоверности данных – это содержательная процедура, которая позволяет установить, адекватно ли характеризуют состояние предметной
области собранные для ввода в информационную систему информационные ресурсы. Эта процедура, к сожалению, не может быть в полной
мере формализована. Поэтому она в значительной мере возлагается на
системный персонал и привлекаемых к этой работе экспертов. В системах баз данных за достоверность данных ответственен администратор
данных. Проверка логической целостности данных может осуществляться на стадии предварительной их обработки, а также непосредственно при вводе в систему. Для этих целей в системах баз данных могут,
в частности, использоваться механизмы СУБД, специально предназначенные для проверки ограничений целостности, которые были объявлены в схеме базы данных. Такая проверка осуществляется при обновлении
состояния базы данных. Проверку целостности XML документов может
выполнять Web браузер при условии, если для этого документа задано
описание типа документов (DTD, см. раздел 4.7). Выбор конкретных методов обеспечения верификации данных зависит от характера их источников, качества данных, видов ограничений целостности и т.п.
В некоторых информационных системах информационные ресурсы
хранятся в сжатом виде. Сжатие данных осуществляется с целью минимизации ресурсов памяти, необходимых для их хранения, а также для
снижения затрат на передачу данных по коммуникационным каналам. Такой подход часто используется в различных репозиториях информационных ресурсов с файловой организацией среды хранения. Механизмы среды хранения данных некоторых СУБД включают встроенные средства,
обеспечивающие сжатие отдельных значений данных, кортежей, доменов значений атрибутов и т.д., сжатие индексных файлов, резервных копий базы данных. Для рационального использования ресурсов памяти
в некоторых классах систем, например в системах управления документами, документы подразделяются на активные и архивные. Хранение архивных документов осуществляется в сжатых форматах.
Конвертирование данных при вводе в систему используется для
преобразования данных из одного формата в другой, допускающий автоматизированный импорт их в информационную систему. Конвертирование данных часто необходимо в случаях, когда источником данных является некоторая другая система.
Функции информационных систем
31
Хранение информационных ресурсов. Эта функция информационных систем связана с необходимостью управления двумя видами ресурсов – ресурсами хранимых данных и ресурсами памяти. Требования
к этим функциям различаются в разных классах информационных систем. Рассмотрим, каким же образом организованы хранение информационных ресурсов и доступ к ним в наиболее распространенных классах
информационных систем.
В системах текстового поиска каждый документ хранится обычно в отдельном файле. Доступ к документам осуществляется с помощью структур данных, называемых индексами. Индексы в системах текстового поиска позволяют определять адрес размещения нужного файла по так
называемым индексирующим свойствам хранящегося в нем документа – по значениям каких либо атрибутов, ассоциированных с документом, по содержащимся в нем словам или словосочетаниям и т.п. При
этом единицей доступа является полный документ. Управление памятью
осуществляется в таких системах средствами компонента операционной
системы компьютера, называемого файловой системой или системой
управления файлами. Индексы документов в системах текстового поиска организуются в виде так называемых инвертированных списков.
Для каждого значения индексирующего свойства документов в таких индексах поддерживаются адреса или идентификаторы файлов, их содержащих.
Файловая организация хранения информационных ресурсов используется также в действующей версии Web, основанной на технологиях
HTML. Здесь каждая HTML страница представлена в общем случае
в виде совокупности файлов. Главный из них – это основной структурообразующий файл данной страницы. Он имеет формат HTML. Кроме того, в отдельных файлах представлены встроенные изображения
и другие компоненты страницы, на которые имеются ссылки в ее главном файле. Доступ к страницам Web осуществляется непосредственно по
их уникальным «адресам» в Web, называемым URL (Universal Resource
Locator) [10], либо с использованием навигации по гиперссылкам. Единицей доступа здесь является полная страница Web, хотя при навигации
очередная гиперссылка может указывать только на фрагмент страницы.
Функции управления ресурсами памяти, служащими для хранения ресурсов Web, возлагаются на операционные системы тех компьютеров
сети, которые содержат используемые страницы.
Нужно заметить, что в связи с интенсивным ростом объемов информационных ресурсов Web навигационный доступ к требуемым ресурсам стал неэффективным. Пользователям Web обычно известно лишь
32
Информационные системы и их функции
ограниченное количество URL интересующих их страниц Web. Поэтому он в сравнительно небольшом числе случаев может воспользоваться
прямым доступом к информационным ресурсам Web.
Вот почему стали создаваться приложения Web, называемые поисковыми машинами. Поисковая машина с некоторой периодичностью просматривает страницы закрепленной за ней группы Web сайтов и строит
либо актуализирует полнотекстовые индексы для этих страниц (см. раздел 3.3). На этой основе осуществляется обработка пользовательских
запросов так, как это делается в системах текстового поиска. Подробнее
этот вопрос обсуждается в разделе 3.8.
Более тонкую организацию имеют механизмы управления хранением
данных и пространством памяти в информационных системах, основанных на технологиях баз данных. Причины заключаются в том, что в системах баз данных используются более сложные структуры данных, требуется значительно более мелкая гранулярность доступа к ресурсам,
более динамичный характер имеют хранимые данные.
Управление хранимыми данными в системах баз данных включает
поддержку структуры хранимых данных, их размещение в пространстве
памяти, поддержку физической целостности и обеспечение эффективного доступа к ним. Чаще всего используются прямой и последовательный
доступ к единицам информационных ресурсов в каком либо определенном порядке.
Прямой доступ осуществляется по известным значениям некоторых
свойств (ключей) единиц информационных ресурсов. Для этой цели используются вспомогательные хранимые структуры данных, обеспечивающие отображение ключей в адреса размещения соответствующих единиц информационных ресурсов, например строк таблиц в реляционных
базах данных.
Чаще всего в качестве таких вспомогательных структур используются
эффективно организованные индексы и хеш таблицы [15, 19].
Индексные структуры, организованные в виде деревьев специальных видов, обеспечивают быстрый поиск с помощью навигации в этих
деревьях по коротким цепочкам указателей и, возможно, ограниченного
перебора. Существует большое многообразие способов построения индексов.
Хеш таблицы, в отличие от индексов, обеспечивают определение адреса размещения искомой (или размещаемой) единицы информационных ресурсов не путем навигации в индексной структуре, а с помощью
вычисления некоторой функции отображения ключа в адрес. Значения этой функции представляют собой случайные числа, равномерно
Функции информационных систем
33
распределенные в заданном интервале, которые используются как номера
участков во внешней памяти или строк таблицы хеширования, содержащих
соответствующие единицы информационных ресурсов или их адреса.
Индексные структуры поддерживают доступ к хранимым единицам информационных ресурсов в порядке соответствующих им ключей. Простая техника хеширования таких возможностей не предоставляет. Для
этих целей применяют усовершенствованные методы хеширования.
Последовательный доступ к хранимым единицам информационных ресурсов осуществляется в порядке их физического размещения либо по значениям некоторых содержащихся в них или ассоциированных с ними идентификаторов (ключей). В последнем случае для поддержки необходимой
упорядоченности обычно используют индексы по заданным ключам.
Нужно заметить, что в унаследованных СУБД, основанных на графовых моделях данных, использовался также и навигационный доступ
к хранимым данным.
Управление ресурсами памяти в СУБД включает такие операции, как учет свободного пространства памяти, выделение пространства для размещения новых вводимых в систему информационных ресурсов, так называемая сборка мусора – возвращение освободившегося
пространства памяти в пул свободного пространства для повторного его
использования. Нужно назвать здесь также операцию реорганизации
среды хранения базы данных. В результате выполнения этой операции
изменяется размещение хранимых данных в пространстве памяти системы таким образом, чтобы стало возможным более эффективное использование ресурсов свободной памяти, а также чтобы сократить время доступа к часто используемым хранимым данным и т.п.
Важно заметить, что способы размещения информационных ресурсов
в пространстве памяти системы и способы доступа к ним тесно связаны.
Среда хранения в системах баз данных также базируется на файловой
организации. Однако над файловой системой надстраиваются механизмы, обеспечивающие более тонкие методы управления данными в терминах элементов содержания файлов. Единицей доступа здесь является,
как уже отмечалось, не файл или порция файла, предусмотренная в файловой системе, а порции информационных ресурсов с гораздо более мелкой гранулярностью.
Актуализация информационных ресурсов. В соответствии с приведенным выше определением назначение информационной системы
состоит в поддержке динамической информационной модели ее предмет
ной области. Для того чтобы эта модель была практически полезной,
необходимо своевременно и адекватно отображать в ней изменения
34
Информационные системы и их функции
состояния предметной области. Требуется актуализировать модель. Для
этой цели нужно актуализировать информационные ресурсы системы.
Актуализация информационных ресурсов системы заключается в приведении их в соответствие текущему состоянию предметной области системы.
В реляционных системах баз данных эта задача сводится к включению
и/или удалению строк в таблицах базы данных, обновлению значений
столбцов в некоторых строках. В случаях, когда изменяется структура
предметной области системы, актуализация информационных ресурсов
заключается в изменении схемы базы данных – добавлении или удалении столбцов таблиц, существующих в базе данных, к созданию новых
и/или удалению существующих таблиц и т.д.
В системах текстового поиска актуализация информационных ресурсов чаще всего осуществляется путем ввода в систему новых или (реже)
удаления существующих документов.
При актуализации Web сайта в состав его ресурсов включаются новые или удаляются существующие страницы, модифицируются гиперссылки, связывающие страницы данного сайта и, возможно, страницы
других сайтов, редактируется содержание существующих страниц.
Из приведенных примеров нетрудно видеть, что характер изменений,
происходящих в предметной области и моделируемых в информационной системе, может быть различным. В одних случаях изменяются значения свойств принадлежащих ей сущностей и связей. В более сложных
случаях изменяются структура предметной области и/или ее поведенческие свойства. Соответственно, разную природу имеют и процессы актуализации информационных ресурсов. Так, в системах баз данных в случаях
первого рода изменяются значения данных, а при изменениях структуры
предметной области изменяется схема базы данных.
Используя ранее введенные термины, можно сказать, что актуализация модели предметной области, поддерживаемой информационной системой, может касаться как интенсионального, так и экстенсионального
представления предметной области в системе.
Актуализация информационных ресурсов в информационных системах производится дискретно, через определенные интервалы времени.
Поэтому адекватность состояния модели предметной области и ее состояния в реальности обеспечивается с временным лагом, величина которого равна продолжительности указанных интервалов. Величина лага
может изменяться для разных систем в довольно широком диапазоне
времени и зависит от назначения системы и особенностей ее предметной области. В информационных системах, входящих в состав систем
управления сложными техническими объектами, например в системе
Функции информационных систем
35
управления космическими полетами, лаг измеряется в миллисекундах.
В корпоративных информационных системах он может составлять минуты и часы. В некоторых исследовательских экономических системах
возможен лаг, составляющий дни, месяцы, кварталы и годы.
Для того чтобы информационная система соответствовала своему назначению, важно соблюдать установленный для нее регламент актуализации информационных ресурсов.
Обработка информационных ресурсов. Некоторые информационные
системы способны предоставлять пользователям только информационные ресурсы, ранее введенные в систему и хранящиеся в ней без какой либо
трансформации. Такая ситуация чаще всего встречается в системах текстового поиска, которые выдают пользователю документы, удовлетворяющие условиям запроса. В то же время системы баз данных способны продуцировать данные, производные от ранее введенных в систему
и хранимых в базе данных. Достаточно упомянуть весьма развитое средство, предусмотренное для этих целей в реляционных СУБД, – механизм
поддержки представлений данных (View). Продуцирование производных
данных обеспечивается также в Web сайтах с динамической генерацией
страниц. Существуют текстовые информационные системы, позволяющие генерировать для хранимых документов их рефераты.
Возможность обработки информационных ресурсов, поддерживаемых
в информационных системах, предусмотрена в приведенном ранее определении информационной системы. Она предусматривается и в отечественном стандарте терминологии по автоматизированным системам [3].
При этом характер и содержание обеспечиваемой информационными
системами обработки представленных в них информационных ресурсов
не уточняется и не регламентируется для того, чтобы определение имело достаточно общий характер и позволяло бы охватить представительное множество систем.
Однако побочным эффектом такой общности определения является
отнесение к этой категории многочисленных систем обработки данных,
обладающих «памятью» и имеющих некоторое достаточно четко выраженное прикладное функциональное назначение, выходящее за рамки
непосредственного назначения информационных систем. Существуют
информационные системы, не только самостоятельно функционирующие, но и входящие в качестве функционального компонента в различные более сложные системы. Примерами могут служить системы управления крупными компаниями, которые решают большие комплексы задач,
связанных с обеспечением жизнедеятельности компаний. Такие системы
используют информационную систему как составную часть. Но вместе
36
Информационные системы и их функции
с тем они включают и крупные функциональные компоненты, использующие информационные ресурсы информационной системы для решения
специфических задач системы – бухгалтерский учет, обработка заказов,
управление запасами, планирование производства и т.п. Квалификация
этих систем как корпоративных информационных систем представляется
неубедительной. Фактически мы имеем здесь дело с объединением информационной системы и ее приложения. Такую объединенную систему за рубежом принято называть Management Information System (MIS) – управленческой информационной системой.
Нужно заметить, что обработка информационных ресурсов в информационных системах не сводится лишь к продуцированию производной
информации. Обработка осуществляется и для выполнения ряда системных функций, например для проверки ограничений целостности, для поиска в индексах, словарях и т.п.
Предоставление информационных ресурсов пользователям. Поддержка
в информационной системе информационных ресурсов, позволяющих моделировать состояние и поведение предметной области, конечно же, не является самоцелью. Это делается для удовлетворения информационных
потребностей пользователей.
Предоставление информационных ресурсов пользователям информационной системы может осуществляться с помощью pull технологий
и/или push технологий.
В первом случае предполагается, что инициатором предоставления
информационных ресурсов является пользователь, а во втором – сама
система, в соответствии с определенным регламентом и для определенного круга пользователей.
Для предоставления информационных ресурсов по инициативе пользователя в информационной системе предусматриваются пользовательские интерфейсы – средства взаимодействия пользователей с системой.
Характер пользовательских интерфейсов и их функции зависят от категории
пользователей системы.
Пользовательский интерфейс в общем случае включает интерфейсные технические средства, язык или языки интерфейса, программные
средства, поддерживающие функционирование интерфейсного оборудования и языков интерфейса.
Как уже указывалось выше (раздел 1.1), предполагается, что существует две категории пользователей информационных систем:
Œ конечные пользователи – специалисты в предметной области системы, обычно осуществляющие доступ к ее информационным ресурсам в интерактивном режиме;
Функции информационных систем
37
Œ прикладные программы, использующие информационные ресурсы
данной системы и являющиеся компонентами какого либо ее приложения.
Технические средства интерфейса конечного пользователя могут включать периферийное оборудование ввода вывода компьютера (клавиатура,
мышь или другие манипуляторы, средства виртуальной реальности), монитор и другие средства воспроизведения информации, а также иные устройства. Программы, обеспечивающие их функционирование, входят
в состав операционной системы или разрабатываются специально поставщиком соответствующего оборудования. Это могут быть, например, драйверы для устройств такого рода.
Технические средства интерфейса пользователей – компонентов прикладного программного обеспечения – могут включать коммуникационные ресурсы данной информационной системы, обеспечивающие телекоммуникационный доступ к ней.
В простейшем случае информационные потребности конечных пользователей регламентированы, известен их перечень. Иногда они зависят
от каких либо параметров, например даты, названия продукта, фамилии
покупателя. Таких пользователей способен удовлетворить так называемый «кнопочный» интерфейс. Каждому виду запросов в таком интерфейсе соответствует некоторая клавиша клавиатуры или альтернатива показываемого на экране меню. Нажатие соответствующей клавиши
или выбор нужной альтернативы в меню приводит к выдаче пользователю интересующих его информационных ресурсов.
В большинстве случаев, однако, информационные потребности конечных пользователей имеют нерегламентированный характер. Поэтому интерфейс конечного пользователя в системе с такими возможностями должен включать какой либо язык запросов.
Для взаимодействия конечных пользователей с информационной системой с помощью языков запросов служат два вида пользовательских
интерфейсов:
Œ интерфейсы командной строки;
Œ интерфейсы, основанные на языках четвертого поколения (4GL, 4th
Generation Language).
В первом случае для ввода сообщений и команд в систему служит язык
запросов, имеющий свой алфавит и синтаксические правила для конструирования из его символов правильных команд или операторов. В качестве языков запросов используются естественные и искусственные
языки.
38
Информационные системы и их функции
Естественные языки запросов обычно используются в системах
текстового поиска и в поисковых машинах действующей версии Web.
Некоторые такие системы имеют мультиязыковой интерфейс – запросы могут формулироваться на одном из естественных языков из заданного набора.
Искусственные языки запросов применяются в системах, основанных на технологиях баз данных, а также в Web нового поколения и его
приложениях. В настоящее время, как правило, используются непроцедурные декларативные языки запросов.
Языки четвертого поколения не являются языками в привычном смысле. Это пользовательские интерфейсы, которые обеспечивают
ввод в систему сообщений с помощью выбора подходящих альтернатив
в меню, ввода параметров через окна экранных форм, применения различных возможностей графического пользовательского интерфейса. Термин «язык четвертого поколения» был предложен американским специалистом по системам обработки данных Джеймсом Мартином (James
Martin).
Пользователи системы – компоненты прикладного программного
обеспечения – осуществляют доступ к ресурсам данной системы с помощью интерфейсов прикладного программирования (API, Application
Programming Interface). Средства таких интерфейсов можно применять
только в программах, создаваемых с помощью систем программирования, на которые эти интерфейсы рассчитаны.
Доступ пользователей к ресурсам системы возможен только в пределах предоставленных им полномочий, которые обычно проверяются системными механизмами при попытках доступа. Наделение пользователей
необходимыми полномочиями – функция системного администратора. Некоторые системы предоставляют свободный доступ к определенным ресурсам. Так, например, обстоит дело со многими Web сайтами.
Рассмотрим теперь случай использования push технологии для предоставления информационных ресурсов пользователям. Такая технология широко применяется в последние годы для распространения различного рода информации среди пользователей Internet. С этой целью
стандартное сообщение рассылается по списку рассылки всем пользователям, в нем зарегистрированным. По этому принципу функционируют
многочисленные телеконференции в Internet. Таким же образом организовано информирование пользователей некоторых электронных библиотек о поступлении новых документов в библиотеку. Однако, к сожалению, регистрация в списке рассылки осуществляется не всегда с учетом
согласия пользователя. Одним из прибыльных сфер бизнеса в Internet
Функции информационных систем
39
стало коллекционирование действующих адресов пользователей сети.
Базы данных, содержащие миллионы адресов, поставляются всем желающим за скромную плату. Такие базы данных охотно приобретаются недобросовестными рекламными службами коммерческих компаний, которые используют их для бездумной рассылки своей рекламы. Это привело
к огромному росту трафика в Internet, к резкому снижению удельного
веса полезной информации в потоках передаваемых в Internet сообщений.
Другие функции. Выше были рассмотрены основные функции информационной системы, видимые пользователю. Однако они не исчерпывают всех существенных ее функций. Ряд из них возлагается на
персонал системы и на ее программное обеспечение. К ним, в частности, относятся:
Œ управление распределенными информационными ресурсами, например фрагментация баз данных, тиражирование данных, синхронизация копий;
Œ защита физической целостности информационных ресурсов и их восстановление при разрушениях;
Œ обеспечение информационной безопасности в системе;
Œ управление метаданными;
Œ администрирование информационными ресурсами;
Œ обеспечение адаптации системы к изменениям требований к ней и к изменениям в предметной области.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Какие задачи решаются в информационной системе при выполнении функции сбора и регистрации информационных ресурсов?
2. Каким образом могут осуществляться эти функции?
3. В каких видах информационных систем используется файловая организация хранения информационных ресурсов?
4. Как организована среда хранения данных в системах баз данных?
5. Какую роль играют индексы в информационных системах?
6. Как производится доступ к информационным ресурсам в системах
текстового поиска?
7. Что является единицей доступа в Web?
8. Какие способы доступа к информационным ресурсам обеспечиваются в Web?
40
Информационные системы и их функции
9. Какие задачи решают механизмы управления ресурсами памяти в информационных системах?
10. Какие способы доступа к данным обеспечивают реляционные
и унаследованные СУБД?
11. Для чего необходима актуализация информационных ресурсов в информационных системах?
12. Какие процедуры осуществляются для актуализации информационных ресурсов в информационных системах разных классов?
13. Какие технологии предоставления информационных ресурсов пользователям применяются в информационных системах?
14. В чем заключается смысл pull технологии и push технологии?
15. Из каких элементов состоит пользовательский интерфейс информационной системы?
16. Какие интерфейсы для конечных пользователей предусматриваются в информационных системах?
17. Какие интерфейсы используются прикладным программным обеспечением для доступа к информационным ресурсам системы?
18. Приведите примеры системных функций информационной системы.
1.4. РАЗНОВИДНОСТИ ИНФОРМАЦИОННЫХ СИСТЕМ
Существует большое разнообразие информационных систем. Это не
случайно. Современная информационная система является сложным
наукоемким изделием, обладающим большим набором важных для ее
использования характеристик. Каждая из них может иметь множество значений. Составить достаточно полный список характеристик, значимых для оценки современных информационных систем, было бы довольно сложно.
Функциональные возможности систем, различающихся одной или
несколькими такими характеристиками, могут быть очень разными.
Поэтому спецификация перечня характеристик, которыми должна
обладать какая либо создаваемая информационная система, является важной частью проектной документации, существенным образом
влияющей не только на свойства создаваемой системы, но и на процесс ее разработки.
В этом разделе для иллюстрации широты возможностей современных информационных систем без претензии на полноту представлен небольшой фрагментарный набор важных технологических характеристик
Разновидности информационных систем
41
информационных систем, сопровождаемых краткими комментариями.
Каждый элемент этого списка может быть положен в основу классификации информационных систем.
Предметная область системы. Информационные системы применяются в настоящее время во многих областях деятельности. Специфика конкретной предметной области существенно влияет на требования к системе.
Например, к информационной системе, используемой в управлении
крупной компанией или в контуре управления сложной технической
системы реального времени, должны предъявляться несравнимо более высокие требования по обеспечению надежности функционирования, чем, например, к системе, используемой в учебном процессе.
Вид поддерживаемых информационных ресурсов. Другой важной
характеристикой информационной системы является вид поддерживаемых информационных ресурсов. От него существенным образом зависит
выбор базовых информационных технологий для разработки информационной системы. Действительно, в случае использования структурированных данных система будет строиться на основе технологий баз данных. Если система должна оперировать документами на естественных
языках, то в зависимости от требований к ней могут применяться гипертекстовые технологии Web, технологии текстового поиска, технологии
баз данных и т.д. При необходимости поддержки XML документов могут
использоваться технологии Web или технологии XML ориентированных
баз данных. Выбор одного из альтернативных вариантов определяется
другими характеристиками системы.
Функции обработки информационных ресурсов. Информационная
система может обеспечивать широкий спектр возможностей по обработке поддерживаемых в ней информационных ресурсов. Например, система текстового поиска может обеспечивать только поиск документов по
запросам. Другие текстовые информационные системы могут дополнительно генерировать аннотации документов, осуществлять их классификацию или кластеризацию и т.д. Система, основанная на технологиях баз
данных, может, например, генерировать агрегированные данные, как это
делается в хранилищах данных, или осуществлять только выборку данных из базы данных либо их обновление. Системы, в которых осуществляется только поиск и выборка информационных ресурсов, имеют более простые механизмы управления доступом и средой хранения.
Горизонт моделирования предметной области. Эту характеристику
информационных систем нужно учитывать в системах, основанных на
технологиях баз данных, где различия возможных подходов приводят
к необходимости использования совершенно разных средств управления
42
Информационные системы и их функции
данными. В текстовых системах и в Web временной аспект реальности не
имеет значения с точки зрения выбора инструментария информационных технологий. Значения времени в таких системах могут выступать
как индексирующие свойства и как элементы критерия поиска запрашиваемых пользователем информационных ресурсов наравне с другими их свойствами.
Обратимся теперь к системам, основанным на технологиях баз данных. В одних системах могут поддерживаться только данные, характеризующие в каждый момент времени текущее состояние предметной области (ее моментальный снимок). Именно такой подход реализуют
традиционные системы баз данных. Другие системы могут поддерживать
с некоторой дискретностью по времени исторические данные, характеризующие изменения, происходившие в предметной области. В последнем случае следует использовать технологии темпоральных баз данных.
Среда хранения информационных ресурсов. Разнообразие информационных систем определяется, в частности, и возможностями использования различных способов организации среды хранения. Могут применяться различные устройства внешней памяти, например стационарные
магнитные диски, устройства третичной памяти на компактных магнитооптических дисках. Специфический подход, который стал реализоваться
в последние годы, предусматривает поддержку базы данных на стадии исполнения в оперативной памяти. Часто в информационных системах используют иерархии памятей. Могут применяться также разнообразные
методы индексирования информационных ресурсов.
Объем информационных ресурсов. Объем информационных ресурсов информационных систем может изменяться в очень широком диапазоне – от десятков и сотен килобайтов в персональных базах данных
до десятков петабайтов в очень больших базах данных (см. раздел 2.8).
Объем информационных ресурсов Web также близок к измеряемому
в петабайтах. Существуют и крупные системы текстового поиска. Совершенно ясно, что при большом объеме данных требуются иные методы организации хранения данных и методы доступа, чем в случае с небольшими объемами. В очень больших базах данных используются, естественно,
особые методы обеспечения физической целостности данных.
Динамика информационных ресурсов. Степень динамичности информационных ресурсов системы оказывает существенное влияние на
характер механизмов управления средой хранения, обеспечения физической и логической их целостности.
Действительно, наряду с традиционной для систем баз данных динамичностью состояния базы данных на практике часто встречаются
Разновидности информационных систем
43
случаи, когда данные в системе не обновляются. Это имеет место, например, в некоторых научных базах данных по свойствам материалов,
в базах данных коллекций флоры и фауны, результатов научных экспериментов, во многих статистических базах данных. Для таких баз
данных можно использовать простейшие способы поддержки физической целостности данных путем создания нескольких их копий. В этих
случаях не требуются сложные механизмы управления транзакциями, составляющие одну из наиболее важных и сложных функциональных частей традиционных СУБД. Поэтому для доступа к таким статическим базам данных часто не используют коммерческие СУБД,
а создают простые специализированные «оболочки», которые распространяются вместе с базой данных на компакт дисках.
Такой подход, естественно, невозможен в динамичной системе базы
данных, когда одновременно к данным осуществляют доступ многие
пользователи, часть из которых не только читает данные, но и обновляет
их. Примером может служить система резервирования железнодорожных билетов. В системах такого рода для управления данными необходимы полноценные функционально развитые СУБД.
Состав лингвистических ресурсов системы. Эта характеристика относится прежде всего к текстовым информационным системам. В них
могут поддерживаться различные лингвистические ресурсы в зависимости от функций системы и используемой техники работы с текстами. Так, в системах текстового поиска обычно поддерживаются словари
лексики естественных языков. Что касается тезауруса предметной области, то он может использоваться или не использоваться. В соответствии с этим система обладает или не обладает некоторыми дополнительными возможностями, повышающими эффективность поиска требуемых
пользователю документов. Например, на основе тезауруса может производиться расширение пользовательских запросов (см. раздел 3.5).
Архитектура системы. Информационные системы могут различаться своими архитектурными характеристиками. Разнообразие имеющихся в этой области возможностей демонстрируют архитектурные подходы, рассмотренные в разделе 2.2 применительно к системам баз данных.
На самом деле эти подходы применимы и к большинству информационных систем других видов. Это утверждение относится к любому из аспектов архитектуры – к функциональной, пространственной, информационной архитектуре.
С точки зрения пространственной архитектуры любая информационная система может быть сосредоточенной или распределенной; последняя может иметь мобильную архитектуру. Функциональная архитектура
44
Информационные системы и их функции
системы может основываться на принципе «клиент сервер», быть одноранговой (Peer to Peer) или какой либо иной. Информационные системы
могут обладать также различными видами информационной архитектуры.
Регламент обслуживания пользователей. Разнообразие информационных систем связано также с принятым в них регламентом обслуживания пользователей. Некоторые системы могут обслуживать пользователей только во время заранее запланированных сеансов работы. В других
системах обслуживается поток случайных запросов пользователей в любое время.
Расписание функционирования системы. Система может функционировать только по объявленному заранее расписанию, круглосуточно
в течение всего года или в какие либо иные периоды времени. Непрерывное круглосуточное функционирование системы – наиболее сложный случай. Для обеспечения такого режима работы система должна
обладать резервными ресурсами оборудования на случай отказов. В системах баз данных, функционирующих по такому расписанию, применяются специальные меры по обеспечению физической целостности данных. Например, поддерживается дублирующая копия базы данных на дополнительном «зеркальном» диске.
Способы доступа к системе. Пользователям информационных систем могут предоставляться различные способы доступа – терминальный
доступ, доступ через локальную сеть, интерактивный теледоступ в среде
Web, доступ по электронной почте и т.д.
Ограничения доступа к системе. Информационные системы могут
различаться принятой политикой доступа пользователей к их ресурсам.
Существуют системы со свободным доступом для любого пользователя,
системы, которые обслуживают только зарегистрированных пользователей, а также персональные системы для единственного пользователя.
В некоторых системах реализован комбинированный подход. Часть их
ресурсов свободно доступна. Доступ к другой части ресурсов предоставляется только зарегистрированным пользователям, наделенным необходимыми полномочиями. Этот вариант реализован, например, на некоторых Web сайтах.
Поддерживаемые стандарты информационных технологий. Используемые базовые информационные технологии и поддерживаемые
стандарты не являются независимыми характеристиками системы. Их
выбор в значительной мере определяется другими характеристиками,
в частности рассмотренными выше.
Выбор технологий и стандартов на стадии разработки системы – стратегическое решение, существенным образом определяющее ее судьбу.
Разновидности информационных систем
45
От него зависит успех применения системы, срок ее жизни, возможности реинжиниринга, переход впоследствии на новые более прогрессивные
технологии.
Компетентные разработчики крупных информационных систем ориентируются на стандарты открытых систем [14, 21]. Так называют
системы, способные развиваться за счет технических и/или программных средств на основе технологий, которые не зависят от их производителя благодаря удовлетворению требований ряда международных
и индустриальных стандартов. Важное достоинство использования стандартов открытых систем состоит в том, что они обеспечивают интероперабельность программных средств различных поставщиков, то есть
совместное их использование в рамках единой системы.
Стандартизация информационных технологий играет огромную роль
в разработках информационных систем. Следование соответствующим
стандартам позволяет обеспечить интероперабельность как системных компонентов, так и различных взаимодействующих систем, межплатформенную мобильность программного обеспечения, мобильность
приложений и данных в технологиях баз данных, интеграцию распределенных гипермедийных информационных ресурсов в единой глобальной
гипермедийной информационной системе Web и т.д.
Существование во многих областях альтернативных стандартов создает проблемы выбора и формирования профиля системы [21] – набора
совместимых стандартов, которым система должна соответствовать.
Пользовательские интерфейсы. О разнообразии пользовательских
интерфейсов в информационных системах уже шла речь в разделе 1.3.
Следует лишь добавить, что во многих текстовых информационных системах интерфейс конечного пользователя основан на естественном языке. Часть таких систем поддерживает мультиязыковой интерфейс. Это
означает, что пользователь может вводить запросы на различных языках,
получать документы и системные сообщения, представленные на разных
языках, выбирать при обращении к системе язык пользовательского интерфейса.
Программно аппаратная платформа. Информационная система может базироваться на различных программно аппаратных платформах.
В настоящее время инструментальные программные средства разработки информационных систем поставляются для большинства выпускаемых программно аппаратных платформ. Тем самым они не ограничивают возможностей выбора платформы.
Коммуникационное оборудование. Возможности информационных
систем, обеспечивающих теледоступ для конечных пользователей, в том
46
Информационные системы и их функции
числе распределенных систем, зависят от характеристик используемого
телекоммуникационного оборудования. Например, доступ пользователя
в Web с помощью телефонного модема совершенно не равноценен доступу по выделенной линии как по надежности коммуникаций, так и по скоростным характеристикам. Доступ по беспроводным каналам обладает
иными характеристиками, чем доступ по проводным каналам стационарной части сети в распределенной системе.
Состав программного обеспечения. В настоящее время сложился
высококонкурентный рынок программного обеспечения различного назначения, в том числе и для создания информационных систем. Какие
программные продукты следует использовать в системе? Ответ на этот
вопрос является весьма серьезным решением. Существуют многочисленные альтернативные варианты, и нужно оценить перспективы различных программных продуктов, степень их соответствия выбранным
стандартам информационных технологий, сопоставить их функциональные возможности, а также достоинства и недостатки. Опытный эксперт
может определить многие характеристики системы, зная об использованных в ней программных продуктах.
Некоторые функции информационной системы могут поддерживаться
средствами типового прикладного программного обеспечения. Использование программных продуктов, поддерживающих такие функции, избавляет от необходимости разрабатывать для этих целей специализированное программное обеспечение. Например, если в информационной
системе необходимо оперировать данными из базы данных и вместе с тем
осуществлять текстовый поиск в коллекции хранимых в ней документов,
то естественно использовать в такой системе СУБД, которая обеспечивает возможности текстового поиска – Oracle, DB2, SQL Server 2000
или другие. Однако не каждая СУБД выполняет такие функции.
Альтернативы есть у разработчиков системы и при создании ее специализированного программного обеспечения. Эта разработка может
осуществляться различными средствами – с помощью разных систем
программирования, инструментов CASE или генераторов программного кода. Она может следовать различным стандартам. Свойства специализированного программного обеспечения также являются важными характеристиками информационной системы.
Возможное количество пользователей. Некоторые информационные системы могут быть рассчитаны на определенный контингент пользователей. В то же время существуют системы с распределенным свободным доступом, для которых невозможно предсказать общее количество
Разновидности информационных систем
47
пользователей и распределение числа активных пользователей во времени. В таком случае значительно усложняется управление системными
ресурсами. Потребности системы в вычислительных ресурсах должны
определяться исходя из пиковых нагрузок; должны предусматриваться
меры по балансированию нагрузки на системные серверы. Примерами
подобных систем являются сервисы крупных компаний, доступные через Web серверы.
Состав системного персонала. Состав системного персонала информационной системы, уровень его профессиональной квалификации, без
сомнения, определяют степень надежности и эффективности функционирования системы, качества настройки ее компонентов, способности
адаптации к изменению условий применения системы.
Методология и инструментальные средства разработки системы.
О характере системы многое могут сказать используемые для ее разработки методология и инструментальные средства. При кустарной разработке системы без использования современных инструментов и методологий весьма проблематичным становится решение проблем ее
реинжиниринга. Сомнительно, чтобы такая система была хорошо документирована. Она вряд ли проживет долгую жизнь.
Напротив, использование современных инструментальных средств
CASE [2] в процессе анализа и проектирования системы гарантирует,
что разработчики основывались на современных методологиях [1, 8, 20],
что проект системы основательно документирован. Обеспечена преемственность в работе при изменениях в составе системного персонала. Такая система в значительно большей степени доступна для модернизации,
чем система, созданная кустарным образом.
Выше была рассмотрена лишь небольшая часть существенных характеристик информационных систем. Они касаются многих аспектов организации и функционирования систем – их назначения, ресурсов (информационных, технических, программных, лингвистических), архитектуры,
режима функционирования, используемых информационных технологий, контингента пользователей и т.д. Список значимых характеристик
информационных систем можно было бы продолжать, включая в него,
например, характеристики масштабируемости, возможности повторного использования ресурсов, их источники, уровень поддерживаемой семантики информационных ресурсов и др. Однако даже это фрагментарное обсуждение демонстрирует существование большого многообразия
информационных систем.
48
Информационные системы и их функции
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Каковы причины существования большого многообразия информационных систем?
2. Различия каких значимых технологических характеристик информационных систем определяют их многообразие?
3. Приведите примеры характеристик организации функционирования информационных систем.
4. Какое влияние на свойства системы оказывают поддерживаемые
в ней стандарты информационных технологий?
5. Какие системы называют открытыми?
6. Почему разработки крупных информационных систем должны базироваться на стандартах открытых систем?
7. В чем состоят технологические различия между информационными
системами со статичными и с динамичными информационными ресурсами?
8. Какие преимущества обеспечивает использование при разработке информационной системы современных методологий анализа и проектирования систем и инструментальных средств CASE?
1.5. ОБЩИЕ ТЕНДЕНЦИИ РАЗВИТИЯ
ИНФОРМАЦИОННЫХ СИСТЕМ
Прежде чем приступить к более детальному обсуждению состояния и перспектив развития основных пластов информационных технологий, на которых базируются современные информационные системы, – технологий баз данных, технологий текстового поиска и технологий Web,
кратко обсудим важнейшие общие тенденции развития информационных систем.
Активное использование объектных технологий. В разработках информационных систем прочные позиции заняли объектные технологии.
Их использование в этой области продолжает расширяться. В значительной мере этому способствует создание развитой объектной инфраструктуры.
Большой вклад в ее формирование вносит консорциум OMG (Object
Management Group), который вот уже почти полтора десятилетия ведет активную работу по созданию комплекса стандартов интероперабельных неоднородных распределенных объектных сред. Центральное
Общие тенденции развития информационных систем
49
место в этом комплексе занимает стандарт архитектуры интероперабельности CORBA [31], а также ряд дополнительных стандартов горизонтальной и вертикальной сферы. Стандарты горизонтальной сферы
включают спецификации комплекса объектных сервисов, функционирующих в архитектурной среде CORBA, языка представления метаданных
инструментов объектного анализа и проектирования, компонентной
модели, метамодели для представления метаданных хранилищ данных
и др. Стандарты вертикальной сферы определяют объектные среды
(среды бизнес объектов) для многих областей приложений.
Существенный вклад в компонентные технологии внесла корпорация
Microsoft, которая первой разработала компонентную объектную модель COM (Component Object Model) [24] и ее распределенную версию
DCOM (Distributed Component Model), ставшие основой ряда программных продуктов компании.
Важное значение имеет создание компанией Sun Microsystems и широкое распространение объектного языка программирования Java, а также
основанного на этом языке комплекса средств компонентной разработки приложений из повторно используемых объектных компонентов –
компонентная модель JavaBeans, архитектура Enterprise JavaBeans,
а также технология Java 2 Enterprise Edition [28–30] (см. также раздел 2.2).
Наряду с указанными общими элементами объектной инфраструктуры, независимыми от класса информационных систем, созданы также ее
элементы, ориентированные на отдельные классы систем, – системы
баз данных, Web, текстовые системы.
Основой разработки коммерческих объектных СУБД стал стандарт
объектных баз данных консорциума ODMG (Object Data Management
Group) [27]. Разработаны стандарты API объектных СУБД для объектных языков программирования Java и Smalltalk (часть стандарта ODMG),
а также API SQL серверов для языка Java – JDBC и SQLJ. Миграция
реляционных приложений баз данных в объектную среду обеспечивается новым стандартом языка запросов SQL:1999, поддерживающим
объектно реляционную модель данных, а также объектно реляционными
SQL серверами, созданными ведущими поставщиками программного
обеспечения систем баз данных.
Объектный подход нашел применение и в технологиях Web. Технология Java аплетов обеспечивает мобильность программного обеспечения
в среде Web с помощью Web браузеров со встроенной виртуальной машиной Java (Java Virtual Machine, JVM). Консорциумом W3C был разработан стандарт DOM (Document Object Model), обеспечивающий
50
Информационные системы и их функции
объектное представление XML документов – единицы информационных ресурсов в новой технологической платформе Web, основанной на
языке XML (см. главу 4). Языковые средства DOM используются как
спецификации API для XML ориентированных СУБД.
Для работы с текстовыми информационными ресурсами объектные
типы данных, поддерживаемые расширителями типов, используются
в объектно реляционных серверах DB2, Oracle, Informix.
Объектное направление в области информационных систем хорошо
оснащено инструментальными средствами CASE, основанными на методах объектного анализа и проектирования и использующими стандартизованный консорциумом OMG язык UML (Unified Modeling Language)
[1, 20] для представления метаданных.
Интеграция неоднородных информационных ресурсов. Благодаря активным разработкам информационных систем многие организации
стали обладателями коллекций информационных ресурсов разной природы, каждая из которых поддерживается собственными программными
средствами, обеспечивающими для пользователя свой специфический
интерфейс. В таких условиях пользователю было бы желательно иметь
единый интерфейс для доступа ко всем этим информационным ресурсам.
Поскольку появилось много источников информации, хотелось бы иметь
возможность получения более полной и интегрированной информации
с использованием нескольких источников. Коллективы, осуществляющие совместную деятельность, стремятся объединить информационные
ресурсы, которыми они располагают.
Все эти и другие причины создали предпосылки для проведения исследований и разработок в области интеграции неоднородных информационных ресурсов. Эти исследования приобрели большую актуальность
в области информационных систем, особенно в последние годы.
Под интеграцией информационных ресурсов понимается обеспечение пользователям доступа к нескольким источникам информационных ресурсов в терминах единого материализованного или виртуального
представления, исключающего избыточность информации на логическом или семантическом уровне.
Неоднородность информационных ресурсов может проявляться
в различных аспектах, например:
Œ в различии парадигм моделирования данных (реляционная модель,
объектная модель и т.п.);
Œ в многообразии сред представления ресурсов (текстовая, аудио и т.д.);
Œ в разной степени структурированности данных (структурированные,
слабоструктурированные, неструктурированные);
Общие тенденции развития информационных систем
51
Œ в различиях интерпретации их содержания, в различии программных
систем, которые их поддерживают, и т.д.
Интеграция информационных ресурсов охватывает большой комплекс проблем, к числу которых относятся, в частности:
Œ
Œ
Œ
Œ
Œ
Œ
Œ
Œ
разработка интегрирующих моделей данных;
создание методов отображения моделей данных;
создание архитектур систем интеграции;
разработка адаптеров (Wrapper) – компонентов таких архитектур,
обеспечивающих интероперабельность интегрируемых неоднородных
информационных ресурсов;
создание посредников (Mediator) – компонентов архитектур интеграции, обеспечивающих семантическую интеграцию информационных
ресурсов;
интеграция схем объединяемых баз данных;
разработка языков описания онтологий;
создание методов слияния онтологий и др.
Технологии интеграции неоднородных информационных ресурсов уже находят практическое применение. Некоторые относительно простые возможности интеграции обеспечиваются программными
продуктами. Более сложные проблемы семантической интеграции пока
еще являются предметом изучения многих исследовательских проектов.
Архитектура распределенных систем. Распределенные информационные системы стали в настоящее время обыденной реальностью.
В многочисленных корпоративных информационных системах используются распределенные базы данных. Отработаны методы распределения
данных и управления распределенными данными, архитектурные подходы, обеспечивающие масштабируемость систем, реализующие принципы многозвенной архитектуры «клиент сервер», а также архитектуры
промежуточного слоя.
Начинают применяться на практике мобильные архитектуры. Это относится как к системам баз данных, так и к приложениям Web.
Возрождается подход к построению распределенных систем, основанный на одноранговой архитектуре (Peer to Peer), при котором, в отличие от доминирующей сегодня в распределенных системах архитектуры
«клиент сервер», роли взаимодействующих сторон в сети не фиксируются. Они назначаются в зависимости от ситуации в сети, от загруженности ее узлов.
52
Информационные системы и их функции
Мобильные информационные системы. В связи с интенсивным развитием коммуникационных технологий активно развиваются мобильные информационные системы (см. подробнее в разделе 2.2). Разработаны технические средства и программное обеспечение для их создания. Благодаря
этому стали развиваться мобильные системы баз данных. Многие научные
коллективы проводят исследования специфических особенностей таких систем, создают разнообразные их прототипы. Важным инструментом для разработки мобильного программного обеспечения стали технологии Java.
Создан стандарт протокола беспроводного доступа приложений в Web
(Wireless Application Protocol, WAP), который уже поддерживается некоторыми моделями сотовых телефонов. На основе WAP и языка XML консорциум W3C разработал язык разметки для беспроводных коммуникаций WML (Wireless Markup Language).
Поддержка метаданных. В разработках информационных систем больше внимания стали уделять метаданным. Здесь предпринимаются шаги
в двух направлениях – стандартизация представления метаданных
и обеспечение их поддержки в системе.
В информационных системах используются разнообразные способы
и средства представления метаданных (различного рода репозитории
метаданных). Отсутствие унификации в этой области значительно осложняет решение проблем мобильности приложений, повторного использования и интеграции информационных ресурсов и информационных технологий, а также реинжиниринга информационных систем.
Для преодоления указанных трудностей активно ведутся разработки стандартов метаданных, ориентированных на различные информационные технологии. В этой области уже существует ряд международных,
национальных и индустриальных стандартов, определяющих представление метаданных и обмен метаданными в информационных системах.
Некоторые из них уже приобрели статус стандартов де факто. Ограничимся здесь упоминанием лишь наиболее значимых из них.
Вероятно, первым стандартом де факто этой категории был язык описания данных CODASYL [25] для баз данных сетевой структуры. Из более поздних стандартов следует назвать: стандарт языка запросов SQL
для реляционных баз данных, содержащий определение так называемой
информационной схемы – совокупности представлений схем реляционных баз данных; компонент стандарта объектных баз данных ODMG
[27], описывающий интерфейсы репозитория объектных схем; международный стандарт IRDS (Information Resource Dictionary Systems), описывающий системы для создания и поддержки справочников информационных ресурсов организации.
Общие тенденции развития информационных систем
53
Далее следует упомянуть разработанный консорциумом OMG стандарт CWM (Common Warehouse Metamodel) представления метаданных
хранилищ данных (см. раздел 2.7), основанный на ранее созданном для
более широких целей стандарте OIM (Open Information Model) консорциума MDC (Meta Data Coalition).
Новая технологическая платформа XML для Web также включает
стандарты представления метаданных (см. разделы 4.7, 4.8). Поддержка
метаданных – это одно из важнейших нововведений Web, радикальным
образом изменяющее технологии управления его информационными ресурсами. В то время как в технологиях баз данных поддержка метаданных была изначально необходимой, в Web первого поколения метаданные не поддерживались.
К числу стандартов метаданных Web относится подмножество языка XML,
используемое для описания логической структуры XML документов некоторого типа. Это описание называется DTD (Document Type Definition).
Кроме того, платформа XML включает стандарт XML Schema, предлагающий более развитые возможности для описания XML документов. Стандарт RDF (Resource Definition Framework) определяет простой язык
представления знаний для описания содержимогоXML документов. Наконец, разрабатываемый стандарт OWL (Ontology Web Language) определяет формальный язык описания онтологий, предназначенный для семантического Web.
Стандарт языка UML (Unified Modeling Language) [1, 20], обеспечивающий представление метаданных инструментов CASE для визуального объектного анализа и проектирования, разработан консорциумом
OMG. Этот язык поддерживается во многих программных продуктах
CASE. Консорциум OMG создал также стандарт XMI (XML Metadata
Interchange) для обмена метаданными между инструментами CASE, использующими язык UML.
Следует упомянуть здесь также стандарт Дублинского ядра (Dublin
Core, DC) – набора элементов метаданных для описания содержания
документов различной природы. Этот стандарт быстро приобрел популярность и нашел, в частности, широкое применение в среде Web (см.
раздел 3.3).
Работы по развитию существующих и созданию новых стандартов
представления метаданных для информационных систем продолжаются.
Более подробные сведения о рассматриваемых стандартах можно найти
в энциклопедии [10].
Семантическая обработка информационных ресурсов. Ранее, еще
в 70–80 е годы, предпринимались попытки создания систем, основанных
54
Информационные системы и их функции
на знаниях. Был выполнен ряд посвященных этим проблемам исследовательских проектов в Стэнфордском университете (США), в университете Торонто (Канада) и других крупных научных центрах. Были созданы
различные исследовательские прототипы систем баз данных, поддерживающих семантические модели данных, а также информационно поисковых
систем, в которых в качестве языков запросов использовались естественные языки. Поисковые системы такого типа создавались и в нашей стране.
В последние годы активно велись работы по семантическому текстовому поиску (см. главу 3). Консорциум W3C и несколько крупных исследовательских центров в США и Европе развернули и активно проводят
работы по созданию семантического Web (см. раздел 4.8). В то время как
действующая реализация Web предусматривает интерпретацию информационных ресурсов человеком, семантический Web позволит создавать
приложения с компьютерной их интерпретацией. Он будет располагать
также средствами логического вывода.
Управление потоками данных. Управление потоками данных – одно
из новых формирующихся направлений в области информационных систем, связанное с обработкой данных сетевого трафика, данных, порождаемых различного рода датчиками, потоков сообщений электронной почты
и т.п. Стали создаваться предназначенные для этой цели инструментальные средства, которые называют системами управления потоками
данных (Data Stream Management System, DSMS) общего назначения (см. раздел 2.9). Возникло специфическое направление, связанное
с потоками документов, в текстовых системах – фильтрация потоков (см.
раздел 3.5).
Специфика этого класса информационных систем состоит в том, что,
в отличие от систем баз данных и систем текстового поиска, они имеют
дело не с базой данных или коллекцией документов, содержащейся в среде хранения информационных ресурсов системы, а с потоком транзитных
ресурсов, которые нужно обрабатывать «на проходе». В связи с этим необходимо разрабатывать новые технологии для решения проблем, связанных с информационными ресурсами такой природы.
Совместное использование информационных технологий. В последние годы стали появляться инструментальные средства и крупные информационные системы, в которых совместно используются различные информационные технологии из области баз данных, текстовых систем и Web.
Так, создан ряд коммерческих СУБД, которые наряду с традиционными для технологий баз данных функциями управления данными предоставляют возможности текстового поиска. Простейшие возможности
контекстного поиска обеспечивают популярные Web браузеры. Поисковые
Общие тенденции развития информационных систем
55
машины Web используют реализованную в этой среде технологию доступа к информационным ресурсам вместе с технологиями текстового поиска. В новом классе СУБД, называемых XML ориентированными,
совместно используются технологии баз данных и технологии XML.
В среде Web обеспечивается доступ к базам данных SQL по запросам
пользователей. Создаются интегрированные системы, предусматривающие доступ к базам данных и к текстовым информационным ресурсам
с использованием единого интерфейса. Одна из таких систем создана
компанией IBM (см. раздел 3.7).
С середины 90 х годов во многих странах стали активно разрабатываться информационные системы нового класса, называемые электронными библиотеками. Одной из основных особенностей продвинутых
систем такого рода является поддержка и обеспечение интеграции неоднородных информационных ресурсов. Поэтому настоятельной необходимостью в электронных библиотеках стало совместное использование
различных информационных технологий – технологий баз данных, технологий текстового поиска, технологий Web.
Рост масштабов информационных систем. Совершенствование технических возможностей средств вычислительной техники, развитие коммуникационных средств и технологий управления информационными
ресурсами в последние годы привели к появлению более крупных информационных систем. Речь идет о масштабах систем не только относительно объема поддерживаемых информационных ресурсов, но и числа
их пользователей. Появились системы очень больших баз данных, поддерживающие многие гигабайты и даже петабайты данных (см. раздел
2.8), системы текстового поиска с очень большими коллекциями документов. Объем информационных ресурсов Web в настоящее время исчисляется многими миллионами страниц. Корпоративные системы баз
данных насчитывают тысячи пользователей. На порядок больше пользователей имеют некоторые информационные сервисы Web. Количество
таких крупных систем продолжает расти.
Глобализация информационных систем. Усиливается тенденция к глобализации информационных систем. Глобализация информационных
систем имеет две стороны – обеспечение глобального доступа пользователей к системе и интеграция информационных ресурсов, распределенных в глобальной сети. Уникальной глобальной информационной
системой является Web. В нем воплощаются обе указанные стороны глобализации информационных систем. Он обеспечивает глобальный доступ
к явно представленным на Web сайтах информационным ресурсам,
а также к ресурсам «скрытого» Web (см. раздел 4.1). Вместе с тем на
56
Информационные системы и их функции
платформе Web создаются разнообразные приложения, обеспечивающие интеграцию распределенных в Web информационных ресурсов.
Многочисленные глобальные системы создаются в настоящее время как
приложения Web для электронного бизнеса, для поддержки научной
кооперации различных коллективов ученых во многих областях знаний в международном и национальном масштабе, в библиотечном деле
и в других сферах. Среда Web предоставляет для поддержки таких систем
идеальные условия.
Конвергенция технологий. Одна из важных тенденций в области информационных систем состоит в конвергенции различных пластов технологий информационных систем. Имеет место взаимопроникновение
идей, заимствование подходов и техники из смежных областей информационных технологий.
Действительно, в системах текстового поиска используются заимствованные из технологий баз данных методы прямого доступа к информационным ресурсам на основе техники индексирования. Технологии Web
используют методы текстового поиска, отработанные за долгие годы
в специально предназначенных для этого системах текстового поиска. В технологической платформе XML, создаваемой для Web нового поколения, используются многие ключевые концепции и подходы
к управлению данными, созданные в области баз данных, такие как модель данных, схема, многоуровневое представление данных, ограничения целостности данных и др. В свою очередь, в технологиях баз данных зарождается новый класс систем баз данных, предназначенных
для поддержки коллекций XML документов. Появились коммерческие
XML ориентированные СУБД.
Развитие стандартов информационных технологий. Последнее десятилетие стало периодом интенсивной деятельности по стандартизации
различных аспектов информационных технологий. Эта деятельность осуществляется не только силами официальных органов стандартизации, но
и многочисленными специально для этих целей учрежденными индустриальными консорциумами.
Благодаря созданию стандартов в этой области обеспечивается переносимость приложений и информационных ресурсов между различными программно аппаратными платформами, интероперабельность программных продуктов различных поставщиков и созданных на их основе
приложений, повторное использование ресурсов, в частности метаданных и программных компонентов приложений. Появилась возможность
измерения производительности различных систем на эталонных тестах
и сравнительной оценки результатов измерений и т.д.
Общие тенденции развития информационных систем
57
Создано немалое количество международных, национальных и индустриальных стандартов разного назначения, многие из которых стали уже
стандартами де факто. Стандарты реляционных и объектных баз данных,
многочисленные стандарты Web, хранилищ данных, интероперабельных
неоднородных распределенных объектных сред, стандарты геоданных,
компонентных моделей и архитектур представляют лишь часть проведенной в этой области огромной работы.
Деятельность по созданию и развитию стандартов информационных
технологий активно продолжается. Подробные сведения о стандартах
технологий баз данных и смежных областей информационных технологий можно найти в [10].
Автоматизированная разработка информационных систем. Крупное достижение технологий современных информационных систем состоит в создании методов их анализа и проектирования, которые в течение двух трех десятилетий прошли испытания на практике. На их основе
разработаны инструментальные средства CASE, которые поставляются
многими компаниями – разработчиками программного обеспечения. Такие технологии широко применяются прежде всего для создания систем
баз данных. Важное место в этой области принадлежит методам объектного анализа и проектирования. Консорциумом OMG создан стандарт
унифицированного визуального языка моделирования UML, основанного на таких методах. Язык UML поддерживают в настоящее время многие программные продукты.
Разработчики Web сайтов также располагают развитым инструментальным оснащением, которое существенно облегчает создание страниц Web со сложным дизайном, позволяет динамически генерировать
страницы Web на основе содержимого баз данных по запросам пользователей, разрабатывать и отлаживать встраиваемые в страницы Web
Java скрипты и т.д.
Создатели систем текстового поиска имеют в своем распоряжении
вспомогательные средства для автоматизированной разработки тезаурусов, словарей и т.д., для сканирования и ввода документов, автоматического их индексирования.
Важная тенденция в области информационных систем состоит в том,
что повышается удельный вес систем, которые создаются с использованием тех или иных средств автоматизированной разработки.
Повышается культура проектирования и реализации крупных информационных систем, основанных на технологиях баз данных. Все большее
признание специалистов получают стандарты системного проектирования, обеспечивающие эффективное управление жизненным циклом
58
Информационные системы и их функции
создаваемой системы, отсутствие упущений в процессе разработки, высокое ее качество.
В условиях рыночной экономики уделяется серьезное внимание управлению проектами систем, не только технологическим, но и экономическим их аспектам. Для этого развиваются необходимые методы и создаются
инструментальные средства.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Назовите важнейшие тенденции, которые проявляются в настоящее время в разработках информационных систем.
2. Какие элементы объектной инфраструктуры обеспечивают активное использование объектных технологий в разработках информационных систем?
3. Какие организации внесли значительный вклад в формирование
объектной инфраструктуры?
4. В чем заключается интеграция неоднородных информационных ресурсов?
5. Какие аспекты неоднородности информационных ресурсов принимаются во внимание в технологиях, обеспечивающих их интеграцию?
6. Какие возможны виды интеграции информационных ресурсов?
7. Приведите примеры проблем, которые возникают в системах, обеспечивающих интеграцию информационных ресурсов.
8. Какие новые архитектурные подходы начинают применяться в разработках информационных систем?
9. На каких технологических достижениях основано активное развитие мобильных информационных систем в настоящее время?
10. Для каких целей в информационных системах необходимо поддерживать метаданные?
11. Какие стандарты представления метаданных и обмена метаданными
уже существуют в настоящее время?
12. Какие проявления семантической обработки информационных ресурсов имеют место в системах текстового поиска и в Web?
13. В чем заключается специфика систем управления потоками данных?
14. Какие имеются в настоящее время возможности совместного использования различных информационных технологий в информационных системах?
Литература к главе 1
59
15. В чем проявляется тенденция к глобализации информационных
систем?
16. Какие результаты дает конвергенция информационных технологий?
17. Какие основные результаты достигнуты в стандартизации технологий информационных систем?
18. Каково состояние автоматизированной разработки информационных систем?
ЛИТЕРАТУРА К ГЛАВЕ 1
1. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя: Пер. с англ. – М.: ДМК, 2000. – 432 с.
2. Вендров А.М. Проектирование программного обеспечения экономических информационных систем. – М.: Финансы и статистика,
2000. – 352 с.
3. ГОСТ 34.003 90. Информационная технология. Комплекс стандартов и руководящих документов на автоматизированные системы.
Термины и определения.
4. Замулин А.В. Типы и модели данных. В сб. «Банки данных: Материалы 3 й Всесоюзной конф. (Таллин, 24–26 сентября 1985 года)». –
Таллин: ТПИ, 1985, с. 3–15.
5. Зиндер Е.З. Что такое информационная система // Директор информационной службы. – 2002. – 6.
6. Зиндер Е.З. Революционные изменения базовых стандартов в области системного проектирования. Сб. трудов Всероссийской практической конференции «Стандарты в проектах современных информационных систем (Москва, 17–18 марта 2001 года)». – М.:
Открытые системы, 2001, с. 12–20.
7. Информационные системы в экономике: Учебник / Под ред. проф.
В.В. Дика. – М.: Финансы и статистика, 1996.
8. Калянов Г.Н. CASE. Структурный системный анализ (автоматизация и применение). – М.: ЛОРИ, 1996.
9. Когаловский В.М. Происхождение ERP // Директор информационной службы. – 2000. – 10.
10. Когаловский М.Р. Энциклопедия технологий баз данных. – М.: Финансы и статистика, 2002. – 800 с.
60
Информационные системы и их функции
11. Когаловский М.Р. Развитие стандартов XML: новые возможности
и применения. Сб. трудов 2 й Всероссийской практической конференции «Стандарты в проектах современных информационных систем (Москва, 27–28 марта 2002 года)». – М.: Открытые системы,
2002, с. 124–127.
12. Когаловский М.Р. Стандарты платформы XML и базы данных. Обзорная лекция. Сб. трудов 3 й Всероссийской конференции «Электронные библиотеки: перспективные методы и технологии, электронные
коллекции (Петрозаводск, 11–13 сентября 2001 года)». – Петрозаводск: Карельский научный центр РАН, 2001, с. 108–117.
13. Когаловский М.Р. Абстракции и модели в системах баз данных //
СУБД. – 1998. – 4–5. – С. 73–81.
14. Козлов В.А. Открытые информационные системы. – М.: Финансы
и статистика, 1999.
15. Мартин Дж. Организация баз данных в вычислительных системах: Пер. с англ. / Под ред. А.А. Стогния и А.Л. Щерса. – М.: Мир,
1980. – 664 с.
16. Михайлов А.И., Гиляровский Р.С., Черный А.И. Основы информатики. – М.: Наука, 1968.
17. Питтс Н. XML за рекордное время: Пер. с англ. – М.: Мир, 2000. –
444 с.
18. Сэлтон Г. Автоматическая обработка, хранение и поиск информации: Пер. с англ. / Под ред. и с предисл. А.И. Китова. – М.: Советское радио, 1973. – 560 с.
19. Ульман Дж. Основы систем баз данных: Пер. с англ. / Под ред. и с предисл. М.Р. Когаловского. – М.: Финансы и статистика, 1983. – 334 с.
20. Фаулер М., Скотт К. UML в кратком изложении. Применение стандартного языка объектного моделирования: Пер. с англ. / Под ред.
Л.А. Калиниченко. – М.: Мир, 1999.
21. Филинов Е.Н., Бойченко А.В. Проблемы и методика формирования
профилей открытых информационных систем. Сб. трудов Всероссийской практической конференции «Стандарты в проектах
современных информационных систем (Москва, 17–18 апреля
2001 года)». – М.: Открытые системы, 2001, с. 21–25.
22. Цаленко М.Ш. Моделирование семантики в базах данных. – М.:
Наука. Гл. ред. физ. мат. лит., 1989. – 288 с.
23. Цикритзис Д., Лоховски Д. Модели данных: Пер. с англ. / Предисл.
О.М. Вейнерова. – М.: Финансы и статистика, 1985. – 334 с.
Литература к главе 1
61
24. Эмерих В. Конструирование распределенных объектов. Методы
и средства программирования интероперабельных объектов в архитектурах OMG/CORBA, Microsoft/COM и Java/RMI: Пер. с англ.
/ Под ред. и с предисл. Л.А. Калиниченко. – М.: Мир, 2002. – 510 с.
25. Язык описания данных КОДАСИЛ: Пер. с англ. / Под ред. и с предисл. М.Р. Когаловского и Г.К. Столярова. – М.: Статистика, 1981. –
183 с.
26. Lambrix P. Description Logics. Intelligent Information Systems Laboratory. Department of Computer and Information Science. Linkoping
University, Linkoping, Sweden. http://www.ida.liu.se/labs/iislab/people/
palta/DL/index.html.
27. Object Data Standard: ODMG 3.0. Edited by R.G.G. Cattell, D.K. Barry,
M. Berler, J. Eastman, D. Jordan, C, Russell, O. Schadow, T. Stanienda,
and F. Velez. Morgan Kaufmann Publishers, Inc., 2000.
28. Sun Microsystems. Enterprise JavaBeans Specification, Version 2.0.
August 14, 2001.
29. Sun Microsystems. Java 2 Platform Enterprise Edition Specification,
Version 1.3, July 27, 2001.
30. Sun Microsystems. The JavaBeans 1.01 Specification. July 1997.
31. The Common Object Request Broker: Architecture and Specification.
Revision 2.4.2. OMG Document formal/2001 02 01.
Глава
2
ТЕХНОЛОГИИ
БАЗ ДАННЫХ
Технологии баз данных составляют одну из фундаментальных областей
информационных технологий, используемых в разработках информационных систем различного назначения. История ее создания и развития
продолжается уже около четырех десятилетий. За этот период сложилась проверенная временем теория баз данных с собственной терминологической системой, ставшая основой разветвленной совокупности
методов, подходов, моделей, архитектур, языковых спецификаций для
создания, использования и исследования систем баз данных. Ведется
активная работа по стандартизации в этой области. Сформировалась
довольно мощная индустрия воплощающего современные технологии
баз данных инструментального программного обеспечения практически
на любой существующей в настоящее время аппаратно программной
платформе. Эволюция технологий баз данных от их истоков до сегодняшних дней подробно анализируется в работе [13].
В этой главе рассматриваются важнейшие характеристики современного состояния технологий баз данных, обсуждаются перспективные направления их развития, а также актуальные проблемы, которые ждут
своего решения.
2.1. ОБЩАЯ ОЦЕНКА СОСТОЯНИЯ
Обсуждение перспектив технологий баз данных следует начать с инвентаризации наиболее существенных достижений в этой области за ее сорокалетнюю историю и оценки сложившегося состояния этого пласта
информационных технологий. Материалы данного раздела позволяют
видеть картину в целом, получить информацию о важнейших зарождающихся и уже сложившихся перспективных направлениях развития и, вместе с тем, должны послужить основой для более ясного понимания конкретных аспектов рассматриваемой области, обсуждаемых
в следующих разделах этой главы.
Общая оценка состояния
63
В настоящее время на русском языке уже опубликован ряд всемирно
известных монографий и хрестоматийных учебных изданий, детально освещающих достижения технологий баз данных (см., например, [3, 19, 20,
22]). Недавно была издана также объемная энциклопедия [13], в которой представлены важнейшие технологии и стандарты систем баз
данных и смежных с ней областей информационных технологий. Эти
и другие публикации читатель может использовать для более глубокого
изучения проблем технологий баз данных.
Востребованность технологий баз данных. Прежде всего возникает
вопрос о том, в какой мере технологии баз данных оказались востребованными практикой разработки информационных систем. Вероятно, одним из главных показателей востребованности и достаточно развитой
функциональности рассматриваемого пласта информационных технологий может служить тот факт, что сформировалась широкая сфера самых разнообразных приложений систем баз данных. Многие из них ранее квалифицировались как нетрадиционные, поскольку предъявляли
такие требования к инструментальным программным средствам, которые существовавшие СУБД общего назначения не могли удовлетворить.
В настоящее время уже не являются чем то необычным приложения, использующие пространственно временные и активные системы баз данных, системы баз данных реального времени, мультимедийные системы,
базы геоданных, системы баз данных, поддерживаемых в оперативной
памяти (In Memory Database), а также разнообразные приложения, связанные с поддержкой принятия решений.
Моделирование данных. Многое сделано в области моделирования
данных, являющегося фундаментом технологий баз данных. Сформированы основы методологии моделирования данных [8, 22]. Полигоном для
исследований в этой области стали разработки, связанные с графовыми
моделями данных, прежде всего сетевой модели данных CODASYL [22, 27]
и иерархической модели данных [19, 22]. Впоследствии были разработаны
многочисленные модели, различающиеся базовой парадигмой моделирования, поддерживаемым уровнем абстракции данных, видами допустимых структур данных, статические модели и модели, позволяющие
описывать наряду с состоянием предметной области ее поведение. Помимо моделей данных, не связанных с какой либо конкретной областью применений, были созданы также модели данных, учитывающие
специфику предметной области приложения (см., например, [53, 55]).
Некоторые из созданных моделей стандартизованы в виде комплекса воплощающих их языковых средств (языков определения данных,
64
Технологии баз данных
манипулирования данными, языков запросов) и широко используются
в реализациях программного обеспечения.
Одним из крупнейших достижений в этой области является создание
реляционной модели данных [3, 22] и базирующейся на ней теории реляционных баз данных, которая позволила получить результаты, чрезвычайно важные как для развития общей теории баз данных, так и для
практических приложений. Сформировалась мощная индустрия программного обеспечения реляционных баз данных. Разработчики поставляют широкий спектр реляционных СУБД для приложений различного
масштаба. Международный стандарт языка запросов SQL, воплощающий функциональность реляционной модели данных, стал унифицированным интерфейсом коммерческих реляционных СУБД.
Хотя язык SQL в его сегодняшнем состоянии подвергается серьезной
критике со стороны многих экспертов в области технологий баз данных
(см., например, [14]), он «обременен» огромным числом разработанных на его основе и функционирующих систем баз данных. Это наследие
обеспечивает ему долгую жизнь.
Консорциумом ODMG разработан стандарт объектной модели
для систем баз данных [5, 60], который реализован во многих СУБД, выпускаемых в промышленных масштабах. Кроме того, стандарт ODMG
определяет связывания языковых средств этой модели для традиционных объектных языков программирования. Важно отметить, что благодаря общей объектной природе модели данных СУБД и языков программирования для среды объектных СУБД не возникает проблемы
несоответствия импеданса (несоответствия модели данных, поддерживаемой СУБД, и модели данных языка программирования), которая
с появлением реляционных систем стала камнем преткновения в интерфейсах прикладного программирования СУБД. Главная проблема состоит здесь в различии кардинальности операций над данными. Как известно, областью действия операций над таблицами в реляционных СУБД
является полное множество строк таблиц операндов. Это операции множественного уровня. В то же время традиционные языки программирования позволяют оперировать одновременно только отдельной строкой
таблицы. Для решения этой проблемы в язык SQL пришлось ввести концепцию курсора – таблицы, порождаемой в результате выполнения запроса, которая может просматриваться и обрабатываться в прикладной
программе в построчном режиме.
Появление объектных СУБД позволило эффективно использовать
технологии баз данных во многих таких областях приложений, где применение реляционных СУБД требовало различных нетрадиционных
Общая оценка состояния
65
подходов, искусственных приемов и значительных дополнительных усилий, связанных с ними. В ряде случаев для этих целей приходилось создавать специальные модели данных, отвечающие потребностям разрабатываемых приложений, и реализовывать их как более высокий уровень
представления данных над реляционной моделью. Иногда такие модели
удавалось строить как расширения реляционной модели.
Новые возможности объектных СУБД обеспечиваются, главным образом, благодаря более развитым системам типов данных и средствам
структурирования данных в объектных моделях, а также в связи с появлением широко признанной объектной инфраструктуры, основанной на
быстро развивающемся комплексе стандартов. Указанные причины привели к тому, что во второй половине 90 х годов стала происходить трансформация реляционных серверов баз данных, выпускаемых ведущими поставщиками программного обеспечения этого класса, в объектно реляционные
системы. Стандарт SQL:1999 [42, 44] придал официальный статус спецификациям объектно реляционной модели, на которой они основаны.
В этой новой версии стандарта языка SQL сохраняется преемственность
с чисто реляционными технологиями и предусматривается существенный сдвиг в сторону объектных технологий.
В 90 е годы в связи с интенсивным развитием приложений систем баз
данных для поддержки принятия решений, прежде всего в управлении
экономикой, были разработаны и стали широко использоваться на практике методы многомерного моделирования данных [15, 17, 18, 25, 23],
которые, в свою очередь, послужили основой технологий OLAP и хранилищ данных. Поставщики программного обеспечения предоставляют в настоящее время разнообразные программные продукты OLAP,
базирующиеся как на реляционных СУБД, так и на системах, непосредственно поддерживающих многомерные модели данных.
В последние годы в связи с рождением новой технологической платформы Web [9–13], основанной на языке XML, в технологиях баз данных возникла потребность в различных вариантах моделей данных, которые бы позволяли создавать репозитории XML документов и выполнять
в них операции поиска, манипулирования данными и др. В связи с этим
начало формироваться новое направление в технологиях баз данных –
XML ориентированные базы данных (называемые также базами
данных XML) [1, 35, 59].
Осознание актуальности формирующихся технологий Web стимулирует «встречное движение» в разработках новых компонентов стандартов языка SQL и платформы XML. Новый стандарт SQL:200n будет
включать компонент SQL/XML [46, 47], который должен обеспечить
66
Технологии баз данных
возможности совместного использования информационных ресурсов
SQL и XML. В частности, этот стандарт будет включать спецификации
для представления схем и данных SQL в форме XML документов, и наоборот. В свою очередь, создаваемый консорциумом W3C стандарт языка запросов XQuery платформы XML позволит представлять не только
данные и метаданные XML, но и реляционных баз данных, а также оперировать ими.
В области моделирования данных большое внимание уделяется разработке методов отображения моделей данных, созданию спецификаций
отображения для различных пар моделей, стандартизации отображения
моделей данных для некоторых технологий. Механизмы отображения
данных стали важнейшими функциональными компонентами различного рода сред интеграции данных [4], а также систем управления данными
с многоуровневой архитектурой [7].
Объектные базы данных. Несмотря на то что подавляющая доля приложений систем баз данных базируется на реляционных технологиях, их
доминирующая роль начинает несколько ослабевать. Разработаны и все
шире применяются объектные технологии, основанные на открытых
стандартах. Расширяется практическое применение платформы CORBA
[68], обеспечивающей создание распределенных неоднородных интероперабельных сред и интегрированной с технологиями Web. Эта ситуация
стимулирует использование объектных технологий в системах баз данных, в частности СУБД, основанных на стандарте объектных баз данных
ODMG [60]. Важно заметить, что платформа CORBA дает возможность
с применением техники адаптеров (Wrapper) решать весьма злободневную проблему продления жизни унаследованных систем.
На пути миграции реляционных технологий к объектным, осуществляемой эволюционным путем, в соответствии с идеями «Манифеста систем
баз данных третьего поколения» [64] созданы объектно реляционные
серверы баз данных с расширяемой системой типов данных.
XML ориентированные базы данных. Как указывалось выше, в последние годы активно формируется новое направление в технологиях баз
данных, связанное с перспективной технологической платформой Web –
платформой XML (см. главу 4). Системы баз данных нового типа должны
обеспечивать эффективное хранение коллекций XML документов и доступ
к ним. Предпринимаются попытки формирования их концептуальных основ
[1, 35, 59]. Для разработок XML ориентированных баз данных стало выпускаться программное обеспечение [36], основным элементом которого
являются XML ориентированные СУБД.
Общая оценка состояния
67
Координирующую роль в разработке технологий XML ориентированных
баз данных играет консорциум XML:DB [72]. Проект разрабатываемого
консорциумом W3C стандарта языка запросов XQuery для платформы
XML обеспечивает новый вариант пользовательского интерфейса для
XML ориентированных СУБД наряду с уже используемыми для этих целей стандартами DOM, XSLT, XPath, SAX и др. (см. главу 4).
Проблемы XML ориентированных баз данных подробнее обсуждаются в разделах 2.6 и 4.10.
Интеграция неоднородных информационных ресурсов. В последние годы большое внимание стали уделять проблемам интеграции неоднородных информационных ресурсов. Предложены общие подходы
в этой области, различные архитектурные решения, разработаны многочисленные исследовательские прототипы и действующие системы. Ряд
SQL серверов баз данных включает шлюзы для доступа к внешним (по
отношению к базе данных) данным. Разработано дополнение SQL/MED
к стандарту SQL:1999, определяющее интерфейс для доступа к внешним
данным баз данных SQL. Важное место в обеспечении интеграции информационных ресурсов Web и реляционных баз данных, несомненно, будет принадлежать уже упоминавшемуся ранее разрабатываемому новому
компоненту стандарта языка SQL, называемому SQL/XML [46, 47].
Во многих исследовательских проектах значительное внимание уделяется проблемам интеграции неоднородных информационных ресурсов на
семантическом уровне. Конструктивный характер полученных в этой области теоретических результатов и функциональные возможности разработанных прототипов позволяют надеяться, что в ближайшие годы
различные методы обеспечения семантической интеграции информационных ресурсов станут достоянием практических технологий. Одно
из важных и быстро развивающихся направлений приложений в этой области – электронные библиотеки.
Техника хранения данных. Помимо моделирования данных существенное развитие получила техника хранения данных и доступа к ним.
Разработаны и применяются в СУБД, выпускаемых различными поставщиками, разнообразные высокопроизводительные методы организации
хранимых данных и доступа к ним, которые основаны на многочисленных
способах индексирования, хеширования и т.д. Специальные эффективные методы доступа созданы, например, для случая временных и пространственно временных данных, для хранения больших объектов базы данных. Актуальность этой ветви технологий баз данных возрастает в связи
с появлением крупных баз данных терабайтового и петабайтового объема.
68
Технологии баз данных
Обработка пользовательских запросов. Выполнены многочисленные
исследования в области оптимизации обработки запросов в системах
баз данных, основанных на различных моделях данных и технологиях, в частности в системах, функционирующих на аппаратных платформах с параллельной архитектурой. Их результаты используются в выпускаемых промышленностью серверах баз данных. Тем не менее этот круг проблем
в контексте новых технологий и практически важных частных случаев не
прекращает привлекать внимание специалистов. Особенно существенное значение указанные разработки имеют для создания очень больших
баз данных.
Управление транзакциями. Разработаны разнообразные продвинутые модели транзакций и протоколы для механизмов управления
транзакциями, обеспечивающие эффективное управление конкурентным доступом к данным, защиту целостности данных и восстановление
баз данных в необходимых случаях в сосредоточенных и распределенных системах баз данных различного рода, в системах реального времени
и других классах систем со специфическими условиями функционирования. В современных СУБД стала широко применяться, в частности, модель гнездующихся транзакций.
Интерфейсы прикладного программирования. Большое значение
для эффективной разработки приложений систем баз данных имеет создание развитого комплекса стандартизованных языковых средств интерфейсов прикладного программирования как для SQL серверов,
так и для объектных СУБД, основанных на спецификациях стандарта
ODMG. В частности, как уже указывалось, стандартизованы спецификации связывания для ряда популярных традиционных языков программирования. В последнее время аналогичные проблемы решаются также
и для нового класса систем – XML ориентированных СУБД. В этой области используются стандарты не только платформы XML, но и ее окружения, выработанные, главным образом, консорциумами W3C и OASIS.
Подробные сведения о существующих в настоящее время стандартах интерфейсов прикладного программирования для систем баз данных
можно найти в [13].
Системы распределенных баз данных. Системы распределенных
баз данных стали обыденной реальностью. Отработаны методы распределения данных и управления распределенными данными. Предложены
и широко применяются на практике архитектурные подходы, обеспечивающие масштабируемость приложений, реализующие принципы
многозвенной архитектуры «клиент сервер», архитектуры промежуточного слоя, мобильных архитектур.
Общая оценка состояния
69
Локальные системы. Наряду с крупными распределенными системами в массовом масштабе используются локальные системы баз данных, главным образом на платформах персональных компьютеров. Технологии баз данных на персональных компьютерах позволяют вместе
с тем сочетать на рабочем месте пользователя операции с локальной
базой данных и с общей корпоративной базой данных. В то время как
ранние системы баз данных были достоянием лишь центров обработки
данных крупных организаций, оснащенных мощной вычислительной техникой и располагающих высококвалифицированными программистами
и специалистами по электронике, с появлением персональных компьютеров технологии баз данных стали доступны весьма широкому кругу
пользователей.
Безопасность данных. В связи с широким практическим использованием технологий баз данных стали весьма актуальными проблемы обеспечения безопасности данных. Особенно острыми они стали благодаря
активным разработкам распределенных систем различного назначения
и массовому использованию технологий Web. Наряду с общими стандартами информационной безопасности, используемыми в компьютерных
системах различного назначения, были созданы специальные методы
и модели безопасности для информационных систем. В частности, в системах баз данных широко распространена модель многоуровневой безопасности Белла ЛаПадула [16]. В рамках работ по созданию новой технологической платформы Web, основанной на языке XML, консорциум
W3C предложил стандарт цифровой подписи.
Конвергенция информационных технологий. Один из важных феноменов конца 90 х годов состоит в развитии тенденции к конвергенции
различных пластов технологий информационных систем. Имеет место
взаимопроникновение идей, сближение технологий баз данных, технологий Web и технологий текстовых систем. В крупных приложениях эти
технологии часто используются совместно, иногда также с применением
технологий CORBA, OLE/COM и Java. Среда Web обеспечила глобальный доступ к огромному количеству баз данных. Разработка платформы
XML обеспечивает новые возможности для эффективного доступа к информационным ресурсам этой среды, а также для создания новых технологий интеграции информационных ресурсов.
Производство программного обеспечения. Активные практические
разработки систем баз данных во многих сферах применения привели к интенсивному развитию производства программного обеспечения систем баз
данных. В результате сложился мощный конкурентный рынок программного обеспечения систем баз данных, насыщенный многочисленными
70
Технологии баз данных
программными продуктами – реляционными, объектно реляционными
и объектными СУБД, разнообразными средствами их окружения, инструментарием CASE технологий и т.д. Таким программным обеспечением оснащен практически весь спектр выпускаемых промышленностью аппаратных платформ – от электронных секретарей и ноутбуков до
суперкомпьютеров. Высокий уровень конкуренции в производстве программного обеспечения, в свою очередь, стал существенным стимулирующим фактором дальнейшего развития технологий баз данных.
Разработка приложений. Важная характерная черта современного состояния практического применения технологий баз данных состоит в том,
что сформировалась культура разработки крупных приложений, неотъемлемой составной частью которой стало использование инструментария CASE, а также различных средств быстрой разработки, поставляемых всеми ведущими производителями серверов баз данных и другими
компаниями. Этот инструментарий основан по большей части на методах
объектного анализа и проектирования. Создан и активно используется
в инструментальных средствах CASE ряд стандартов, обеспечивающих
их интероперабельность. Широкое распространение получил в этой области стандарт унифицированного языка моделирования UML [2, 21].
Поддержка принятия решений. Технологии баз данных стали необходимым средством разработки систем поддержки принятия решений
[23]. В связи с потребностями управления экономикой были разработаны методология, модели данных (в частности, многомерные модели данных, о которых говорилось ранее) и инструментарий для создания приложений, обеспечивающих поддержку принятия решений. Для реализации
таких приложений созданы и широко применяются технологии OLAP,
хранилищ данных (Data Warehousing), а также глубинного анализа данных (Data Mining).
Стандарты систем баз данных. Значительные достижения имеются в создании актуальных индустриальных и международных стандартов технологий баз данных, которые определяют функциональные
возможности разрабатываемых инструментальных средств и используемых технологий. Они служат прежде всего для обеспечения мобильности приложений и данных, повторного использования информационных ресурсов, интероперабельности и открытости базирующихся на них
систем. Важнейшие результаты деятельности органов стандартизации
в этом направлении детально рассмотрены в [13].
Эталонное тестирование программных продуктов. Еще одно важное
направление в технологиях баз данных, которое следует здесь упомянуть,
Общая оценка состояния
71
связано с созданием методологии, а также эталонных тестов для измерения и сравнительной оценки производительности программных продуктов СУБД на различных программно аппаратных платформах. Существенный вклад в решение этой проблемы принадлежит консорциуму
TPC (Transaction Processing Performance Council) [13]. Указанной проблемой для XML ориентированных СУБД занимается в настоящее время группа по базам данных в Лейпцигском университете (Германия) под
эгидой консорциума XML:DB.
Факторы, влияющие на дальнейшее развитие. В заключение этого краткого обзора следует назвать те факторы, которые оказывают наибольшее влияние на дальнейшее развитие технологий баз данных. К их
числу относятся:
Œ организация производства объектных и объектно реляционных СУБД
ведущими поставщиками программного обеспечения систем баз
данных;
Œ развитие объектной инфраструктуры, прежде всего благодаря деятельности по стандартизации, проводимой консорциумом OMG, а также разработкам компаний Microsoft и Sun Microsystems;
Œ разработка объектного языка программирования Java, стандартизация
интерфейсов прикладного программирования объектно реляционных
и объектных СУБД для этого языка, разработка комплекса основанных на нем информационных технологий;
Œ создание глобальной коммуникационной среды Internet;
Œ разработка консорциумом W3C технологической платформы Web нового поколения, основанной на языке разметки XML;
Œ активизация исследований в области интеграции неоднородных информационных ресурсов и интеграция технологий баз данных с технологиями Web;
Œ развитие новых архитектурных подходов в распределенных компьютерных системах, основанных на концепциях «клиент сервер», промежуточного слоя, мобильности, активных агентов;
Œ развитие в последние годы тенденций к конвергенции информационных технологий, выражающейся во взаимном влиянии технологий баз
данных, технологий Web и технологий текстовых систем.
Перейдем теперь к подробному рассмотрению наиболее важных аспектов сложившихся технологий баз данных и перспектив их развития.
72
Технологии баз данных
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. В какой мере технологии баз данных востребованы практикой разработки современных информационных систем?
2. Приведите несколько наиболее важных, с вашей точки зрения, достижений в области технологий баз данных.
3. Какие основные результаты достигнуты в области моделирования
данных в системах баз данных?
4. В чем состоят главные особенности реляционной модели данных?
5. Какими достоинствами обладает объектный подход к моделированию данных?
6. Каким путем на практике осуществляется миграция реляционных
систем баз данных в объектные среды?
7. На каких моделях данных основаны технологии OLAP?
8. Какое новое направление в технологиях баз данных рождается благодаря созданию платформы XML для Web?
9. Для каких целей создаются стандарты в области технологий баз
данных?
10. Какие факторы оказывают определяющее влияние на дальнейшее
развитие технологий баз данных?
2.2. АРХИТЕКТУРНЫЕ ПОДХОДЫ
Рассматривая проблемы архитектуры современных СУБД, систем баз
данных или прикладных систем, основанных на технологиях баз данных,
необходимо прежде всего отметить, что во внимание часто не принимается ее многоаспектный характер.
В этом разделе сначала анализируются наиболее существенные аспекты архитектуры, а затем кратко рассматриваются популярные архитектурные подходы, используемые в информационных системах, основанных на технологиях баз данных, и в средах функционирования таких
систем. Нужно заметить, что большинство из этих подходов применяется
также и в информационных системах других типов.
Как уже отмечалось, архитектура СУБД и систем баз данных является многоаспектной. В частности, можно вести речь о функциональной
архитектуре систем, их пространственной и информационной архитектуре. Эти аспекты архитектуры являются в значительной степени ортогональными.
Архитектурные подходы
73
Функциональная архитектура. Функциональная архитектура характеризует состав функциональных компонентов системы, их назначение, взаимосвязи и способы взаимодействия. Так, в составе СУБД имеются компоненты, обеспечивающие интерактивные пользовательские
интерфейсы и интерфейсы прикладного программирования, управление
средой хранения данных и доступ к ним, поддержку предусмотренных «логических» уровней представления данных (концептуальный и внешний
уровни в терминах архитектуры ANSI/X3/SPARC [30]), компоненты,
реализующие механизмы управления транзакциями, поддержку функций администратора базы данных и т.д. Декомпозиция системы на отдельные функциональные компоненты, их взаимосвязи и способы взаимодействия зависят от реализационных решений, в частности связанных
со спецификой аппаратно программной платформы, для которой она
предназначена. Например, возможности распараллеливания процессов функционирования СУБД, обеспечиваемые используемой аппаратной платформой, без сомнения, влияют на функциональную архитектуру
системы. Точно так же имеется своя специфика в функциональной архитектуре СУБД для управления базами данных, поддерживаемыми в оперативной памяти.
Прикладная система, взаимодействие компонентов которой основано на принципе «клиент сервер», включает клиентские и серверные
функциональные компоненты. В настоящее время широко распространена трехзвенная архитектура «клиент сервер». Система с такой архитектурой включает функциональные компоненты, реализуемые стороной клиента, сервером базы данных и сервером приложений, которые,
в свою очередь, могут декомпозироваться на составляющие их функциональные компоненты. В случае распределенной пространственной архитектуры некоторые функциональные компоненты управления данными или приложения могут в аспекте функциональной архитектуры
занимать промежуточное положение между приложением и компонентами сетевого программного обеспечения. Такие функциональные компоненты (архитектуру) называют компонентами (архитектурой) промежуточного слоя.
Функциональные компоненты систем описываются их интерфейсами.
Пространственная архитектура. Пространственная архитектура характеризует размещение функциональных компонентов системы
и ее информационных ресурсов в пространстве. По этому критерию различаются сосредоточенные и распределенные системы.
В сосредоточенной системе все ее функциональные компоненты
хранятся и исполняются на отдельном компьютере. На том же компьютере
74
Технологии баз данных
поддерживается и база данных. Большое количество систем с такой архитектурой базируется на персональных компьютерах, а также на мейнфреймах.
В отличие от них распределенные системы базируются на компьютерных сетях различного масштаба – локальных, территориальных, глобальных и т.д. Функциональные компоненты и/или информационные ресурсы систем с такой архитектурой поддерживаются на различных узлах
сети. Распределенные системы баз данных начали разрабатываться еще
в 70 х годах.
Появление беспроводных коммуникаций и мобильных компьютеров в последние годы позволило создавать мобильные компьютерные
сети и базирующиеся на них мобильные системы баз данных и мобильные прикладные системы. В мобильных компьютерных сетях имеется стационарная часть – совокупность взаимосвязанных компьютеров, местоположение которых остается неизменным, и мобильная часть,
включающая коммуникационные средства и компьютеры, перемещаемые в пространстве и способные обмениваться данными с компьютерами стационарной части сети. Компьютеры стационарной части выполняют функции хостов (рабочих машин) и базовых станций. Базовые
станции обеспечивают коммуникации мобильных компьютеров с хостами. Хосты служат для поддержки систем баз данных, исполнения приложений и т.п. Конечно, возможно совмещение функций рабочей станции
и хоста на одном компьютере.
Нужно заметить, что мобильные системы баз данных обладают рядом специфических особенностей, которые оказывают влияние на используемые в них технологии. Так, ограниченная емкость источников
питания мобильных компьютеров требует применения нетрадиционных моделей транзакций. Вместо традиционных частых коротких транзакций в данном случае более эффективны длинные, но более редкие транзакции. Мобильность компьютеров порождает данные новой
природы в базах данных. Интерпретация значений таких данных зависит от местоположения мобильного компьютера клиента. В мобильных системах баз данных могут существовать также запросы,
результаты обработки которых зависят от местоположения пользователя в момент задания запроса. Специфические требования к механизмам защиты целостности данных в локальных СУБД мобильных
компьютеров связаны также с возможностью неожиданного прерывания сеанса взаимодействия со стационарной частью системы базы
данных. В связи с тем, что мобильный компьютер не находится в состоянии постоянного взаимодействия со стационарной частью системы, необходимы особые методы синхронизации тиражируемых данных
Архитектурные подходы
75
в мобильных системах. В настоящее время многие из этих и других возникающих в системах такого рода проблем уже нашли свое решение.
Процессы перемещения данных, которыми обмениваются функциональные компоненты распределенных между узлами компьютерной сети,
использовались в системах с распределенной архитектурой изначально.
Создание языка Java привело к использованию в них и мобильных функциональных компонентов.
Информационная архитектура. Третий названный выше аспект архитектуры систем рассматриваемого класса – информационная архитектура. Этот аспект характеризует различные поддерживаемые
в системе представления ее информационных ресурсов, материализованные и виртуальные, их свойства и взаимосвязи, в частности отображения различных представлений информационных ресурсов. Указанные
элементы информационной архитектуры описываются схемами базы
данных (внутренней, концептуальной, внешними). Элементами информационной архитектуры сосредоточенной системы базы данных являются представления базы данных на различных уровнях многоуровневой
информационной архитектуры – хранимой базы данных, концептуальной и внешних баз данных, а также междууровневые отображения этих
представлений базы данных в терминах языков описания данных используемой СУБД. Федеративным системам баз данных и системам мультибаз данных свойственны такие элементы информационной архитектуры,
как составляющие их локальные базы данных, а также виртуальная полная или частичная интегрированная база данных, описанная соответственно полной или частичной глобальной схемой.
Перечислим теперь архитектурные подходы, которые получили в настоящее время широкое распространение в разработках систем баз данных и прикладных систем.
Распределенная архитектура. Системы с распределенной архитектурой (их называют распределенными системами) дают возможность
обобществлять информационные, вычислительные и коммуникационные ресурсы узлов сети для использования их в рамках данного приложения или группы приложений. В некоторых случаях при этом обеспечивается прозрачность распределения обобществляемых ресурсов,
например в распределенных системах баз данных с глобальной схемой.
Архитектура «клиент сервер». С точки зрения модели взаимодействия функциональных компонентов систем, наиболее распространенной
еще с начала 90 х годов стала архитектура «клиент сервер». При этом
предусматривается выделение одного из функциональных компонентов системы, называемого сервером, для оказания определенных услуг
76
Технологии баз данных
по запросам других компонентов, называемых клиентами. Роли клиента
и сервера в рассматриваемой архитектурной модели являются относительными, так как они ассоциируются с конкретным набором услуг. Функциональный компонент, являющийся клиентом относительно одного набора
услуг, может быть вместе с тем сервером, оказывающим другие услуги.
Концепция «клиент сервер» может использоваться в среде как распределенной, так и сосредоточенной архитектуры. В системах баз данных, основанных на таком подходе, сервер поддерживает базу данных
и обрабатывает запросы, поступающие со стороны клиентов. В свою
очередь, клиентские узлы поддерживают пользовательские интерфейсы и функциональность приложений. Такая архитектура называется двухзвенной архитектурой «клиент сервер».
Системы с двухзвенной архитектурой «клиент сервер» обладают ограниченными возможностями масштабирования, и наращивание нагрузки
на сервер базы данных выше некоторого порога приводит к резкому снижению производительности системы. К тому же при двухзвенном подходе усложняется модификация приложений – изменения могут затрагивать целый ряд клиентских систем. В связи с этим в разработках крупных
систем стала применяться трехзвенная архитектура «клиент сервер»
(клиенты, сервер приложения и сервер базы данных). При такой архитектуре функциональность приложения поддерживается специальным сервером. Сервер базы данных и сервер приложения могут поддерживаться на различных платформах и при необходимости независимо
масштабироваться, порождая тем самым многозвенную архитектуру «клиент сервер».
Архитектура промежуточного слоя. Архитектура промежуточного слоя – это разновидность распределенной архитектуры, в которой
используются функциональные компоненты, занимающие в архитектуре промежуточное положение между приложениями, с одной стороны,
и средствами операционной системы и сетевого программного обеспечения, с другой стороны. Популярность такой архитектуры связана
с тем, что она обеспечивает приложению, использующему основанные на ее принципах программные средства, независимость от сетевых протоколов и специфики операционных систем. Тем самым обеспечивается также интероперабельность компонентов такого приложения
или различных взаимодействующих приложений, функционирующих
в разных сетевых и операционных средах. Указанные возможности достигаются благодаря стандартизации интерфейсов и протоколов,
поддерживаемых программным обеспечением промежуточного слоя.
Разработанные технологии, основанные на концепции промежуточного
Архитектурные подходы
77
слоя, обеспечивают прозрачность распределения ресурсов прикладной
системы и ее неоднородности для разработчика приложений.
Программное обеспечение, базирующееся на принципах архитектуры промежуточного слоя, – это основа трехзвенного подхода к построению архитектуры неоднородных распределенных систем, который является дальнейшим развитием архитектуры «клиент сервер». Такой подход
в настоящее время доминирует при создании крупных информационных
систем. На принципах промежуточного слоя основаны многие активно используемые стандарты распределенных систем, в частности стандарт CORBA, разработанный консорциумом OMG (Object Management
Group). Использование этого стандарта обеспечивает построение неоднородных распределенных интероперабельных объектных сред.
К категории программного обеспечения промежуточного слоя относятся мониторы обработки транзакций в распределенных системах баз
данных, компоненты функциональной архитектуры брокера объектных
запросов стандарта CORBA и многие другие средства.
Компонентная архитектура. Были предложены также архитектурные
подходы, обеспечивающие создание систем из повторно используемых
компонентов. Одним из первых среди них был подход, основанный на
компонентной объектной модели COM (Component Object Model)
[26] и ее распределенной версии DCOM (Distributed Component Model),
разработанный компанией Microsoft, которая активно использует их в своих программных продуктах начиная с середины 90 х годов.
Другой архитектурный подход, основанный на компонентной объектной модели JavaBeans [67], был предложен компанией Sun Microsystems.
Созданная на ее базе компонентная архитектура Enterprise JavaBeans
(EJB) [65] обеспечивает инструментарий высокого уровня для разработки на языке Java основанных на компонентах масштабируемых объектных распределенных приложений транзакционного типа. Такие приложения переносимы без перекомпиляции или какой либо коррекции
исходного кода на любые серверные платформы, которые поддерживают спецификации EJB.
Новая созданная компанией Sun Microsystems эффективная компонентная технология разработки, распространения и загрузки мультипользовательских корпоративных сервисов основана на технологической платформе Java 2 Enterprise Edition (J2EE) [66], которая уверенно
завоевывает все большую долю рынка программных продуктов рассматриваемого назначения. Платформа J2EE интегрирует получившие широкое распространение ранее созданные компанией Sun Microsystems
элементы технологий разработки программного обеспечения на языке
78
Технологии баз данных
Java, в том числе интерфейс прикладного программирования для систем
баз данных JDBC, технологии JavaBeans и EJB, принимает во внимание
потребности приложений Web и использует платформу XML (см. главу
4). Развитие и продвижение технологии J2EE осуществляется консорциумом Java Community Process (JCP), в состав которого входит несколько сот крупнейших поставщиков и пользователей программного обеспечения, таких как компании IBM, Oracle, Hewlett Packard, Rational
Software, Sun Microsystems и др.
Для реализации компонентной архитектуры в среде распределенных
неоднородных интероперабельных объектных сред, основанных на платформе CORBA, стандарт компонентной модели разработан также консорциумом OMG [39]. Этот стандарт создавался под влиянием компонентного подхода компании Sun Microsystems.
Мобильная архитектура. В середине 90 х годов появилась возможность использования в архитектуре распределенных систем мобильных
средств программного обеспечения. Такие возможности открылись прежде всего благодаря появлению языка и технологий Java. Функциональные модули приложений, представленные в виде Java аплетов в формате
мобильных Java байт кодов, вызов которых встроен в HTML страницы,
передаются при такой технологии по запросу браузера с Web сервера на
сторону Web клиента, где они могут исполняться виртуальной машиной
Java, встроенной в Web браузер.
Архитектура агентов. В последние годы большое внимание исследователей и поставщиков программного обеспечения привлекают агентные
подходы, которые уже нашли применение как в системах, основанных на
технологиях баз данных [69], так и в других типах информационных систем и систем иного назначения.
Агентом называют программу, которая выполняется от имени другой
программы или лица в автономном от них режиме, может взаимодействовать с другими агентами, а также со средой, в которой она выполняется, и реагировать на происходящие в ней изменения.
Различаются стационарные и мобильные агенты. Стационарные агенты исполняются на том компьютере, на котором они были активизированы.
Мобильные агенты могут мигрировать с одного компьютера сети на другой. При этом перемещается не только их программный код, но и данные,
представляющие их состояние.
В системах, основанных на технологиях баз данных, мобильные агенты
используются для распределенной обработки транзакций, для обеспечения доступа к базам данных, в том числе к базам данных, интегрированным
в среду Web, для мониторинга данных [63]. Они могут использоваться
Архитектурные подходы
79
также в качестве функциональных компонентов приложений, которые
обеспечивают коллекционирование данных, их фильтрацию и другую обработку, передачу сообщений, распространение данных и т.п.
Для управления мобильными агентами используются так называемые
системы мобильных агентов. В их функции входит создание, инициирование, осуществление миграции агентов, их уничтожение, обеспечение безопасности функционирования порожденных ими агентов. Одна из
таких инструментальных систем ASDK (Aglet Software Development Kit),
созданная компанией IBM [31], имеет дело с мобильными агентами Java,
называемыми аглетами.
Консорциум OMG разработал спецификации индустриального стандарта возможностей мобильных агентов [58].
Одноранговая архитектура. Речь идет о возрождающемся архитектурном подходе в распределенных системах, который, так же как агентные технологии, в последние годы привлекает большое внимание [49,
70]. Этот подход основан на принципах архитектуры одноранговых
сетей (Peer to Peer Network). Такую архитектуру можно было бы назвать распределенной архитектурой с равноправными компьютерами. Она является альтернативой централизованной архитектуре
«клиент сервер», в которой клиентские компьютеры совместно используют ресурсы компьютеров серверов. Одноранговая архитектура, напротив, является децентрализованной. Все компьютеры сети на равных
способны совместно использовать ресурсы друг друга. Роль, которую
играет каждый компьютер во взаимодействиях с другими компьютерами сети при предоставлении некоторой услуги, не фиксируется, как это
имеет место в архитектуре «клиент сервер», а зависит от контекста выполняемой операции и от характеристик текущей ситуации. В одних случаях он может быть сервером, в других – клиентом.
Каждый из этих двух подходов обладает своими достоинствами и недостатками. При появлении в системе с архитектурой «клиент сервер» новых компьютеров клиентов возрастает нагрузка на сервер. В конце концов сервер может оказаться перегруженным и начинает деградировать
производительность системы. В случае одноранговой архитектуры появление новых компьютеров в сети, наоборот, увеличивает ее ресурсы
и приводит к росту производительности. Вместе с тем для одноранговой
архитектуры требуются более сложные средства управления по сравнению с вариантом «клиент сервер». Здесь нужно осуществлять мониторинг состояния компонентов сети (Peer), которые могут независимо
отключаться от нее в любое время. Усложняется решение проблем безопасности и обеспечения целостности данных и т.п.
80
Технологии баз данных
Концепция одноранговой архитектуры отнюдь не нова. На ней основывалась сеть ARPANET, ставшая стартовым ядром Internet. Эта концепция была положена в основу системы доменных имен (Domain Name
System, DNS) в Internet и других сетевых систем. Однако взрывной характер развития Internet, необходимость использования сетевых экранов (Firewall), динамических IP адресов, трансляции сетевых адресов
(Network Address Translation, NAT), использование браузеров в Web
и другие факторы привели к доминанте принципа «клиент сервер» в среде Internet и в разработках распределенных систем другого рода. Теперь
на этом принципе строятся, в частности, современные системы распределенных баз данных, Web и другие информационные службы Internet.
Однако в 2000 году вновь оживился интерес к концепции одноранговой архитектуры. Уже появился целый ряд посвященных ей исследовательских проектов, системных прототипов, а также программных продуктов. Продолжается поиск необходимых технических решений. Можно
ожидать, что Internet и разнообразные распределенные системы нового
поколения станут базироваться на одноранговой архитектуре.
Реализация архитектуры систем баз данных. Обсуждая архитектуру современных систем баз данных и информационных систем, следует
для полноты картины упомянуть о функциональных компонентах рассматриваемых систем, обеспечивающих поддержку требуемой информационной архитектуры. Наиболее сложные варианты информационной
архитектуры приходится использовать в системах, обеспечивающих интеграцию неоднородных информационных ресурсов.
Среди указанных функциональных компонентов следует прежде всего назвать всевозможные механизмы отображения моделей данных. Они не только служат для поддержки многоуровневого представления баз данных в локальных СУБД, но и играют важную роль в решении
проблем интеграции неоднородных информационных ресурсов. Недавно принятое дополнение SQL/MED к стандарту языка запросов для реляционных и объектно реляционных баз данных SQL:1999 описывает
отображение в среду SQL внешних источников данных, обеспечивая для
них возможность доступа теми же средствами языка SQL, что используются для доступа к обычным данным в базе данных. Подобные механизмы отображения данных в некоторых СУБД называют шлюзами.
На технике отображения моделей данных в рассматриваемых системах базируется другой важный вид функциональных компонентов, называемых адаптерами (Wrapper). Адаптеры «обертывают» данную программную систему, программный модуль или информационный ресурс
в оболочку, обеспечивающую его представление, естественное для
Архитектурные подходы
81
среды применения. Вместе с тем исходный ресурс инкапсулируется от
среды, в которую он таким образом погружается. Благодаря такому подходу обеспечивается единообразный доступ к неоднородным источникам
информационных ресурсов.
Так, адаптеры в среде, основанной на платформе CORBA, позволяют
представить, например, реляционную или иерархическую систему базы
данных как объект такой среды, инкапсулирующий реальную реализацию системы. Для этого на языке определения интерфейсов IDL стандарта CORBA определяется интерфейс объекта, предусматривающий нужные
операции и атрибуты, в терминах которых можно обращаться к рассматриваемой системе базы данных. Инкапсулированная для пользователя
реализация этого интерфейса будет выполнять функции отображения
определенных в интерфейсе операций в язык запросов рассматриваемой
СУБД. Полученный результат, в свою очередь, конвертируется в форму, соответствующую спецификации интерфейса. Аналогичные функции
выполняют адаптеры в других средах.
В завершение этого раздела следует назвать компоненты программного обеспечения информационных систем, выполняющие функции семантической интеграции данных из множества неоднородных источников
и поддержки интегрированного представления этих данных для приложений на более высоком уровне информационной архитектуры системы.
Такие компоненты называются посредниками (Mediator). Идеи посредника были предложены в 1992 году профессором Гио Видерхольдом (Gio
Wiederhold, Стэнфордский университет) [71]. Посредник инкапсулирует источники данных для пользователя, разрешает конфликты, возникающие в связи с различием представлений данных в этих источниках. Техника посредников используется, в частности, в системах мультибаз данных
для интеграции данных, содержащихся в локальных базах данных, а также
для интеграции слабоструктурированных данных Web сайтов. В последнее
время посредники нашли применение в системах электронных библиотек
для интеграции неоднородных коллекций информационных ресурсов.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Какие аспекты архитектуры систем баз данных являются наиболее
существенными?
2. Что такое функциональная архитектура системы?
3. Поясните смысл пространственной архитектуры системы баз данных.
4. В чем заключается смысл информационной архитектуры?
5. В каких случаях используется распределенная архитектура?
82
Технологии баз данных
6. Что представляет собой архитектура промежуточного слоя?
7. Какие преимущества обеспечивает приложениям использование
программного обеспечения промежуточного слоя?
8. Приведите примеры программных средств архитектуры промежуточного слоя.
9. Какой получивший широкое распространение индустриальный
стандарт основан на принципах архитектуры промежуточного
слоя?
10. Сформулируйте принципы архитектуры «клиент сервер».
11. Чем трехзвенная архитектура «клиент сервер» отличается от двухзвенной?
12. Из каких компонентов состоят мобильные системы баз данных?
13. Какие компонентные архитектурные модели используются в настоящее время?
14. Какие возможности в разработках систем баз данных и информационных систем обеспечивает агентный подход?
15. Что такое мобильный агент?
16. Назовите достоинства и недостатки подхода, основанного на одноранговой архитектуре.
17. Какие функциональные компоненты составляют основу реализации информационной архитектуры современных систем баз данных
и информационных систем?
18. В каких случаях применяются механизмы отображения моделей
данных?
19. Для каких целей используются адаптеры?
20. Что такое посредник и каковы его функции?
2.3. ОБЪЕКТНЫЕ БАЗЫ ДАННЫХ
Весьма значимую роль в области баз данных в настоящее время играют
технологии объектных баз данных, часто называемых также объектно ориентированными. От этого раннего названия происходит аббревиатура ООСУБД (объектно ориентированные СУБД), широко используемая в различных публикациях.
Достоинства объектного подхода. Популярность объектного подхода
в области баз данных в значительной мере объясняется более естественными возможностями моделирования предметной области, чем при
Объектные базы данных
83
использовании графовых моделей данных и реляционной модели. Объектная парадигма моделирования позволяет не разделять при разработке
модели предметной области (и схемы базы данных) структурные и поведенческие аспекты сущностей предметной области, использовать более развитую систему типов, чем в других моделях данных, моделировать
с помощью отношения наследования и связей между типами объектов
различные виды связей между объектами предметной области.
Немаловажное значение имеет также тот факт, что СУБД, основанные на объектной парадигме моделирования данных, позволяют преодолеть застарелую болезнь традиционных технологий баз данных, называемую несоответствием импеданса, – несоответствие типов данных,
которые предусмотрены в языке прикладного программирования и в модели данных, поддерживаемой СУБД. Эта проблема, пожалуй, не возникала лишь для приложений СУБД типа CODASYL, реализованных в языке COBOL, поскольку запись базы данных в модели данных CODASYL
строилась по образу и подобию записи в этом языке программирования.
Но проблема несоответствия импеданса возникла и для СУБД этой категории, когда впоследствии потребовалось обеспечить их средствами API
для языков PL/1 и FORTRAN. Ее пришлось решать и для реляционных
баз данных, где возникло противоречие между множественным характером операций над строками таблиц базы данных в реляционных базах
данных и построчным (над единичными строками) характером операций
в традиционных языках программирования, для которых предоставлялись интерфейсы прикладного программирования СУБД.
Привлекательной особенностью объектных СУБД, которые с самого начала предусматривали API для объектных языков программирования, было полное отсутствие указанной проблемы. Весьма заманчивой
также представлялась возможность создания декларативных языков запросов для объектных СУБД. Наконец, существует развитая объектная
инфраструктура, благодаря которой снижаются стоимость и сроки разработки систем баз данных. Действительно, в настоящее время широко распространены стандарты и инструментальные программные средства для конструирования обладающих многими полезными свойствами
объектных сред, в рамках которых должны функционировать системы
баз данных. Создан разнообразный инструментарий анализа и проектирования сложных систем, основанный на объектной парадигме. Возможностям объектного подхода в программировании, в системах баз данных
и в инструментарии объектно ориентированного анализа и проектирования программных систем посвящена обширная литература (см., например, [2, 16, 26]).
84
Технологии баз данных
Краткая история. Становление объектного подхода в области баз
данных началось во второй половине 80 х годов – в период, когда в практических приложениях уже сложилась безраздельная монополия реляционных баз данных. Каковы же причины рождения объектного подхода
в технологиях баз данных? Таких причин несколько.
Прежде всего стали, наконец, приносить практические плоды продолжавшиеся более десятилетия исследования в области языков программирования, основанных на объектной парадигме. А языки программирования, как известно, являются главным инструментом разработки
приложений систем баз данных.
К этому времени в ряде научных центров в области систем баз данных
были развернуты поисковые проекты, направленные на изучение возможных путей дальнейшей эволюции технологий баз данных. В некоторых из них изучались, в частности, возможности интеграции элементов
объектной функциональности в среду реляционных СУБД. Так, в проекте постреляционной исследовательской СУБД POSTGRES, который
выполнялся в Калифорнийском университете (Беркли) известной своими новаторскими идеями и крупнейшим вкладом в технологии реляционных баз данных группой Майкла Стоунбрекера (Michael Stonebraker),
предусматривалось использовать в разрабатываемом прототипе реляционную модель данных, расширенную основными объектными возможностями – наследованием типов, инкапсуляцией их реализаций. Подводя итоги проведенных в этой области исследований, ведущие эксперты
принимали во внимание не только их результаты, но и успехи применения объектных языков программирования. Перспективность объектного подхода в технологиях баз данных получила широкое признание. Рассмотрим эти вопросы подробнее.
Активные исследования в области языков программирования, проводившиеся в конце 60 х – начале 70 х годов, привели к формированию
концепции абстрактного типа данных. Она нашла конструктивное
воплощение в разработанных в это время экспериментальных языках
программирования (CLU, Alphard и др.) и трансформировалась впоследствии в подход, который и стал называться объектным. Специалисты по
языкам программирования усматривают истоки объектного подхода в
языке имитационного моделирования Симула 67, созданном и впервые
реализованном в Норвегии. Этот язык был также реализован в нашей
стране в Центральном экономико математическом институте Академии
наук на платформе ЕС ЭВМ, а также в Институте прикладной математики им. В.М. Келдыша на платформе БЭСМ 6 и использовался для имитационного моделирования сложных систем с дискретными событиями.
Объектные базы данных
85
Одним из ранних объектных языков программирования, который получил широкое распространение, стал созданный в 1972 году в компании
Xerox PARC язык Smalltalk. А после опубликования в 1983 году одним из
..
авторов языка Симула 67 – Бьерном Страуструпом (Bjorn Stroustrup)
из AT&T Bell Laboratories языка C++, объектного расширения уже
к тому времени весьма популярного языка C, и начала поставок компаниями Borland и Microsoft систем программирования с этим входным
языком для платформы IBM совместимых персональных компьютеров
программирование в объектной парадигме стало массовым явлением.
Конечно же, эта ситуация не могла не пробудить интереса к воплощению объектной парадигмы в технологиях баз данных. К этому времени накопилась заметная коллекция разнообразных классов приложений,
которые не могли быть эффективно реализованы средствами реляционных систем. Как правило, к их числу относились приложения, которые
нуждались в более богатых по сравнению с предоставляемыми реляционными СУБД средствах моделирования предметной области с развитой системой типов, с возможностью представления сложных структур
данных, обеспечивающих во многих случаях более естественное отображение семантики предметной области в базах данных. Эти возможности
обеспечивали объектные модели данных.
Значительное влияние на развитие объектных технологий баз данных и развертывание индустрии объектных СУБД оказала поддержка
научного сообщества. В 1989–1990 годах две группы ведущих экспертов в области технологий баз данных из разных стран опубликовали с годовым интервалом программные документы – Манифест
объектно ориентированных баз данных [32] и Манифест систем баз
данных третьего поколения [64]. Заметим, что первым поколением систем баз данных принято считать системы, основанные на графовых моделях данных – иерархических, сетевых и т.п., а вторым – реляционные системы.
В первом документе формулировались важнейшие требования к объектным СУБД, предлагалось осуществлять переход к новым технологиям с «чистого листа», а не эволюционным путем, постепенно «вживляя»
идеи объектного подхода в существующие реляционные технологии. Авторы второго документа были более прагматичными. Они констатировали, что реляционные СУБД, доминировавшие в этот период в разработках приложений, не удовлетворяли потребностям многих важных
нетрадиционных сфер применения и что нужны новые подходы к управлению данными в системах баз данных. Однако, в отличие от первого документа, подчеркивалась необходимость обеспечения преемственности
86
Технологии баз данных
с существующими реляционными технологиями и эволюционного пути
их развития, в частности за счет поддержки возможностей объектного
подхода.
Важным стимулом для активизации объектного направления в технологиях баз данных вместе с тем послужил значительный прогресс
в развитии общей объектной инфраструктуры. Весьма результативной в этом направлении была деятельность консорциума OMG (Object
Management Group), который опубликовал в 1991 году спецификации
стандарта CORBA. Этот стандарт обеспечил возможности создания распределенных неоднородных интероперабельных объектных сред. На его
основе были инициированы результативно закончившиеся работы по
стандартизации в области объектного анализа и проектирования, в том
числе средств моделирования метаданных и обмена метаданными между
различными системами, а также в ряде других направлений.
Стандартизация в области объектных баз данных. Для создания
объектных СУБД необходимо было решить множество сложных задач.
В короткие сроки деятельность в рассматриваемой области приобрела
довольно широкие масштабы. Активизировались исследования объектных моделей данных, подходов к архитектуре объектных СУБД, проблем
организации среды хранения в таких системах и долговременной сохраняемости объектов, техники индексирования объектов и методов обеспечения высокой производительности объектных систем, способов сопряжения объектных систем программирования с системами баз данных,
принципов отображения реляционной модели данных в объектную и наоборот и т.д. Обнаружилась близость объектного подхода и идей дедуктивных баз данных, что дало пищу еще для одного направления исследований.
Во второй половине 80 х годов был создан ряд первых объектных
СУБД – системы GemStone, O2, ORION, IRIS и др.
В связи с такой популярностью объектного подхода в области языков программирования и систем баз данных, разнообразием реализуемых объектных моделей данных и с развитием производства объектных
программных продуктов для систем баз данных возникла необходимость
развертывания деятельности по стандартизации в области технологий
объектных баз данных. Существование стандарта языка SQL снимало
множество проблем, связанных с переносимостью приложений реляционных систем баз данных между программно аппаратными платформами, с обеспечением их интероперабельности и т.д.
Аналогичные стандарты, конечно же, были необходимы и в области объектного подхода. По этой причине в 1991 году специально для
Объектные базы данных
87
разработки стандартов объектных баз данных был учрежден индустриальный консорциум ODMG (Object Database Management Group, впоследствии переименованный в Object Data Management Group).
Консорциум ODMG до сих пор играет главную роль в разработке, поддержке и развитии стандарта объектных баз данных. В его состав входят компании – ведущие поставщики объектных СУБД –
Objectivity, Computer Associates, POET Software Corporation, eXcelon
Corporation, Versant Corporation. Среди членов ODMG – компании Sun
Microsystems, NEC Corporation, а также Международный центр ядерных
исследований в Женеве (CERN), Массачусетский технологический институт (MIT), ряд крупных университетов США и Швейцарии.
Начиная свою деятельность, консорциум ODMG использовал в качестве исходной платформы для разработки стандарта объектных баз
данных:
Œ опубликованный в 1989 году Манифест систем объектно ориентированных баз данных, в котором были определены основные требования к объектным СУБД;
Œ объектную модель и язык определения интерфейсов (Interface Definition
Language, IDL) стандарта OMG CORBA 1.0, обеспечивающего создание
распределенных неоднородных интероперабельных объектных сред;
Œ проект стандарта SQL 92, работа над которым завершалась в этот период.
По замыслу его создателей стандарт объектных баз данных должен
был интегрировать идеи объектной модели OMG, адаптируя их к потребностям систем баз данных, языка запросов SQL и объектных языков программирования, и учитывать результаты деятельности по стандартизации в каждом из названных направлений. При этом главные
требования к разрабатываемому консорциумом ODMG стандарту заключались в обеспечении переносимости приложений между средами
различных объектных СУБД, соответствующих стандарту, а также возможности функционирования систем баз данных, основанных на таких
СУБД, в архитектурной среде CORBA.
За время своего существования ODMG разработал ряд версий своего стандарта – ODMG 93 (1993), ODMG Release 1.1 (промежуточная
версия, 1994), ODMG Release 1.2 (1995), ODMG 2.0 (1997) и действующую в настоящее время версию ODMG 3.0 (2000).
Важно отметить, что после выпуска версии стандарта ODMG 2.0 консорциум объявил в 1998 году о расширении сферы своей деятельности.
Речь шла о том, чтобы наряду с поддержкой и развитием имеющегося
88
Технологии баз данных
стандарта объектных баз данных сконцентрировать усилия на разработке стандартов «универсального хранения объектов» для объектных языков программирования. Такое решение мотивировалось неотложными,
по мнению руководства консорциума, потребностями в этих стандартах, вызванными прежде всего появлением и широким распространением языка Java. Создание и использование таких стандартов позволило бы
исключить потребность в средствах отображения объектов языков программирования в различные форматы хранения, облегчить перенос объектных приложений из среды одного программного продукта, соответствующего стандарту ODMG, в среду другого такого же продукта.
Именно для того, чтобы подчеркнуть особую значимость поставленной задачи в деятельности ODMG и ее актуальность не только в рамках систем баз данных, консорциум Object Database Management Group
изменил свое название. С апреля 1998 года аббревиатура ODMG стала
расшифровываться как Object Data Management Group.
Указанные намерения привели к сотрудничеству ODMG с консорциумом OMG и с компанией Sun Microsystems. Они нашли отражение
и в следующей (действующей в настоящее время) версии стандарта
ODMG 3.0 [60]. Наряду с такими средствами, как объектные системы управления базами данных (Object Database Management Systems,
ODBMS), которые непосредственно хранят объекты, в спецификации
этого стандарта введены также средства отображения объектов в базы
данных (Object to Database Mappings, ODM), конвертирующие объекты и позволяющие хранить их в системе базы данных. Для средств этих
двух категорий использован родовой термин – система управления объектными данными (Object Data Management System, ODMS). В отличие от предыдущих версий стандарта, в ODMG 3.0 речь идет именно об
ODMS. Справедливости ради нужно заметить, что каких либо радикально новых подходов такая замена понятий от авторов стандарта не потребовала. По указанным причинам стандарт ODMG 3.0 был назван The
Object Data Standard: ODMG 3.0. Это название в большей мере соответствовало новой миссии консорциума ODMG, чем прежнее (Object
Database Standard).
Стандарт ODMG определяет важнейшие свойства поставляемых в настоящее время объектных СУБД. У него нет альтернатив – консорциум ODMG является единственным признанным разработчиком индустриального стандарта баз данных этого типа. Поэтому для того, чтобы
оценить их функциональные возможности, важно прежде всего уяснить,
какие элементы объектных систем баз данных являются предметом стандартизации в деятельности консорциума ODMG. Ответ на этот вопрос
Объектные базы данных
89
дает перечень основных компонентов действующего стандарта ODMG
3.0. К их числу относятся:
Œ описание объектной модели ODMG на содержательном уровне;
Œ спецификация синтаксиса языковых средств, воплощающих эту
модель, которые включают язык описания данных и язык запросов;
они называются здесь языком определения объектов ODL (Object
Definition Language) и объектным языком запросов OQL (Object
Query Language);
Œ спецификации интерфейсов репозитория схем объектных баз данных, представленных средствами языка ODL; эти интерфейсы обеспечивают доступ к хранимым в репозитории схемам;
Œ определения отображений спецификации языков ODL, OQL и интерфейсов репозитория схем в объектные языки программирования
C++, Smalltalk и Java, называемые спецификациями связывания
для указанных языков программирования;
Œ спецификации синтаксиса формата обмена объектами OIF (Object
Interchange Format) для дампа текущего состояния объектной базы
данных в файл (множество файлов) и для загрузки объектов из такого
файла (множества файлов) в базу данных, а также для обмена объектами между системами; естественно, OIF позволяет описывать форматы обмена как объектами собственно базы данных, так и объектами, представляющими схему.
Модель данных стандарта ODMG представляет собой расширение
объектной модели OMG некоторыми важными возможностями, необходимыми для баз данных, прежде всего типами коллекциями и бинарными связями между типами.
В отличие от модели OMG, в ней допускаются два вида примитивов
моделирования – объекты и литералы. Каждый объект имеет уникальный идентификатор, неизменный в течение всего срока его существования.
Литералы не имеют уникальных идентификаторов. Они являются самоидентифицируемыми. Объекты и литералы обладают типами. В обоих случаях типы могут быть как атомарными, так и типами коллекциями.
Между ними могут устанавливаться бинарные связи вида «1:1» (в случае
атомарного целевого типа) или «1:N» (если целевой тип связи представляет собой тип коллекцию). Связи являются двунаправленными.
Состояние экземпляров заданного объектного типа (объектов) определяется соответствующими им значениями свойств типа (общих
для всех экземпляров этого типа) – атрибутов или бинарных связей
с экземплярами других типов. Поведение экземпляров объектного типа
90
Технологии баз данных
определяется набором операций, задаваемых их сигнатурами, и этот набор также является общим для всех экземпляров данного типа. Сигнатура операции представляет собой совокупность, включающую идентификатор операции и тип ее результата, набор параметров, возможно,
пустой, с указанием их идентификаторов, типов и ролей (входной, выходной, входной и выходной), а также возможных при выполнении данной
операции исключительных ситуаций.
Типы коллекции, которые предусматриваются в модели, – это множества, мультимножества, списки и массивы. Тип элемента коллекции может
быть литеральным, атомарным типом объекта или типом коллекцией.
Различаются два вида объектных типов. Помимо объектных типов
интерфейсов, являющихся абстрактными типами (они не могут порождать экземпляров), в модели предусматриваются также объектные
типы классы, которые могут порождать экземпляры. Между классами может устанавливаться транзитивное бинарное отношение простого
наследования, обозначаемого в синтаксисе языка определения объектов
(ODL) ключевым словом EXTENDS. Свойства типов интерфейсов могут наследоваться другими интерфейсами и классами. В то же время интерфейсы не могут наследовать от классов.
Определение типа интерфейса представляет собой спецификацию только поведения объектного типа. В то же время определение типа класса специфицирует не только поведение, но и состояние объектного типа. Определение литерала специфицирует лишь состояние литерального типа.
Типы в объектной модели ODMG сами являются объектами и имеют собственные свойства – список супертипов данного типа, экстент –
множество экземпляров данного типа в базе данных, а также ключ – факультативное свойство, обеспечивающее возможность идентификации
экземпляров типа значениями заданного набора свойств объекта.
Наряду с качественным описанием объектной модели в публикации
стандарта ODMG содержится ее точное определение. Оно «материализуется» в виде спецификаций языка определения объектов ODL и языка объектных запросов OQL. Поскольку модель данных ODMG является, как уже указывалось, расширением объектной модели стандарта
OMG CORBA, язык ODL является расширением языка определения интерфейсов OMG (OMG IDL). Именно это обстоятельство обеспечивает
возможность естественного погружения объектных систем баз данных,
основанных на стандарте ODMG, в объектные среды, соответствующие
технологии CORBA. Точно так же, как OMG IDL, язык ODL инкапсулирует реализации типов объектов. Он независим от каких либо конкретных объектных языков программирования.
Объектные базы данных
91
Другим языком, представленным в стандарте, является декларативный объектный язык запросов OQL (Object Query Language).
Это SQL подобный язык, опирающийся на объектную модель ODMG
и предназначенный для работы с объектными базами данных. Консорциум ODMG проводил работу над языком с учетом деятельности Технического комитета ANSI X3H2 по созданию стандарта SQL3.
Язык OQL расширяет SQL (стандарт SQL 92) необходимыми для
объектной среды средствами поддержки индивидуальности объектов,
коллекций объектов, связей между объектами, выражений пути для навигации в структуре связей между объектами, возможностями вызова
операций, определяемых на объектах, и т.д.
OQL не является функционально полным языком. Он представляет
собой язык запросов, а не язык программирования баз данных. Поэтому для разработки приложений его функциональность должна использоваться в среде объектных языков программирования, для которых
стандарт ODMG определяет соответствующие связывания (см. ниже).
Поскольку типы результатов запросов OQL принадлежат системе типов
объектной модели данных ODMG, возможна суперпозиция запросов.
В языке OQL не предусматриваются явные операции обновления данных в базе данных. Предполагается, что для этих целей будут использоваться операции, определенные на объектах базы данных.
Другим важным элементом действующего стандарта ODMG, впервые
появившимся в версии ODMG 2.0, является репозиторий метаданных
объектных схем, который обеспечивает поддержку схем баз данных, определяемых средствами языка ODL. В стандарте содержатся спецификации интерфейсов репозитория. Типы метаобъектов, представляющих
схему самого репозитория, описываются средствами того же языка определения объектов ODL. Такой подход обеспечивает поддержку самоописываемых баз данных в системах, основанных на рассматриваемой модели.
Для каждого из рассматриваемых в стандарте объектных языков программирования стандарт ODMG определяет средства доступа к репозиторию схемы базы данных. Таким образом, консорциум стандартизует
доступ к схеме в приложениях, разрабатываемых на объектных языках
программирования C++, Smalltalk и Java.
Спецификации связывания для указанных языков позволяют программисту реализовать в одной и той же среде как собственно приложение,
так и его компоненты для работы с базой данных. Благодаря этим компонентам рассматриваемого стандарта унифицируются интерфейсы прикладного программирования для перечисленных объектных языков
в СУБД, соответствующих стандарту ODMG.
92
Технологии баз данных
Связывание для каждого из этих языков программирования определено в стандарте в форме спецификаций доступа к схеме, а также группы
языков, представляющих отображение функциональности ODL и OQL
в среду соответствующего языка программирования. Указанные языки называются C++ ODL, C++ OML, C++ OQL, Smalltalk ODL,
Smalltalk OML, Smalltalk OQL, Java ODL, Java OML, Java OQL.
В стандарте ODMG вводится концепция специального языка определения обменного формата для дампа текущего состояния объектных баз
данных в файл или множество файлов и для загрузки из таких файлов
в базу данных, а также для обмена объектами между различными системами. Этот формат называется форматом обмена объектами (Object
Interchange Format, OIF). Формальный синтаксис языка OIF был предложен в версии стандарта ODMG 3.0.
Заметим, что на Web сайте ODMG представлено для обсуждения
альтернативное предложение, автор которого показывает, каким образом можно реализовать функциональность OIF средствами языка разметки XML. В работе приводится спецификация DTD, позволяющая
решать указанную задачу. Автор называет предложенную им конкретизацию XML языком OIFML (OIF Markup Language). Поскольку технологии XML интенсивно развиваются, рассматриваемый подход представляется перспективным.
Производство объектных СУБД. После появления первой версии
спецификаций стандарта ODMG, получившей название ODMG 93,
этот стандарт в короткие сроки приобрел статус стандарта де факто,
поскольку в его создании участвовали все ведущие производители объектных СУБД, которые поддерживали этот стандарт собственными программными продуктами. На Web сайте ODMG (http://www.odmg.org/)
можно найти список объектных СУБД, соответствующих стандарту консорциума или отдельным его компонентам. Этот список включает более 20 программных продуктов различных компаний – поставщиков
объектных СУБД. В него входят, в частности, системы Jasmine (компания Computer Associates) и JavaBlend (Sun Microsystems), различные продукты линий ObjectStore (компания eXcelon), Objectivity (компания Objectivity), Orient (компания Orient Technologies), POET (POET
Software), Versant (Versant Corporation) и др.
Здесь важно отметить, каким образом консорциум ODMG трактует вопрос о соответствии его стандарту. Во первых, предлагается дифференцированно оценивать соответствие программных продуктов отдельным компонентам стандарта. При этом различаются
два понятия – «ODMG x сертифицированный» (ODMG x certified)
Объектные базы данных
93
продукт и «ODMG x соответствующий» (ODMG x compliant) продукт, где x означает один из компонентов стандарта ODMG (ODL,
OQL, связывания для языков C++, Smalltalk и Java). Понятие «ODMG
x сертифицированный» означает, что рассматриваемый программный
продукт удовлетворяет всему набору разработанных ODMG тестов сертификации для компонента x рассматриваемого стандарта. Второе понятие «ODMG соответствующий» трактуется как соответствие данного
продукта одному или нескольким компонентам стандарта.
Однако никакой информации о существе указанных тестов, способе их получения и о процедуре сертификации консорциум ODMG не сообщает. Справедливости ради следует сказать, что ранее на страницах
Web сайта ODMG упоминалось о разработке в ODMG таких тестов. Но
дальнейшая судьба этой работы автору не известна.
Перспективы. Объектные технологии в области баз данных получили большое распространение. Они естественным образом интегрировались в общую объектную инфраструктуру. Активно проводятся научные
исследования в этой области. Сформировалась индустрия программного обеспечения этой категории. Новый импульс применению объектных
технологий в системах баз данных в последние годы придает деятельность, связанная с созданием технологической платформы Web нового
поколения, основанной на языке разметки XML.
Что же касается дальнейшего развития стандарта консорциума ODMG,
то новых заметных ее следов после принятия в 2000 году стандарта
ODMG 3.0 не наблюдается. Возможно, это означает, что ситуация в данной области стабилизировалась и разработанный стандарт пока полностью удовлетворяет практическим потребностям настоящего времени.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Сформулируйте ключевые идеи объектного подхода к моделированию предметной области системы базы данных.
2. В чем заключаются преимущества объектных моделей по отношению к реляционной и другим традиционным моделям данных?
3. Почему создание объектных СУБД стало актуальной проблемой во
второй половине 80 х годов?
4. Какие два пути были предложены ведущими экспертами для перехода от реляционных технологий баз данных к объектным?
5. Какой индустриальный стандарт де факто определяет в настоящее
время функциональные возможности объектных СУБД?
94
Технологии баз данных
6. Какой организации принадлежит в настоящее время ведущая роль
в разработке стандартов объектных баз данных?
7. На какой основе создавался стандарт консорциума ODMG?
8. Какие элементы объектных СУБД специфицируются стандартом
консорциума ODMG?
9. Как соотносятся объектные модели стандартов CORBA и ODMG?
10. Дайте краткую характеристику системы типов, определенную в объектной модели ODMG.
11. Какие типы коллекции предусмотрены в объектной модели ODMG?
12. Какие языки воплощают объектную модель ODMG в стандарте
консорциума?
13. Для каких объектных языков программирования определены интерфейсы прикладного программирования в действующей версии стандарта ODMG?
14. Приведите примеры коммерческих объектных СУБД.
15. Каким образом в спецификациях ODMG трактуется вопрос о соответствии программных продуктов данному стандарту?
2.4. ОТ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ
К ОБЪЕКТНО РЕЛЯЦИОННЫМ
За стадией активных фундаментальных теоретических и экспериментальных многоаспектных исследований возможностей реляционного
подхода в системах баз данных 70 х годов последовало триумфальное
шествие реляционных технологий, бурное развитие индустрии программного обеспечения реляционных СУБД и их окружения, интенсивное внедрение реляционных технологий в практические разработки приложений.
Все эти процессы привели в конце 80 х годов к доминирующему положению реляционных технологий, несмотря на то что львиная доля информационных ресурсов систем баз данных была сконцентрирована в сетевых
и иерархических системах, и все еще осуществлялись поставки инструментария для их разработки. Заметим, что такая ситуация сохраняется
и до настоящего времени.
Системы, основанные на графовых моделях данных, стали квалифицироваться как унаследованные. Так принято называть системы, основанные на морально устаревших технологиях.
От реляционных баз данных к объектно реляционным
95
Развитие реляционных технологий и объектно реляционный подход.
Развитие реляционных технологий требовало адекватного совершенствования их базовых стандартов. Работы по развитию главного из них – стандарта языка SQL – начались после принятия международного стандарта ISO SQL 89. Они проводились под влиянием двух важных тенденций.
С одной стороны, следовало расширить стандарт новыми функциональными возможностями, востребованными практикой использования реляционных СУБД. Вместе с тем нужно было официально зафиксировать те нововведения, которые уже появились в качестве расширений действующего
стандарта SQL 89 в продуктах ведущих поставщиков реляционных СУБД.
Эти задачи были решены в 1992 году, когда был принят стандарт ANSI/
ISO/IEC SQL 92, действовавший в течение семи последующих лет.
Наряду с этим необходимо было учитывать результаты крупных поисковых исследовательских проектов второй половины 80 х – начала 90 х
годов, целью которых было определение путей дальнейшего развития
технологий баз данных. Следовало также принять во внимание рождение
объектных технологий баз данных и мнения ведущих экспертов, высказанные в опубликованных в этот период стратегических документах – Манифесте объектно ориентированных систем баз данных [32] и Манифесте
систем баз данных третьего поколения [64] (см. раздел 2.3).
Поэтому еще в «недрах» деятельности по подготовке стандарта SQL 92
(этот проект имел рабочее название SQL 2) и параллельно с ним начались работы над проектом следующего стандарта SQL 3. Цели этого проекта были более радикальными. Предполагалось воплотить в языке SQL
веяния времени, расширив его базовыми объектными возможностями.
Новый стандарт, в соответствии с концепцией Манифеста систем баз
данных третьего поколения, должен был реализовать компромиссный
вариант – обеспечить поддержку объектно реляционной модели
данных. При этом учитывался массовый характер распространения реляционных технологий, принимался во внимание огромный объем инвестиций в этот сектор технологий баз данных за прошедшее десятилетие.
В таких условиях создатели новых приложений могут воспользоваться в случае необходимости чисто объектными технологиями, для которых
индустрия программного обеспечения систем баз данных уже выпускает
необходимый инструментарий. Что же касается существующих реляционных систем, то для большинства из них жизнеспособен только эволюционный путь развития. Для развития существующих реляционных
систем, нуждающихся в интеграции с объектными технологиями, могут
быть использованы те «мосты» в объектную среду, которые обеспечиваются средствами поддержки объектно реляционной модели данных.
96
Технологии баз данных
Первые коммерческие объектно реляционные СУБД. Борьба за
рынок программного обеспечения объектно реляционных систем баз
данных началась еще задолго до окончания работ по проекту SQL 3.
Не дожидаясь завершения чрезмерно затянувшейся подготовки новой
версии стандарта SQL, компании поставщики программного обеспечения систем баз данных при интенсивной поддержке научных коллективов начали выпуск серверов баз данных нового поколения. Главные
особенности этих программных продуктов состояли в том, что они поддерживали объектно реляционную модель данных. Кроме того, каждый из
них по своему реализовывал идеи расширяемости СУБД, которые привлекли большое внимание в разработках исследовательских прототипов.
Прежде всего это касалось расширяемости системы типов данных.
Первым коммерческим программным продуктом этого класса стал
Informix Universal Database Server компании Informix (конец 1996 года) –
высокопроизводительный объектно реляционный сервер баз данных,
созданный на основе технологии, которая была приобретена в 1995 году
у компании Illustra Information Technologies. Поставлявшаяся этой
компанией система Illustra представляла собой функционально полную объектно реляционную СУБД, коммерческую версию исследовательской системы Postgres, разработанной в Калифорнийском университете (Беркли) под руководством Майкла Стоунбрекера (Michael
Stonebraker). В Illustra сохранена расширяемость, а также другие
перспективные возможности ее прототипа. Вместе с тем, в отличие
от Postgres, она поддерживала язык SQL. Для обеспечения расширяемости системы типов данных в Illustra использовались механизмы
подключения встраиваемых модулей поддержки дополнительных типов данных (DataBlade). Этот подход был полностью воспроизведен
в Informix Universal Server. Компанией Informix и ее партнерами было
разработано более 20 таких модулей для работы с аудио , видео , текстовыми и пространственными данными, временными рядами, документами в HTML и т.д.
Несколько позднее (осень 1997 года) объектно реляционный сервер
баз данных нового поколения DB2 Universal Database выпустила компания IBM, всегда тщательно работающая над своими программными продуктами. Его основой послужил исследовательский прототип Starburst, созданный в исследовательском центре компании – IBM Almaden. В этом
продукте также было уделено большое внимание встраиваемым механизмам расширения системы типов данных (Relation Extender).
В конце 1997 года свой первый программный продукт рассматриваемого класса выпустила компания Oracle. Это был объектно реляционный
От реляционных баз данных к объектно реляционным
97
сервер баз данных Oracle8 со встраиваемыми картриджами, обеспечивающими, как и в названных выше продуктах, возможности расширения
поддерживаемой системы типов данных.
Здесь, вероятно, будет уместно упомянуть интересный исторический
факт. Задолго до появления универсального сервера баз данных Informix –
еще в 1990 году – компания Nantucket Inc., возможно, первой откликнулась на веяния времени и включила некоторые объектные возможности в новую версию своего чисто реляционного до тех пор программного
продукта – СУБД Clipper 5.0 (впоследствии приобретенного компанией
Computer Associates). Нужно, однако, заметить, что Clipper – это СУБД
семейства xBase. Он не поддерживал язык SQL.
Стандарт SQL:1999 и базовые объектные возможности реляционных СУБД. Упрочению позиций объектно реляционного подхода в значительной мере способствовало принятие в 1999 году долгожданной
версии стандарта SQL:1999. Завершение проекта SQL 3 слишком затянулось, и создатели новой версии стандарта языка SQL приняли решение зафиксировать ту часть его спецификаций, относительно которой
удалось к этому времени достигнуть консенсуса. Разработку остальных
компонентов проекта SQL 3 предполагалось завершить ориентировочно в 2003 году. Вместе с доработанными компонентами SQL:1999 они
должны будут составить новую версию стандарта, которой было дано осторожное рабочее название SQL:200n. Предполагаемый срок его принятия – 2003 год.
В SQL:1999 предусматривается существенное расширение чисто реляционных возможностей языка. Однако одним из главных нововведений
этого стандарта является расширение языка SQL базовыми объектными
возможностями. Рассмотрим кратко, в чем они заключаются.
Главной из этих возможностей являются так называемые структурные типы, определяемые пользователем (User Defined Type, UDT).
Для структурных типов могут быть определены атрибуты любого типа,
допустимого в языке. Представления атрибутов экземпляров UDT инкапсулируются, и для доступа к ним служат, как и во многих объектных
моделях, генерируемые системой функции, называемые в данном случае set() и get(). Для определения поведенческих свойств UDT могут использоваться методы, функции или процедуры языка. При этом методы и функции имеют разные области действия. Методы определяются
для конкретного типа, определяемого пользователем, и ассоциируются
с конкретной схемой базы данных. В то же время функции определяются безотносительно к какому либо конкретному типу и не ассоциируются со схемой конкретной базы данных.
98
Технологии баз данных
Для экземпляров структурных типов, определяемых пользователем,
поддерживаются уникальные идентификаторы, играющие роль идентификаторов объектов (OID) в традиционных объектных моделях. Уникальные идентификаторы являются значениями специально введенного
в языке ссылочного типа (REF типа). В определении каждого UDT указывается конкретный ассоциированный с ним ссылочный тип.
Типы, определяемые пользователем, могут образовывать иерархии на
основе отношения тип подтип. При этом предусматривается простое наследование типами свойств их супертипов. Различаются два
вида типов – типы, для которых могут порождаться экземпляры (значения), и типы, не обладающие таким свойством, аналогичные абстрактным типам в других объектных моделях.
В стандарте SQL:1999 могут определяться так называемые типизированные таблицы. Такая таблица определяется на некотором структурном типе. В таблице имеется по одному столбцу на каждый атрибут
определяющего ее структурного типа. Каждая строка таблицы является
экземпляром (значением) этого типа, и ей ставится в соответствие некоторый уникальный идентификатор, аналог OID. Все те функции, методы
или процедуры, которые были определены для него, могут быть применены к строкам рассматриваемой таблицы.
Как и во многих объектных языках, в SQL:1999 предусматривается
точечная нотация, которая здесь может применяться наравне с функциональной.
Интерфейсы прикладного программирования SQL серверов. Рассмотренными возможностями стандарта SQL:1999 не ограничивается
объектная функциональность нового поколения объектно реляционных
серверов баз данных. Важную их часть составляют средства API для
объектных языков программирования, а также возможности определения новых типов данных и хранимых процедур в SQL схеме средствами объектных языков программирования. В этом направлении развития
объектно реляционных технологий главное внимание, конечно же, привлекает язык Java. Основой создания такого инструментария средствами
языка Java в объектно реляционных СУБД, поддерживающих стандарт
SQL:1999 и создаваемый стандарт SQL:200n, послужили спецификации, разработанные консорциумом SQLJ.
Консорциум SQLJ был образован в 1997 году ведущими поставщиками программного обеспечения систем баз данных (IBM, Informix, Oracle,
Sybase, Tandem и др.) с целью разработки унифицированных, независимых от конкретных СУБД, интерфейсов высокого уровня для взаимодействия Java программ с SQL базами данных.
От реляционных баз данных к объектно реляционным
99
В период создания спецификаций SQLJ еще не был принят стандарт
SQL:1999. Однако работа над ним была близка к завершению, и создатели SQLJ стремились учитывать те дополнительные функциональные
возможности, которые предполагалось включить в новый стандарт SQL
и которые во многом уже были реализованы в продуктах лидирующих
поставщиков SQL серверов. Это было существенно, поскольку участники консорциума считали своей конечной целью не создание индустриальных стандартов, а официальную стандартизацию предложенных ими
спецификаций.
Разработанные консорциумом спецификации состоят из трех частей.
Часть 0 (SQLJ Part 0: Embedded SQL) [41] содержит спецификации
встраивания статических операторов SQL в Java программы. Часть 1
(SQLJ Part 1: SQL Routines using the Java Programming Language) [28,
43] содержит спецификации статически вызываемых методов Java как
хранимых процедур и определяемых пользователем функций SQL. Наконец, часть 2 (SQLJ Part 2: SQL Types) [29] предоставляет спецификации для представления определяемых пользователем типов данных SQL
с помощью классов Java.
Консорциум SQLJ успешно решил поставленные задачи по разработке и официальной стандартизации созданных им спецификаций. Первоначально его спецификации поэтапно по частям были представлены в ANSI NCITS – аккредитованный при ANSI Национальный центр
стандартов информационных технологий (National Center for Information
Technology Standards). Каждая из них по принятой в ANSI ускоренной
процедуре получила статус американского национального стандарта
(часть 0 – 1998 год, часть 1 – 1999 год, часть 2 – 2000 год) – дополнения к стандарту SQL 92.
Далее после адаптации к уже принятому стандарту SQL:1999 часть 0
SQLJ была принята ANSI/ISO/IEC в качестве новой дополнительной
части этого стандарта как спецификация связывания для объектных языков с обобщенным названием SQL/OLB (SQL Object Linking Binding).
Хотя она определяет пока только связывание для языка Java, это задел
на будущее, поскольку предполагается в дальнейших версиях стандарта
иметь аналогичные спецификации для других объектных языков, например для C++ и Smalltalk.
Рассмотрим кратко функциональные возможности указанных спецификаций.
Спецификация SQL/OLB определяет совокупность операторов, которая расширяет язык Java, позволяя встраивать в программы на этом
языке статические синтаксические конструкции SQL. Такая исходная
100
Технологии баз данных
программа обрабатывается препроцессором SQLJ, генерирующим на ее
основе обычный исходный код Java с доступом к SQL базе данных с помощью интерфейса уровня вызовов. Все операторы SQLJ заменяются
при этом в исходной программе операторами вызова функций библиотеки стадии исполнения. Далее полученный программный код обрабатывается обычным компилятором Java. Такая технология позволяет еще на
стадии прекомпиляции, а не на стадии исполнения проверить синтаксис
SQL, соответствие типов переменных включающего языка и типов данных SQL, корректность запрашиваемых операторов SQL по отношению
к схеме базы данных. Исполнение скомпилированной Java программы
поддерживается библиотекой классов стадии исполнения.
Как уже указывалось выше, SQL/OLB предусматривает использование в Java программе только статических возможностей SQL. Предполагается, что средства динамического SQL могут быть использованы в Java программах с помощью ранее созданных спецификаций
JDBC. Важно отметить, что SQL/OLB предоставляет для разработки Java приложений интерфейс значительно более высокого уровня по
сравнению с JDBC. Вместе с тем этот интерфейс обеспечивает высокую
эффективность благодаря отсутствию динамики. При этом допускается
совместное использование в прикладной программе, нуждающейся одновременно в применении статических и динамических операторов языка SQL, средств обоих интерфейсов – SQL/OLB и JDBC. Кроме того,
прикладные Java программы, написанные с применением SQL/OLB, не
зависят от используемой СУБД и от аппаратной платформы, на которой
они выполняются.
Такова судьба спецификации части 0 SQLJ. Что же касается двух остальных частей спецификаций SQLJ, так же как часть 0 получивших статус американского национального стандарта, то в настоящее время на их
основе создается компонент стандарта SQL:200n, называемый SQL/JRT
(аббревиатура от SQL/Java Routines and Types). Работу над ним планируется завершить к концу 2002 года. Некоторое представление о функциональности SQL/JRT могут дать сведения о его прототипах – частях 1
и 2 SQLJ. Рассмотрим их кратко.
Последние версии SQL серверов ведущих поставщиков СУБД предоставляют средства, позволяющие поддерживать элементы поведения
в базе данных. К числу этих средств относятся хранимые программы SQL.
Для унификации способов построения таких программ еще в 1996 году
в качестве дополнения к SQL 92 был принят стандарт ISO/IEC SQL/
PSM (SQL Persistent Stored Modules). Этот стандарт допускает использование для создания хранимых программ (процедур и функций)
От реляционных баз данных к объектно реляционным
101
как операторов языка SQL, так и традиционных языков программирования. Вместе с тем для разработки хранимых программ были созданы
специализированные процедурные языки, и в серверы баз данных ведущих поставщиков были включены средства их поддержки – языка PL/
SQL в Oracle, TransactSQL в Sybase, Stored Procedure Language (SPL)
в Informix. Все эти языки полностью совместимы с SQL в части типов
данных, поддержки неопределенных значений, обработки исключительных ситуаций.
Однако в ряде случаев применение таких специализированных языков
оказывается неэффективным для реализации хранимых модулей. К тому
же необходимо иметь возможность использования ранее разработанного программного кода. Еще одно важное обстоятельство заключается
в том, что реализация хранимых программ средствами специализированных языков препятствует переносимости приложений из среды одной СУБД в среду другой.
Спецификации части 1 SQLJ дают возможность повторно использовать в разработках систем баз данных классы или библиотеки классов
Java, которые первоначально были созданы, возможно, для каких либо
иных целей. Эти спецификации определяют расширения языка SQL,
позволяющие поддерживать классы Java в базе данных SQL. Статические методы этих классов могут служить для реализации хранимых
программ SQL, представляющих хранимые функции и процедуры SQL.
Предусматриваются также возможности получения заданных выходных
значений параметров и возвращения результирующих наборов данных SQL. При этом обеспечивается независимость реализаций хранимых Java программ от конкретных СУБД, в среде которых они будут
использоваться. Достаточно лишь, чтобы эта СУБД была оснащена виртуальной машиной Java (JVM). Эти программы могут вызываться также средствами JDBC. Нужно добавить, что основой разработки части 1 SQLJ послужил проект спецификаций, предложенный компанией
Sybase в начале 1997 года.
Помимо перечисленных возможностей описания и вызова хранимых
подпрограмм на языке Java в среде реляционной СУБД весьма желательно иметь стандартизованные способы интеграции в эту среду механизмов поддержки типов данных, для которых уже имеются описания
в виде классов языка Java. Такие средства обеспечиваются спецификацией части 2 SQLJ, определяющей соответствующее расширение языка
SQL. Эти возможности рассматриваются так же, как инструмент в стандарте SQL:1999 для описания реализаций типов данных, определяемых
пользователем.
102
Технологии баз данных
Расширения SQL, предусматриваемые в части 2 SQLJ, касаются
прежде всего операторов создания типов (Create Type) и удаления типов (Drop Type). Первый из них позволяет задать SQL имя для класса Java аналогично оператору создания процедуры или функции (Create
Procedure/Function) в части 1 SQLJ. Второй оператор может удалять
SQL имя класса Java как имя типа SQL по аналогии с оператором удаления процедуры или функции (Drop Procedure/Function) в части 1 SQLJ.
На одном классе Java может быть определено более одного типа SQL.
Тип данных SQL может определяться на подклассе заданного класса
Java. После определения типа над некоторым классом на его использование могут быть предоставлены или аннулированы привилегии (Grant
Usage). Если на определенных типах SQL будут далее определяться столбцы некоторой таблицы, то для генерации начальных значений
этих столбцов будут вызываться конструкторы соответствующих типов.
Вместе с тем методы этих типов могут вызываться для обновления значений столбцов.
В спецификациях части 2 SQLJ предполагается, что также поддерживаются расширения SQL, установленные спецификациями части 1
SQLJ. Они обеспечивают, в частности, поддержку классов Java, необходимых для целей части 2 SQLJ.
Расширение реляционных возможностей объектно реляционных
SQL серверов. Рассмотренные в этом разделе функциональные расширения реляционных СУБД трансформировали эти системы в категорию объектно реляционных. Вместе с тем новый стандарт SQL:
1999 предусматривает и существенные чисто реляционные расширения
объектно реляционных SQL серверов, соответствующих его спецификациям. Обогатит реляционную функциональность языка SQL и новый
стандарт SQL:200n, принятием которого завершится проект SQL 3.
Рассмотрим некоторые наиболее существенные нововведения этой
категории в стандарте. С вводом в действие стандарта SQL:1999 система встроенных типов данных СУБД, соответствующих этому стандарту, обогатилась рядом новых типов. Важно, что среди них появился тип коллекция, к сожалению, пока единственный. Это тип ARRAY
(массив).
В спецификации стандарта SQL:1999 впервые в контексте стандартов языка SQL введены в рассмотрение в явном виде функциональные
зависимости.
В языке появились возможности спецификации рекурсивных запросов. Введена концепция роли, и благодаря этому полномочия могут предоставляться той или иной роли. Пользователи могут принимать на себя
От реляционных баз данных к объектно реляционным
103
в различное время разные роли и тем самым обретать различные полномочия, выступая в разных амплуа.
Наконец, спустя почти четверть века после того, как в ранней версии языка SQL (тогда еще называвшейся SEQUEL) была предложена
концепция триггера, она получила право на существование в стандарте
языка. Триггеры, как известно, представляют собой совокупности операторов языка SQL, которые должны активизироваться всякий раз при
наступлении заданного события (условия запуска триггера). В качестве
таких событий могут выступать, например, ситуации, когда над заданной
таблицей должен выполняться оператор манипулирования данными указанного вида.
Появилась новая разновидность курсора – так называемый удерживаемый курсор (Holdable Cursor). Он остается открытым после фиксации породившей его транзакции.
Ядро стандарта SQL:1999 и дополнительные пакеты. В стандарте
SQL:1999 выделяется множество возможностей, наличие которых в реализации считается необходимым для того, чтобы квалифицировать ее
как соответствующую стандарту. Это множество называется ядром. Помимо этого определяются дополнительные функциональные возможности, называемые пакетами, которые расширяют функциональность ядра
SQL:1999.
К числу пакетов относятся, в частности, SQL/MM [45] и SQL/OLAP
[44]. Первый из них расширяет язык SQL мультимедийными возможностями. Создание большинства его компонентов для оперирования с полнотекстовыми и пространственными данными, а также с фотоизображениями уже завершено. Другие его компоненты, в частности для глубинного
анализа данных, еще разрабатываются. Пакет SQL/OLAP для интерактивной аналитической обработки данных также уже был одобрен в конце 2000 года.
Одобрен и компонент ядра стандарта SQL:200n для управления внешними данными SQL/MED [57]. Компоненты SQL/Temporal, обеспечивающий поддержку темпоральных свойств данных, SQL/JRT – программы и типы Java, о котором уже говорилось, а также SQL/Replication
для управления тиражированием данных еще дорабатываются. Большой интерес представляет новый компонент SQL/XML, определяющий
правила представления информационных ресурсов XML в терминах SQL
и наоборот. Таким образом, предпринят важный шаг в обеспечении средств
интеграции технологий и информационных ресурсов XML и реляционных
баз данных. Разработка SQL/XML продвигается успешно [47] и близка
к завершению.
104
Технологии баз данных
Перспективы. За немногим более пяти лет, прошедших со времени
появления первых объектно реляционных SQL серверов, они завоевали
прочные позиции в составе инструментария для разработки современных
систем баз данных. Для дальнейшего развития объектно реляционного
подхода в технологиях баз данных создана серьезная опора в виде стандарта SQL:1999. Его функциональные возможности будут значительно
обогащены в преемнике этого стандарта – SQL:200n.
Более детальные сведения о стандарте SQL:1999, перспективах его
развития и о разрабатываемой новой версии этого стандарта можно найти в [13, 42, 44].
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Каковы предпосылки возникновения объектно реляционного подхода в технологиях баз данных?
2. Когда и какими компаниями разработчиками программного обеспечения систем баз данных были выпущены первые коммерческие
объектно реляционные СУБД?
3. Какие механизмы обеспечивают расширяемость системы поддерживаемых типов в первых объектно реляционных серверах баз
данных?
4. В каком международном стандарте языка запросов баз данных была
впервые определена объектно реляционная модель данных?
5. Какие базовые объектные возможности предусмотрены в стандарте
SQL:1999?
6. Что такое структурный тип данных, определяемый пользователем,
в стандарте SQL:1999?
7. Для какого объектного языка программирования в новом стандарте
языка SQL определен интерфейс прикладного программирования?
8. Назовите разработчика прототипа спецификаций интерфейса прикладного программирования для языка Java в стандарте SQL:1999.
9. Для каких целей и когда был учрежден индустриальный консорциум
SQLJ?
10. Из каких частей состоят спецификации SQLJ?
11. Какие компоненты стандартов SQL:1999 и SQL:200n, основанные
на спецификациях SQLJ, уже созданы или находятся в стадии разработки?
Интеграция средств текстового поиска в СУБД
105
12. Охарактеризуйте наиболее существенные чисто реляционные нововведения стандарта SQL:1999.
13. Что такое ядро стандарта SQL:1999?
14. Что представляют собой пакеты в соответствии с концепцией стандарта SQL:1999?
15. Приведите примеры пакетов, уже созданных для стандарта SQL:
1999.
2.5. ИНТЕГРАЦИЯ СРЕДСТВ ТЕКСТОВОГО ПОИСКА В СУБД
Системы баз данных и системы текстового поиска возникли как самостоятельные классы информационных систем, хотя уже на ранних стадиях
их развития стало проявляться взаимное влияние используемых в них методов и подходов.
К 90 м годам сложилась ситуация, когда многие организации стали
обладать системами обоих типов. Несмотря на различие природы поддерживаемых в них информационных ресурсов, возникало естественное
желание иметь для них единый инструмент управления.
Проблема состоит не только в обеспечении удобства работы пользователей или рационализации деятельности системного персонала.
Существовали важные стимулы для практического воплощения такого подхода. Появилось значительное количество приложений, которые
оперируют ресурсами обоих видов. В этот период стали возникать потребности в интеграции неоднородных информационных ресурсов. Например, во многих научных и образовательных системах необходимо
использовать организованные в виде таблиц реляционной базы данных
различные фактографические сведения и вместе с тем хранить в системе
библиографические данные о публикациях, посвященных описываемым
в этих таблицах сущностям предметной области. При этом должны поддерживаться перекрестные ссылки между этими двумя видами данных.
Вместе с тем текстовые документы содержат ряд включенных в них
явным образом или ассоциированных с ними структурированных атрибутов, например дату подготовки документа, номер его версии, автора и т.п.
На практике часто возникает необходимость поиска документов не только по их содержанию, но и по значениям таких атрибутов. СУБД обладают эффективными механизмами реализации такого поиска с помощью
традиционной для них техники индексирования.
Указанные обстоятельства привели к расширению функциональности СУБД возможностями текстового поиска. Это одно из проявлений
106
Технологии баз данных
важной характерной тенденции настоящего времени в разработках информационных систем и систем обработки данных другого назначения –
интеграции информационных технологий.
В настоящее время целый ряд коммерческих СУБД обеспечивает развитые возможности поддержки и поиска текстовых документов. Такими
возможностями обладают, например, серверы баз данных – DB2 (компания IBM) [56], Oracle (Oracle Corp.) [40], SQL Server 7.0 (Microsoft)
[24] и SQL Server 2000 (Microsoft) [51], а также многие другие программные продукты.
Подробнее функциональные возможности текстового поиска, реализованные в популярных коммерческих СУБД, рассматриваются в разделе 3.7.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Каковы предпосылки интеграции технологий текстового поиска
в системы управления базами данных?
2. Проявлением какой более общей тенденции в разработках современных информационных систем является включение механизмов
текстового поиска в развитые коммерческие СУБД?
3. Приведите примеры популярных серверов баз данных, поддерживающих возможности текстового поиска.
2.6. XML
ОРИЕНТИРОВАННЫЕ БАЗЫ ДАННЫХ
Одно из весьма актуальных новых направлений технологий баз данных
начало формироваться в конце 90 х годов под влиянием технологических сдвигов, происходящих в Web. Во второй половине закончившегося десятилетия благодаря уже накопившемуся богатому опыту функционирования и развития этой уникальной информационной системы
начались активные разработки, направленные на создание Web нового поколения, свободного от многих ограничений действующей версии
системы.
Основой происходящих в Web радикальных перемен стал новый расширяемый язык разметки XML, стандарт которого был принят консорциумом W3C в 1998 году (см. главу 4). За этим событием последовало
интенсивное развитие новой технологической платформы Web, базирующейся на языке XML. Стандарт языка XML нашел применение во многих стандартах горизонтальной и вертикальной сферы. Начали создаваться экспериментальные Web сайты и многочисленные приложения
XML ориентированные базы данных
107
Web (например, в области электронного бизнеса). Все это привело
к быстрому накоплению разнообразных коллекций XML документов
различного назначения. Для обеспечения эффективного их использования необходимо было воспользоваться современными средствами управления данными.
Первоначально для этих целей служили традиционные СУБД – реляционные, объектные и объектно реляционные. Многочисленные исследования были посвящены разработке методов отображения XML данных
в среду баз данных таких систем. Ряд серверов баз данных был адаптирован для поддержки коллекций XML документов. Несколько позднее
появились СУБД нового класса, непосредственно поддерживающие
XML представление данных и соответствующие интерфейсы конечных
пользователей и прикладного программирования. Такие системы называются XML ориентированными СУБД.
За несколько лет, прошедших со времени принятия стандарта языка
XML, успело сформироваться производство коммерческих XML ориентированных СУБД. Довольно внушительным стал перечень различных программных продуктов этого назначения, выпускаемых различными компаниями поставщиками [36]. Вместе с тем ведутся разработки связанных
с ними стандартов. Важно также заметить, что предприняты достаточно содержательные попытки целостной формулировки основных концепций нового класса СУБД (см., например, [1, 35, 59]).
Таким образом, можно утверждать, что к настоящему времени уже
сложились основы нового направления технологий баз данных, призванного обеспечить эффективную технику для управления информационными ресурсами XML с учетом специфических особенностей их природы
и использования.
Более подробно об особенностях XML ориентированных СУБД говорится в разделе 4.10.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Почему возникли потребности в СУБД, предназначенных для управления XML данными?
2. В какой период времени началось формирование нового направления в технологиях баз данных, связанного со стандартами
платформы XML?
3. Каковы основные этапы процесса формирования направления
в технологиях баз данных, связанного со стандартами платформы XML?
108
Технологии баз данных
2.7. СИСТЕМЫ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ
К началу 90 х годов значительно увеличился удельный вес экономических приложений систем баз данных. Широкое распространение получили
основанные на технологиях баз данных корпоративные информационные системы, охватывающие все основные стороны жизнедеятельности этих экономических объектов. Благодаря консолидации важнейшей
корпоративной информации и наличию инструментария для ее обработки в рамках таких систем появились технические возможности использования систем баз данных в рамках систем поддержки принятия
решений (Decision Support System, DSS) [23]. Это направление технологий баз данных стало весьма актуальным и начало активно развиваться.
Технологии систем поддержки принятия решений. Традиционные
системы баз данных, используемые в рамках корпоративных информационных систем для обеспечения поддержки бизнес процессов, оперируют большими объемами актуальной детализированной информации
с помощью технологии оперативной обработки транзакций – OLTP
(On Line Transaction Processing).
Для поддержки принятия решений, однако, нужны иные технологии.
Здесь необходимо консолидировать данные из различных источников
(как из корпоративной информационной системы, так и из источников
во внешней среде), накапливать их срезы во времени (моментальные
снимки). Анализируя такие исторические данные, можно оценивать состояние и динамику экономической ситуации и экономического поведения корпорации, делать обоснованные прогнозы и принимать адекватные
управленческие решения. Инструментальные средства, необходимые для
поддержки принятия решений, должны обеспечивать хранение больших
объемов исторических данных, накапливаемых для анализа, и эффективный доступ к ним, располагать развитыми средствами анализа данных
и представления результатов в форме, удобной для восприятия руководителем, в частности с использованием техники визуализации.
Противоречия между потребностями управления актуальными данными, используемыми в режиме OLTP, и требованиями к управлению данными для поддержки принятия решений обусловили целесообразность
декомпозиции крупных корпоративных информационных систем, являющихся одним из источников данных для принятия управленческих решений, на две взаимосвязанные части – оперативную информационную
систему и систему поддержки принятия решений. Для системы
поддержки принятия решений, называемой иногда информационной
Системы поддержки принятия решений
109
системой руководителя или управленческой информационной системой, одним из главных источников информации являются моментальные
снимки базы данных оперативной системы.
Хранилища данных. Современные информационные системы руководителя основаны на технологиях хранилищ данных (Data Warehousing).
Концепция хранилища данных и термин «Data Warehouse» впервые
были предложены Биллом Инмоном (Bill Inmon) [54] еще в 1990 году.
Хранилище данных (в отечественной литературе встречается также вариант склад данных) понимается как репозиторий, содержащий непротиворечивые консолидированные исторические данные крупной компании, отражающие ее деятельность за достаточно продолжительный
период времени, а также данные о внешней среде ее функционирования.
Поскольку данные в хранилище данных накапливаются на протяжении
длительного времени, объемы данных в таких системах на порядки превосходят объемы данных в оперативных базах данных. К тому же более
высоким уровнем сложности отличаются запросы в хранилищах данных.
Поэтому обеспечение высокой производительности обработки запросов
и масштабируемости используемых алгоритмов является одной из критичных проблем в хранилищах данных, и ей посвящены многие исследования и разработки.
Хранилище данных предоставляет руководителю компании инструментальные средства для анализа содержащихся в нем данных с целью
поддержки принятия стратегических решений. Важным функциональным компонентом хранилища данных являются также инструментальные
средства для загрузки в него новых данных. Их назначение заключается в очистке данных, собранных из различных источников, – устранении
избыточности и обнаруженных ошибок в данных, обнаружении и разрешении противоречий между данными, полученными из различными источников, восполнении пропусков данных, относящихся к каким либо
отметкам времени или интервалам времени, проверке ограничений целостности и устранении обнаруженных их нарушений и т.п.
Создание хранилища данных – весьма трудоемкий и долговременный
процесс. На практике наряду с общим хранилищем данных компании
часто используются специализированные хранилища данных (Data
Mart), называемые также киосками данных или витринами данных.
Такие системы создаются для поддержки принятия решений в интересах
какого либо отдельного подразделения компании или для обеспечения
каких либо конкретных аспектов ее деятельности. К использованию специализированных хранилищ данных прибегают также в случае отсутствия в компании единого центра обработки данных.
110
Технологии баз данных
Источником данных для специализированного хранилища данных может быть общее хранилище данных компании, или оно создается и функционирует независимо. Объем данных в специализированном хранилище данных и его потребности в вычислительных ресурсах обычно
существенно ограничены по сравнению с общим хранилищем данных,
и оно может содержать часто используемые агрегированные данные.
Хранилище данных может иметь двухуровневую или трехуровневую архитектуру. В двухуровневых хранилищах на верхнем уровне
поддерживается консолидированная информация, обеспечивающая потребности руководителей всех ее подразделений, нуждающихся в средствах анализа данных. Нижний уровень архитектуры образуют различные
источники данных, в частности база данных оперативной информационной системы. В случае трехуровневой архитектуры предусматривается
поддержка разнообразных специализированных хранилищ данных для
отдельных подразделений компании над ее единым хранилищем данных.
Анализ данных в хранилищах данных базируется на технологиях интерактивной аналитической обработки данных – OLAP (On Line Analytical
Processing), глубинного анализа данных (Data Mining) и визуализации
данных.
Технологии OLAP и многомерные модели данных. Технологии OLAP
были разработаны для анализа данных в системах баз данных с целью
поддержки принятия решений и ориентированы, главным образом, на
обработку нерегламентированных интерактивных запросов. Основной целью анализа является количественная и качественная оценка достигнутых
результатов и/или динамики деятельности компании. Используемые для
этого методы сводятся к генерации различного рода выборок, формированию агрегированных данных, трансформациям способов представления
данных. OLAP имеет дело, как правило, с историческими данными, которые обычно не представлены в оперативных информационных системах,
поскольку для поддержки бизнес процессов компании требуются чаще
всего данные, относящиеся к текущему моменту времени.
В силу особенностей интерактивной аналитической обработки для ее
реализации нужны средства управления данными, несколько иные по
сравнению с предоставляемыми традиционными системами управления
базами данных, ориентированными на обработку транзакций. По указанным причинам в качестве источников данных для OLAP часто используют не оперативные базы данных, а хранилища данных.
Термин OLAP был введен в 1993 году Эдгаром Коддом (Edgar Codd)
[38], основателем реляционного подхода в технологиях баз данных. Кодд
сформулировал основные принципы этих технологий в виде требований
Системы поддержки принятия решений
111
к функциональности программных продуктов, которые предназначены
для их поддержки. Среди этих требований центральное место занимает
поддержка многомерного представления данных и анализа данных
[15, 17, 18, 23, 37]. Для обеспечения эффективности технологий OLAP
необходимо, чтобы используемые в хранилищах данных методы моделирования данных были адекватны потребностям средств анализа данных.
Многомерное представление данных идеально удовлетворяет этим потребностям.
В многомерной модели данных база данных представляется в виде
одного или нескольких кубов данных, называемых иногда гиперкубами. Такой куб имеет несколько независимых измерений, своего рода систему координат представляемого им многомерного пространства данных.
Каждому измерению соответствует некоторый атрибут, характеризующий какое либо качественное свойство данных. Примерами таких атрибутов являются время, территория, категория продукции и т.д.
На множестве значений некоторых атрибутов измерений (элементов)
могут быть определены иерархические отношения. Например, для
атрибута времени может использоваться иерархия «годы – кварталы –
месяцы», для атрибута территории – «регион – город – район».
Наборы значений измерений по одному для каждого из них определяют точки куба, называемые ячейками. С ячейками ассоциируются значения различных других количественных атрибутов, называемых показателями.
Для целей анализа могут строиться сечения куба данных (называемые также его проекциями) путем фиксации значений различных наборов атрибутов координат. Может также осуществляться сжатие куба
на основе использования значений атрибутов измерений более высоких
уровней иерархии и соответствующего агрегирования значений ассоциированных с ними показателей. Возможна также и обратная операция –
детализации данных. Таким образом, возможен анализ данных с нужной степенью детализации. Для удобства восприятия данных в процессе
анализа используются различные операции визуализации данных, в частности вращение куба путем изменения порядка измерений.
Важно заметить, что куб данных рассматривается в технологиях
OLAP как концептуальное, а не физическое представление данных. Такое многомерное представление чаще всего поддерживается над реляционной базой данных. Однако имеются и инструментальные средства
OLAP, основанные на СУБД, непосредственно поддерживающих многомерные модели данных. Существуют также и гибридные реализации.
Соответствующие разновидности технологий OLAP в зависимости от
112
Технологии баз данных
способа организации источников данных называются ROLAP (Relational
OLAP), MOLAP (Multi Dimentional OLAP) и HOLAP (Hybrid OLAP).
Для технологий ROLAP в настоящее время широко используется подход к организации данных в базе данных, основанный на применении схемы типа звезды или типа снежинки.
Схема типа звезды – это схема реляционной базы данных, служащая для поддержки многомерного представления содержащихся в ней
данных. Описываемая база данных включает таблицу фактов и ряд
таблиц измерений.
Каждая строка таблицы фактов содержит набор фактов и по одному
значению внешнего ключа для каждой таблицы измерений. Наряду с атомарными фактами строки этой таблицы могут также содержать агрегированные факты, соответствующие некоторым совокупностям значений
элементов измерений. Таблица фактов, таким образом, связана с каждой
таблицей измерений с помощью соответствующего внешнего ключа.
Строки таблиц измерений содержат значения первичных ключей,
представляющих собой значения атрибутов, соответствующих различным измерениям. При обработке запросов выполняются операции соединения таблицы фактов и участвующих в запросе таблиц измерений.
Таблицы измерений могут иметь составные первичные ключи и являются
денормализованными. Благодаря этому упрощается восприятие структуры данных пользователем и формулировка запросов, уменьшается количество операций соединения таблиц при обработке запросов. Однако
в связи с избыточностью данных возрастает требуемый для их хранения
объем памяти.
Для того чтобы минимизировать эту избыточность, используется разновидность схемы типа звезды, называемая схемой типа снежинки. В ней
таблицы измерений нормализованы путем их декомпозиции.
В процессе анализа данных в хранилищах данных методами OLAP
пользователям часто бывают необходимы агрегированные данные.
При больших объемах данных их вычисление требует значительных ресурсов. Если такие запросы относительно некоторых совокупностей агрегированных данных носят регулярный характер, то одним из способов
ускорения обработки подобных запросов является заблаговременное
вычисление соответствующих представлений данных и их сохранение
в базе данных. Такой подход, называемый техникой материализованных представлений (Materialized Views), возможен, поскольку данные
в хранилищах данных практически не подвергаются изменениям. Они отражают уже состоявшиеся факты. Вот почему вычисленные хранимые
представления остаются актуальными на протяжении времени и их не
Системы поддержки принятия решений
113
требуется вычислять каждый раз, когда содержащиеся в них данные необходимы для выдачи ответа на запрос пользователя.
Завершая обсуждение технологий хранилищ данных, нужно отметить,
что существенным их элементом является также управление метаданными. В работе [37] метаданные хранилищ данных подразделяются на
административные, операционные и бизнес метаданные. Административные метаданные включают сведения, необходимые для установки
и использования хранилища данных – описания баз данных – источников данных, схемы данных хранилища, производных данных, измерений
кубов данных, полномочий доступа пользователей, физической организации данных, предопределенных запросов и форм отчетов и т.д. К операционным метаданным относятся сведения, регистрируемые во время
функционирования хранилища данных, например информация о генезисе трансформируемых данных и данных, мигрирующих в хранилище, о текущем состоянии данных в хранилище, различная статистика функционирования, журналы обновлений. Наконец, бизнес метаданные включают
используемые для описания бизнес процессов термины и их определения, характеризуют владельцев данных, платежную политику и т.п.
Глубинный анализ данных. Наряду со средствами OLAP для анализа
данных и поддержки принятия решений в хранилищах данных, как уже указывалось, используются технологии глубинного анализа данных (Data
Mining) [49, 52]. Заметим, что термин «Data Mining» в отечественной
литературе часто переводится буквально, как добыча данных. Этот термин появился в научно технической литературе в середине 90 х годов,
и обозначаемые им технологии быстро получили широкое практическое применение для поддержки принятия решений в крупных компаниях на основе различных источников данных, в качестве которых могут
использоваться информационные ресурсы больших баз данных, в том
числе унаследованных, хранилищ данных, а также Web. Специфика систем глубинного анализа данных состоит в том, что пользовательские запросы не только имеют, как правило, нерегламентированный характер,
но и, в отличие от запросов в OLAP, нечетко формулируются.
Технологии глубинного анализа данных позволяют анализировать
структурированные данные с помощью математических моделей, основанных, как правило, на статистических, вероятностных или оптимизационных методах, с целью выявления в них заранее неизвестных закономерностей или зависимостей и извлечения различной непредвиденной
информации.
К настоящему времени в области глубинного анализа данных сложился традиционный круг задач, для решения которых разработаны
114
Технологии баз данных
математические модели и эффективные в смысле вычислительной сложности алгоритмы. На этой основе различными поставщиками создаются
программные продукты. Они ориентируются обычно на источники данных определенного вида, например на SQL серверы баз данных или на
какую либо конкретную СУБД.
К числу традиционных задач глубинного анализа данных относятся
в настоящее время задачи классификации, кластеризации, выявления
ассоциаций, поиска типовых образцов на заданном множестве (например, определение типичного набора продуктов в покупках – классическая задача глубинного анализа данных о типовой рыночной корзине),
выявления объектов данных, не соответствующих характеристикам и поведению, общим для всех рассматриваемых данных, моделирования тенденций во временных рядах и т.д. При решении этих задач обрабатываются большие объемы данных, поддерживаемых в хранилищах данных.
Поэтому одной из злободневных проблем здесь является создание эффективных алгоритмов и подходящей техники организации данных.
Задачи указанных классов являются традиционным предметом исследований в прикладной математике уже в течение нескольких десятилетий. Были разработаны многочисленные постановки этих задач и методы
их решения. Новизна связанных с ними проблем в области глубинного анализа данных заключается в том, что нужно принимать во внимание организацию источника данных, весьма значительный объем исходных данных и, следовательно, большие размерности задач. Поэтому
главные сферы интересов специалистов в данной области заключаются
в разработке новых методов анализа данных, создании эффективных
масштабируемых алгоритмов, а также в расширении области применения рассматриваемых технологий.
Формирующиеся в последнее время новые подходы в глубинном анализе данных базируются на интеграции этих технологий с технологиями OLAP. Соответствующее новое направление называется интерактивным глубинным анализом данных (On Line Analytical Mining или
OLAP Mining, OLAM) [52].
Визуализация данных. Важной составной частью технологий анализа данных, используемых в хранилищах данных, является также визуализация данных. В процессе анализа данных оказываются полезными
разнообразные формы графического представления данных, облегчающие их понимание и обеспечивающие возможности визуальной
качественной оценки их свойств. При этом пользователю чаще всего недостаточно иметь возможность пассивного восприятия данных
в графической форме. Необходимы также средства для выполнения
Системы поддержки принятия решений
115
различных операций над данными в терминах такого их представления.
В частности, здесь применяются уже упоминавшаяся операция вращения куба данных, операция «пролистывания» сечений куба – перехода от одного его сечения к другому путем последовательной фиксации
различных значений атрибута какого либо измерения, которым эти сечения соответствуют, и др.
Стандартизация технологий систем поддержки принятия решений.
Заслуживает внимания также вопрос о стандартизации информационных
технологий поддержки принятия решений. Здесь следует отметить стандарт интерфейса прикладного программирования для OLAP серверов
и эталонные тесты для измерения их производительности, разработанные консорциумом OLAP Council. Консорциум TPC (Transaction
Processing Performance Council) также разработал эталонные тесты
TPC D, TPC H и TPC R для измерения производительности сред поддержки принятия решений. Органы официальной стандартизации, ответственные за стандарт языка SQL, – ANSI, ISO и IEC (International
Electrotechnical Commission) – приняли поправку SQL/OLAP к действующему стандарту SQL:1999, благодаря которой расширяется функциональность языка, необходимая для создания приложений OLAP. Следует упомянуть, наконец, разработанный консорциумом MDC (Meta
Data Coalition) стандарт OIM (Open Information Model) представления
метаданных в разнообразных репозиториях метаданных, инструментальных средствах разработки информационных систем, а также приложений. Благодаря этому стандарту обеспечивается интероперабельность
различных систем указанного рода. Позднее на основе OIM консорциум
OMG (Object Management Group) принял стандарт обмена метаданными между хранилищами данных.
Более подробные сведения об этих стандартах можно найти в [13].
Инструментальные средства поддержки принятия решений. В настоящее время технологии поддержки принятия решений достаточно
хорошо обеспечены разнообразными инструментальными средствами.
Программное обеспечение, реализующее технологии OLAP, хранилищ
данных, глубинного анализа и визуализации данных, выпускается многими поставщиками. Так, например, компания IBM поставляет следующие продукты: IBM DB2 OLAP Server, Visual Warehouse, IBM DB2
Intelligent Miner for Data. Среди продуктов рассматриваемого назначения
компании Oracle – Oracle Data Mart Suite, Oracle Data Mining Suite (Oracle
Darwin), группа продуктов Express OLAP. Компанией Informix разработан
OLAP продукт MetaCube. Программные компоненты для поддержки функциональных возможностей OLAP и хранилищ данных предусмотрены
116
Технологии баз данных
для продукта компании Microsoft – SQL Server 2000. Все перечисленные инструментальные средства находят широкое практическое применение.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Какие особые требования предъявляются к информационным технологиям поддержки принятия решений?
2. На каких информационных технологиях основаны инструментальные средства систем поддержки принятия решений?
3. Какие системы называются хранилищами данных и какие задачи
они позволяют решать?
4. Кто и когда предложил концепцию хранилища данных?
5. Какие виды хранилищ данных используются в крупных компаниях?
6. Для чего и в каких случаях используются специализированные хранилища данных?
7. Какие архитектурные подходы используются для создания хранилищ данных?
8. Для каких целей используются технологии OLAP?
9. Кем был предложен термин OLAP и впервые сформулированы принципы соответствующих технологий?
10. В чем заключается основополагающий подход к моделированию
данных в технологиях OLAP?
11. Какие разновидности технологий OLAP используются на практике
и в чем заключаются их различия?
12. Охарактеризуйте главные свойства многомерных моделей данных,
используемых в OLAP.
13. Что такое куб данных?
14. В каких случаях используется схема типа звезды и каковы ее
свойства?
15. Когда используется схема типа снежинки и чем она отличается от
схемы типа звезды?
16. Для каких целей в хранилищах данных используются материализованные представления данных?
17. Какие виды метаданных поддерживаются в хранилищах данных?
18. Какие задачи решаются в системах поддержки принятия решений
с помощью технологий глубинного анализа данных?
Очень большие базы данных
117
19. Какие классы задач являются традиционными для технологий глубинного анализа данных?
20. Перечислите актуальные направления разработок и исследований
в области глубинного анализа данных.
21. Что нового привносят методы глубинного анализа данных по сравнению с традиционными методами вычислительной математики?
22. Какими возможностями обладают средства визуализации данных
в системах поддержки принятия решений?
23. Какие основные результаты достигнуты в стандартизации технологий хранилищ данных?
24. Приведите примеры программных продуктов, реализующих информационные технологии систем поддержки принятия решений.
2.8. ОЧЕНЬ БОЛЬШИЕ БАЗЫ ДАННЫХ
В результате развития технологий управления данными и достижений в области аппаратно программного обеспечения средств вычислительной техники, роста объема внешней памяти прямого доступа
и уменьшения времени доступа на разных этапах развития технологий баз данных обеспечивались возможности для создания все более
крупных баз данных. В соответствии с этим менялись представления
об интерпретации термина очень большие базы данных (Very Large
Databases). Этот термин вошел в обиход специалистов в области баз
данных более четверти века назад, когда в 1975 году начал проводиться цикл ежегодных крупных и весьма представительных международных научно технических конференций International Conference on Very
Large Databases (VLDB), посвященных обсуждению специфических
проблем таких систем.
Критерии квалификации баз данных как очень больших значительно
изменились с тех пор. В то время как в 70 е годы к этой категории относили базы данных объемом в несколько мегабайтов, а в 80 е годы –
в лучшем случае в сотни гигабайтов, в 90 е годы масштабы достигли уже
десятков и сотен терабайтов.
Терабайтовые системы стали сегодня реальностью. Информационные
ресурсы такого объема уже накоплены в хранилищах данных ряда крупных корпораций. Данными терабайтового объема оперируют системы
хранения и обработки результатов спутниковой цифровой фотосъемки
поверхности Земли. Вскоре к категории систем очень больших баз данных можно будет отнести ряд электронных библиотек, поддерживающих
118
Технологии баз данных
крупные коллекции цифровых аудио и видеоданных, изображений, полнотекстовых информационных ресурсов, детализированные цифровые
модели Земли и др.
Базы данных научных наблюдений и экспериментов в космических исследованиях, в ядерной физике и некоторых других научных областях являются, пожалуй, самыми крупными «поставщиками» данных. В последние годы имеют место прецеденты, которые сигнализируют о том, что
назревает новый скачок масштабов крупных баз данных. Речь идет уже
об объемах данных в десятки петабайтов.
К числу таких уникальных проектов можно отнести, например, известную систему спутникового наблюдения за земной поверхностью EOS/
DIS (Earth Observation System/Data Information System), разработанную и развиваемую агентством NASA в США. С 1998 года ежедневно
в системе регистрируется до 5 терабайт спутниковых данных о состоянии
атмосферы, океанов, земной поверхности. Ожидается, что к 2007 году общий объем поддерживаемых в EOS/DIS данных составит около 15 петабайт.
В настоящее время, вероятно, одной из крупнейших в мире является база данных исследовательского проекта BаBаR [33] в Стэнфордском центре линейного ускорителя SLAC (Stanford Linear Accelerator
Center). Ее объем на конец апреля 2002 года оценивается в 500 терабайт. Ежедневный прирост объема базы данных составляет около
500 гигабайт. База данных проекта BaBar поддерживается средствами
объектной СУБД Objectivity/DB на 100 серверах.
Достигнутый новый уровень объемов данных в системах баз данных
естественным образом выдвигает новые требования к технике управления данными, которая должна обеспечивать приемлемую производительность приложений, новые адекватные методы доступа и возможности защиты целостности данных, эффективную организацию их хранения.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Какие базы данных принято относить к категории очень больших?
2. Когда появился термин «очень большая база данных»?
3. Каким образом трансформировалась интерпретация этого термина
за последние десятилетия?
4. Какие объемы данных характерны для очень больших баз данных
начала нового века?
5. Приведите конкретные примеры поддерживаемых в настоящее время очень больших баз данных.
Вызовы времени и перспективы
119
2.9. ВЫЗОВЫ ВРЕМЕНИ И ПЕРСПЕКТИВЫ
В предыдущих разделах говорилось о важнейших достижениях современных технологий баз данных. Вместе с тем представляют интерес направления дальнейшего развития, злободневные проблемы, которые
требуют решения.
Непреходящие проблемы. Следует прежде всего отметить, что в технологиях баз данных, как и в других областях информационных технологий, существуют непреходящие проблемы, проблемы на все времена. Уровень развития технологий баз данных на каждом этапе и в каждой
сфере применения определяется характером возможных решений, касающихся некоторого набора ключевых проблем систем баз данных и подходов к их разработке. К их числу относятся:
Œ архитектурные проблемы систем баз данных;
Œ организация среды хранения и методы доступа;
Œ технологии и методы моделирования данных;
Œ техника оптимизации запросов;
Œ функциональность пользовательских интерфейсов;
Œ безопасность данных;
Œ управление конкурентным доступом, защита целостности и восстановление данных;
Œ поддержка очень больших баз данных;
Œ интероперабельность систем баз данных с другими системами;
Œ интеграция информационных ресурсов;
Œ подходы к реализации нетрадиционных приложений;
Œ методологии разработки приложений.
С течением времени изменяются среды и условия функционирования
систем баз данных, совершенствуются аппаратные средства и средства
программирования, появляются новые сферы приложений, меняются
характер приложений, их требования. В силу этого становятся необходимыми новые подходы, эффективные решения в новых условиях. Эти
решения усложняются или упрощаются. Но совершенствование возможных решений перечисленных проблем с учетом новых условий – необходимое условие дальнейшего развития. Исследователи и разработчики СУБД и систем баз данных непременно будут обращаться к ним на
каждом новом этапе.
120
Технологии баз данных
Новые направления. В процессе развития технологий баз данных
естественным образом рождаются новые направления, формируются
«точки дальнейшего роста» в рассматриваемой области. Обсудим некоторые их них, представляющиеся наиболее перспективными.
1. Вероятно, одно из интенсивно развивающихся новых направлений
связано с созданием новой технологической платформы Web – комплекса стандартов XML, призванного стать основой Web нового поколения.
К этому направлению относятся исследования, разработки прототипов и промышленных продуктов, получивших название XML ориентированных
СУБД. Здесь уже сформировались практически применимые технологии,
существуют многочисленные приложения. Однако многие проблемы создания функционально полных XML ориентированных систем, обеспечивающих достаточно высокий уровень производительности, пока еще
не решены. К рассматриваемому кругу относятся также исследования и
разработки, направленные на обеспечение интеграции информационных
ресурсов Web и систем баз данных на основе платформы XML.
Движение к достижению этой цели осуществляется как со стороны
разработчиков стандартов платформы XML, так и со стороны создателей стандартов систем баз данных. Действительно, разрабатываемый
стандарт XQuery языка запросов XML обеспечивает операции не только с XML документами, но и с данными реляционной и иерархической
структуры. Новая версия международного стандарта языка запросов реляционных и объектно реляционных баз данных SQL:200n будет включать компонент SQL/XML, также служащий указанным целям.
2. В числе непреходящих проблем на все времена была упомянута
проблема интеграции информационных ресурсов, занимающая умы
специалистов вот уже более четверти века [4]. Изучены разнообразные
ситуации в области интеграции информационных ресурсов. Предложены различные подходы к решению этой проблемы. Ей посвящены многочисленные публикации. Архитектурные аспекты интеграции информационных ресурсов кратко обсуждались в разделе 2.2. Однако эту проблему
следует вновь здесь упомянуть в связи с тем, что в настоящее время ставятся существенно новые задачи и создан значительный задел для их решения.
Так, например, в конце 90 х годов в связи с развитием продвинутых
приложений Web злободневной стала проблема интеграции структурированных данных баз данных и слабоструктурированных данных
Web. Исследования в этой области активизировались в значительной
мере благодаря разработкам стандартов платформы XML (см. главу
4) и существенным образом используют их результаты. Был создан
Вызовы времени и перспективы
121
ряд прототипов систем, основанных на интегрирующих моделях данных,
в терминах которых возможно представление как структурированных
данных, поддерживаемых в базах данных, так и слабоструктурированных данных Web.
3. Одно из новых направлений исследований в рассматриваемой области предусматривает не только техническую интеграцию информационных ресурсов, поддерживающую единый взгляд для пользователя на
интегрируемые ресурсы и единый механизм доступа. Речь идет также
о семантической интеграции – формировании непротиворечивых
и согласованных по смыслу в контексте приложения совокупностей данных из нескольких источников.
В исследовательских проектах этого направления широко используется концепция посредника, предложенная еще в начале 90 х годов
Гио Видерхольдом (Gio Wiederhold) [71] в Стэнфордском университете. Посредник (Mediator) – это архитектурный компонент программного обеспечения информационных систем, выполняющий функции семантической интеграции данных из множества неоднородных источников
и поддержки интегрированного представления этих данных для приложений на более высоком архитектурном уровне системы. Посредник инкапсулирует источники данных для пользователя, разрешает конфликты,
возникающие в связи с различием представлений данных в используемых
источниках. Подход, основанный на использовании посредников, реализуется, например, в проекте [6].
В создании технологий семантической интеграции информационных
ресурсов важное место принадлежит онтологическим спецификациям
предметной области. Под онтологией (Ontology) понимается явная
спецификация результатов концептуализации предметной области,
представленная в форме, воспринимаемой не только человеком, но
и компьютерной системой. Онтология состоит из совокупности определений примитивов представления знаний данной предметной области, таких как имена индивидуумов, классы, функции и другие сущности,
а также различного рода связи, поддерживаемые между ними. Онтологию предметной области можно рассматривать как своего рода словарь терминов, специфических для данной предметной области, вместе
с совокупностью аксиом, которые обеспечивают интерпретацию и правильное использование этих терминов. Язык описания онтологий OWL
(Ontology Web Language) [61, 62] разрабатывается в настоящее время
для платформы XML.
4. Развитие технологий телекоммуникаций, позволяющих использовать беспроводные каналы связи, способствовало разработкам
122
Технологии баз данных
распределенных систем баз данных с мобильной архитектурой,
называемых также мобильными системами баз данных. Это направление технологий баз данных, несомненно, является одним из перспективных. Несмотря на имеющиеся уже в этой области результаты, здесь
предстоит еще разработать эффективную технику управления транзакциями, методы синхронизации данных в мобильных и стационарных
фрагментах базы данных, изучить и научиться использовать свойства
данных, зависящие от местонахождения мобильного клиента, исследовать ряд других вопросов.
5. Во второй половине 90 х годов начали появляться сверхбольшие
базы данных, созданные в рамках исследовательских проектов по физике частиц, молекулярной биологии и в других областях науки (см. раздел 2.8). Крупные мультимедийные базы данных формируются в составе
многочисленных электронных библиотек. Рост числа реализаций проектов такого рода выдвинул в число актуальных направлений развития
технологий баз данных создание подходов и методов, обеспечивающих
экономичную поддержку таких крупных коллекций информационных ресурсов и высокую производительность доступа к ним.
6. Отметим еще одно, пожалуй, новейшее, буквально на глазах выкристаллизовывающееся направление в технологиях баз данных. Речь идет
о системах управления потоками данных (Data Stream Management
System, DSMS) общего назначения [34].
Традиционные системы баз данных имеют дело с данными, накапливаемыми и поддерживаемыми в среде хранения данных. Запросы пользователей обращены к данным, свойства которых уже известны СУБД
и которые уже полностью имеются в ее распоряжении. Такие запросы
исполняются, и результаты выдаются пользователю. Вместе с тем в настоящее время появляется все больше приложений с интенсивной обработкой данных, где имеет место иная ситуация. Приходится иметь
дело не с заранее подготовленными данными, хранимыми в базе данных,
а с одним или несколькими непрерывными транзитными потоками
данных, например с сетевым трафиком, потоками финансовой информации, потоками данных, порождаемых различными сенсорами или другими техническими датчиками, с данными некоторых приложений Web,
с потоками сообщений электронной почты или телеконференций и т.п. Такие данные нельзя запомнить в базе данных и затем заниматься их обработкой. Их необходимо обрабатывать «на проходе». Кроме того, такие данные
в потоках могут быть неоднородны – кортежи реляционных баз данных,
удаленные вызовы процедур, запросы к Web серверам и т.п.
Вызовы времени и перспективы
123
Моделирование потоков данных требует иных подходов по сравнению с используемыми в моделях данных, поддерживаемых традиционными СУБД. Это связано с существенным различием природы данных
в указанных двух случаях. Отличия от традиционных СУБД заключаются, главным образом, в следующем [34]. Элементы данных потока поступают на обработку в режиме On Line. Порядок поступления элементов
данных потока на обработку в DSMS системой не управляется. Размеры
потоков данных потенциально не ограничиваются. Наконец, если элемент данных потока уже обработан, то он ликвидируется и более недоступен системе. Система, конечно, может сохранять какие то элементы,
но это скорее исключение, чем правило, поскольку объем данных в потоке на порядки превосходит объем устройства памяти системы.
Наиболее важная функция систем управления потоками работ – это
обработка пользовательских запросов. Запросы, относящиеся к потокам данных, также обладают существенными специфическими особенностями. В отличие от запросов в традиционных системах баз данных, запрос, обращенный к потоку данных, может быть непрерывным, как и сам
поток. В таком случае он обрабатывается на протяжении всего времени
существования потока данных. Другая особенность относится к случайным запросам. Такой запрос может быть издан в момент, когда требуемые для него данные поступили ранее и теперь уже недоступны системе.
Учитывая все возрастающий круг приложений, нуждающихся в управлении потоками данных, можно ожидать, что это направление технологий баз данных получит в обозримое время значительное развитие.
7. Завершая обсуждение перспективных направлений развития технологий баз данных, необходимо, конечно же, иметь в виду многочисленные разработки и исследования, связанные с появлением разнообразных новых видов приложений. Для примера обратимся к рассмотренным выше технологиям поддержки принятия решений. Здесь в последнее
время большое внимание привлекают несколько новых зарождающихся
областей [49]. Одна из них связана с только что рассмотренными потоками данных, которые начинают находить применение. Это глубинный
анализ данных на потоке. Другая область связана с особой природой анализируемых данных. В отличие от традиционных ситуаций, здесь
предметом анализа являются слабоструктурированные, неструктурированные и мультимедийные данные. Еще одна новая область, подлежащая
исследованию, – анализ данных при наличии ограничений доступа, связанных с их источником. Представляет также большой интерес глубинный анализ данных в Web.
124
Технологии баз данных
Перечисленные направления отнюдь не исчерпывают всего спектра
разработок и исследований, обеспечивающих дальнейшее развитие технологий баз данных. Однако они являются, на наш взгляд, наиболее актуальными и перспективными.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Какие проблемы в технологиях баз данных являются непреходящими? Приведите примеры.
2. Какое направление в технологиях баз данных возникло в связи с созданием новой технологической платформы Web?
3. Какие новые проблемы в области интеграции неоднородных информационных ресурсов возникли в конце 90 х годов?
4. Что такое посредник и каковы его функции?
5. Что такое онтология?
6. Какое новое направление в области распределенных баз данных
возникло в связи с созданием технологий беспроводных коммуникаций?
7. Какие проблемы предстоит решать в связи с новым увеличением
масштабов очень больших баз данных в последние годы?
8. Какие новые направления в области технологий баз данных зарождаются в связи с потребностями управления потоками данных?
ЛИТЕРАТУРА К ГЛАВЕ 2
1. Буре Р. XML и базы данных: Пер. с англ. // Открытые системы. –
2000. – № 10.
2. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя: Пер. с англ. – М.: ДМК, 2000. – 432 с.
3. Дейт К. Введение в системы баз данных. 6 е изд.: Пер. с англ. – М.:
Вильямс, 1999.
4. Калиниченко Л.А. Методы и средства интеграции неоднородных баз
данных. – М.: Наука. Гл. ред. физ. мат. литературы, 1983. – 424 с.
5. Калиниченко Л.А. Стандарт систем управления объектными базами
данных ODMG 93: краткий обзор и оценка состояния // СУБД. –
1996. – № 1. – С. 102–109.
Литература к главе 2
125
6. Калиниченко Л.А., Колчанов Н.А., Подколодный Н.Л. Проблемы создания предметного посредника для интеграции молекулярно генетических информационных ресурсов. 2 я Всероссийская
научная конференция «Электронные библиотеки: перспективные методы и технологии, электронные коллекции». – Протвино,
2000, с. 174–184.
7. Когаловский М.Р. Архитектура механизмов отображения данных
в многоуровневых СУБД. В сб. «Техника реализации многоуровневых систем управления базами данных». – М.: ЦЭМИ АН СССР,
1982, с. 3–19.
8. Когаловский М.Р. Абстракции и модели в системах баз данных //
СУБД. – 1998. – № 4–5. – С. 73–81.
9. Когаловский М.Р. XML: возможности и перспективы. Часть 1.
Платформа XML и составляющие ее стандарты // Директор информационной службы. – Январь 2001. – С. 24–28.
10. Когаловский М.Р. XML: возможности и перспективы. Часть 2. Базы
данных XML, семантика XML документов, перспективы // Директор информационной службы. – Февраль 2001. – С. 16–20.
11. Когаловский М.Р. XML: сферы применений // Директор информационной службы. – Апрель 2001. – С. 10–12.
12. Когаловский М.Р. Стандарты платформы XML и базы данных. Обзорная лекция. Сб. трудов 3 й Всероссийской конференции «Электронные библиотеки: перспективные методы и технологии, электронные
коллекции (Петрозаводск, 11–13 сентября 2001 года)». – Петрозаводск: Карельский научный центр РАН, 2001, с. 108–117.
13. Когаловский М.Р. Энциклопедия технологий баз данных. – М.: Финансы и статистика, 2002. – 800 с.
14. Кузнецов С.Д. Третий манифест Дейта и Дарвена // Открытые системы. – 2000. – № 4.
15. Педерсен Т.Б., Йенсен К. Технология многомерных баз данных //
Открытые системы. – 2002. – № 1.
16. Саймон А. Стратегические технологии баз данных: Пер. с англ. /
Под ред. и с предисл. М.Р. Когаловского. – М.: Финансы и статистика, 1999. – 479 с.
17. Сахаров А.А. Принципы проектирования и использования многомерных баз данных (на примере Oracle Express Server) //
СУБД. – 1996. – № 3. – С. 44–59.
126
Технологии баз данных
18. Сахаров А.А. Концепции построения и реализации информационных
систем, ориентированных на анализ данных // СУБД. – 1996. –
№ 4. – С. 55–70.
19. Ульман Дж. Основы систем баз данных: Пер. с англ. / Под ред. и с
предисл. М.Р. Когаловского. – М.: Финансы и статистика, 1983. –
334 с.
20. Ульман Дж., Видом Дж. Введение в системы баз данных: Пер.
с англ. – М.: ЛОРИ, 2000.
21. Фаулер М., Скотт К. UML в кратком изложении. Применение стандартного языка объектного моделирования: Пер. с англ. / Под ред.
Л.А. Калиниченко. – М.: Мир, 1999.
22. Цикритзис Д., Лоховски Д. Модели данных: Пер. с англ. / Предисл.
О.М. Вейнерова. – М.: Финансы и статистика, 1985. – 334 с.
23. Чаудхури С., Дайал У., Ганти В. Технологии баз данных в системах поддержки принятия решений // Открытые системы. – 2002. – № 1.
24. Шуленин А. Процессор запросов Microsoft SQL Server // СУБД. –
1998. – № 3. – С. 37–56.
25. Щавелев Л.В. Способы аналитической обработки данных для поддержки принятия решений // СУБД. – 1998. – № 4–5. – С. 51–60.
26. Эмерих В. Конструирование распределенных объектов. Методы и
средства программирования интероперабельных объектов в архитектурах OMG/CORBA, Microsoft/COM и Java/RMI. – М.: Мир,
2002. – 510 с.
27. Язык описания данных КОДАСИЛ: Пер. с англ. / Под ред. М.Р. Когаловского и Г.К. Столярова. – М.: Статистика, 1981. – 183 с.
28. ANSI INCITS 331.1 1999. Information Technology – SQLJ – Part 1:
SQL Routines using the JAVA Programming Language, 1999.
29. ANSI INCITS 331.2 2000. Information Technology – SQLJ – Part 2:
SQL Types using the JAVA Programming Language, 2000.
30. ANSI/X3/SPARC Study Group on Data Base Management Systems
Interim Report. FDT Bulletin, 7 (2), 1975, pp. 1–140.
31. ASDK homepage. http://www.trl.ibm.co.jp.
32. Atkinson M., Bancilhon F., DeWitt D., Dittrich K., Maier D., and Zdonik
S. The Object Oriented Database System Manifesto. Proc. of Deductive
and Object Oriented Databases, Kyoto, Japan, December 1989. Есть
русский пер.: Аткинсон М., Бансилон Ф., Девитт Д., Дитрих К.,
Литература к главе 2
127
Майер Д., Здоник С. Манифест объектно ориентированных баз
данных // СУБД. – 1995. – № 4. – С. 142–155.
33. BaBar Database. http://www.slac.stanford.edu/BFROOT/www/Public/
Computing/Databases/index.shtml.
34. Babcock B., Babu S., Datar M., Motwani R., Widom J. Models and
Issues in Data Stream Systems. Proc. of the 2002 ACM Symp. on
Principles of Database Systems (PODS 2002), June 4–6, Madison,
Wisconsin, USA. http://dbpubs.stanford.edu/pub/2002 19.
35. Bourret R. XML and Databases. 2002. http://www.rpbourret.com/
xml/XMLAndDatabases.htm.
36. Bourret R. XML and Database Products. April 29, 2002. http://www.
rpbourret.com/xml DB/XML Database Products.htm.
37. Chaudhuri S., Dayal U. An Overview of Data Warehousing ang OLAP
Technology. SIGMOD Record, 1997, Vol. 26, No. 1, pp. 65–74.
38. Codd E.F., Codd S.B., Salley C.T. Providing OLAP (On Line Analytical
Processing) to User Analysts: An IT Mandate. Technical Report, E.F.
Codd & Associates, 1993.
39. CORBA Component Model Tutorial. OMG Document ccm/02 04 01.
40. Dixon P. Basics of Oracle Text Retrieval. Data Engineering Bulletin,
IEEE Computer Society, Vol. 24, No. 4, December 2001, pp. 11–14.
41. Eisenberg A., Melton J. SQLJ Part 0, now known as SQL/OLB
(Object Language Bindings). SIGMOD Record, Vol. 27, No. 4,
December 1998. Есть русск. пер.: Эйзенберг Э., Мелтон Дж. Связывания для объектных языков: SQLJ. Часть 0, называемая теперь
SQL/OLB // Открытые системы. 1999. – № 4.
42. Eisenberg A., Melton J. SQL:1999, formerly known as SQL3.
SIGMOD Record, Vol. 28, No. 1, March 1999. Есть русск. перевод: Эйзенберг Э., Мелтон Дж. SQL:1999, ранее известный как
SQL3 // Открытые системы. – 1999. – № 1.
43. Eisenberg A., Melton J. SQLJ – Part 1: SQL Routines using the Java
Programming Language. SIGMOD Record, Vol. 28, No. 4, December
1999.
44. Eisenberg A., Melton J. SQL Standardization: The Next Steps.
SIGMOD Record, Vol. 29, No. 1, March 2000. Есть русск. пер.: Эйзенберг Э., Мелтон Дж. Стандартизация SQL. Следующие шаги //
Открытые системы. – 1999. – № 11–12.
128
Технологии баз данных
45. Eisenberg A., Melton J. SQL Multimedia and Application Packages
(SQL/MM). SIGMOD Record, Vol. 30, No. 4, December 2001.
46. Eisenberg A., Melton J. SQL/XML and the SQLX Informal Group of
Companies. SIGMOD Record, Vol. 30, No. 3, September 2001.
47. Eisenberg A., Melton J. SQL/XML is Making Good Progress.
SIGMOD Record, Vol. 31, No. 2, June 2002.
48. Electronic Proceedings for the 1st International Workshopon Peer to Peer
Systems (IPTPS’02), 7–8 March 2002, Cambridge, MA, USA. http://
www.cs.rice.edu/Conferences/IPTPS02/.
49. Gehrke J. Report on the SIGKDD 2001 Conference Panel «New
Research Directions in KDD». SIGKDD Explorations. January 2002,
Vol. 3, Issue 2.
50. Gray J. and Reuter A. Transaction Processing: Concepts and Techniques. Morgan Kaufmann Publishers, San Francisco, 1993.
51. Hamilton J., Nayak T. Microsoft SQL Server Full Text Search.
Data Engineering Bulletin, IEEE Computer Society, Vol. 24, No. 4,
December 2001, pp. 7–10.
52. Han J. and Kamber M. Data Mining: Concepts and Techniques.
SIGMOD Record, Vol. 31, No. 2, 2002.
53. Informix TimeSeries DataBlade Module. User’s Guide. Version 3.1.
Informix Software Inc. April 1998.
54. Inmon W.H. The Data Warehouse and Data Mining. Comm. of the
ACM, Vol. 39, No. 11, November 1996, pp. 49–50.
55. Kogalovsky M.R. Time Series Relation Data Model. Proc. of the
International Workshop on Advances in Databases and Information
Systems – ADBIS’94, Institute for Problems of Informatics, Russian
Academy of Sciences, Moscow, 1994.
56. Maier A., Simmen D. DB2 Optimization in Support of Full Text
Search. Data Engineering Bulletin, IEEE Computer Society, Vol. 24,
No. 4, December 2001, pp. 3–6.
57. Melton J., Michels J., Josifovski V., Kulkarni K., Schwarz P., Zeidenstein K. SQL and Management of External Data. SIGMOD Record,
Vol. 30, No. 1, 2001.
58. Mobile Agent Facility Formal Specification. OMG Document formal/
00 01 02.
59. Obasanjo D. An exploration of XML in Database Managemeny
Systems. http://www/XML DB\XML&Databases.htm.
Литература к главе 2
129
60. Object Data Standard: ODMG 3.0. Edited by R.G.G. Cattell, D.K.
Barry, M. Berler, J. Eastman, D. Jordan, C, Russell, O. Schadow, T. Stanienda, and F. Velez. Morgan Kaufmann Publishers, Inc., 2000.
61. OWL Web Ontology Language 1.0 Abstract Syntax. http://www.w3.
org/TR/owl absyn/.
62. OWL Web Ontology Language 1.0 Reference. http://www.w3.org/
TR/owl ref/.
63. Papastavrou S., Samaras G., Pitoura E. Mobile Agents for WWW
Distributed Database Access. Proc of Intern. Conf. On Data Engineering (ICDE’99), Sydney, 1999. http://ada.cs.ucy.ac.cy/~cssamara/
DBMS Agents/ Paper/mobpaper.ps.
64. Stonebraker M. et al. Third Generation Data Base System Manifesto.
Proc. IFIP WG 2.6 Conference on Object Oriented Databases, Windermere, England, July 1990. Есть русск. пер.: Системы баз данных третьего поколения: Манифест // СУБД. – 1995. – № 2. – С. 143–158.
65. Sun Microsystems. Enterprise JavaBeans Specification, Version 2.0.
August 14, 2001.
66. Sun Microsystems. Java 2 Platform Enterprise Edition Specification,
Version 1.3, July 27, 2001.
67. Sun Microsystems. The JavaBeans 1.01 specification. July 1997.
68. The Common Object Request Broker: Architecture and Specification.
Revision 2.4.2. OMG Document formal/2001 02 01.
69. Vlach R., Marek J., Pokorny J. Mobile Agents and Databases. In Proc. of
the DATASEM’99 Conference, Brno, 1999. http://aglaja.ms.mff.cuni.cz/
~vlach/papers/Datasem99.ps.
70. What is peer to peer? Peer to Peer Working Group Committees. http://
www.peer to peerwg.org/whatis/index.html.
71. Wiederhold G. Mediators in the Architecture of Future Information
Systems. IEEE Computer, 25(3), 1992, pp. 38–49.
72. XML:DB Initiative for XML Databases. http://www.xmldb.org/.
Глава
ТЕХНОЛОГИИ
3
ТЕКСТОВОГО ПОИСКА
Текст является одной из основных форм обмена информацией в обществе. Не случайно представленная в различных форматах текстовая
информация составляет весьма значительную долю информационных
ресурсов действующих в настоящее время информационных систем.
Поэтому создание и развитие технологий обработки текста привлекали
большое внимание на всех этапах развития информационных систем.
Наиболее распространенными системами этой категории являются системы текстового поиска. Их задача заключается в том, чтобы
находить в заданных коллекциях документов на естественном языке такие документы, которые удовлетворяют информационным потребностям
пользователей.
В этой главе обсуждаются основные понятия текстового поиска, кратко рассматриваются история развития текстовых систем, их особенности,
основные принципы текстового поиска, модели поиска, функциональные
возможности современных систем текстового поиска, использование
текстового поиска в среде Web и в СУБД, а также актуальные направления развития технологий текстового поиска.
3.1. ОСНОВНЫЕ ПОНЯТИЯ И КРУГ ПРОБЛЕМ
Технологии текстового поиска имеют дело с информацией, представленной на естественных языках. Содержательное разнообразие такой информации довольно велико – это могут быть статьи из газет
и журналов, технические руководства, отчеты, книги, письма, законодательные акты и пр.
Основная единица информации в системах текстового поиска называется документом. Документ – это порция информации, обладающая законченным содержанием и какого либо рода уникальным идентификатором. В ранних системах документ рассматривался как атомарная
(неделимая) единица. Для системы он выступал как «черный ящик».
В более развитых системах содержание документа доступно системе для
обработки и анализа.
Основные понятия и круг проблем
131
Системы текстового поиска оперируют электронными документами, то есть документами, хранимыми в памяти компьютеров и доступными для автоматизированной обработки. Компьютерная обработка и анализ
текстовых документов возможны лишь в случае, если программно доступны отдельные элементы текстового документа. Поэтому совершенно недостаточно просканировать бумажный текстовый документ и хранить
полученное его факсимиле в памяти компьютера в виде какого либо графического файла. Необходимо иметь документ в оцифрованном виде,
то есть в таком формате, когда каждая литера представляющего его текста программно доступна. Представление текстового документа в оцифрованном виде создается, например, с помощью:
Œ ввода содержания документа с клавиатуры с использованием какого либо
текстового редактора;
Œ сканирования его с бумажного носителя и использования программы
распознавания оптических символов (Optical Character Recognition,
OCR);
Œ генерации текста программным путем распознавателями голоса и другими способами.
Поскольку пользователи предъявляют к системам текстового поиска
довольно высокие требования [25], современные технологии текстового поиска стали весьма сложной синтетической областью исследований
и разработок, охватывающей большой спектр проблем – от теории информационного поиска до методов удовлетворения потребностей пользователей в сборе, организации, хранении, поиске и распространении
информации, а также обеспечения интерфейсов между пользователем
и средствами управления ресурсами неструктурированной или слабоструктурированной информации, поддерживаемой в компьютерной среде. Классические направления в этой области – библиографический
и полнотекстовый поиск. Здесь находят применение как аналитические, так и эмпирические подходы.
Значительное место в технологиях текстового поиска занимает обработка естественного языка. Под обработкой естественного языка понимается компьютерное решение задач, связанных с пониманием,
анализом, выполнением различных операций над текстами на естественном языке, а также с их генерацией. Этот класс задач относят к области
искусственного интеллекта.
В современных технологиях текстового поиска используется не только аппарат лингвистики для анализа текстов, но и статистические методы, математическая логика и теория вероятностей, кластерный анализ,
132
Технологии текстового поиска
методы искусственного интеллекта, а также технологии управления
данными.
Работы по информационной супермагистрали, в частности связанные
с созданием электронных библиотек, развернувшиеся во многих странах мира в середине 90 х годов, в значительной мере оживили интерес
к проблемам текстового поиска. Возникли такие совершенно новые направления, как обнаружение информации в глобальной компьютерной
сети, текстовый поиск в Web, мультиязыковой поиск.
Активное развитие технологий текстового поиска стимулировало создание поисковых систем более общего класса, которые имеют дело не
только с текстовыми документами, но и с информацией, представленной
в различных иных средах. В таких системах (их называют мультимедийными) содержание объектов поиска – документов – представляет собой сочетание текстовых элементов, статических изображений, музыкальных произведений, мультфильмов, видеоклипов и т.п.
За свою почти полувековую историю развития технологии текстового поиска продвинулись от простейших дескрипторных информационно поисковых систем к изощренным системам полнотекстового
поиска, от поисковых систем к системам с более богатой функциональностью. Технические возможности современных вычислительных систем позволяют хранить огромные объемы информации в системах текстового
поиска, осуществлять в них тонкую обработку документов, выполнять
алгоритмически сложные процедуры обработки хранимых коллекций документов – их классификацию, кластеризацию, глубинный анализ текстов, перевод документов с одного языка на другой и т.д.
Новое зарождающееся направление текстового поиска связано с потоками документов. Поскольку в отличие от предположений, положенных в основу уже разработанных технологий, здесь отсутствуют
какие либо сведения, характеризующие коллекцию документов в целом, для поиска в потоке документов необходимы новые подходы и новые методы.
Системы текстового поиска оказали значительное влияние на формирование специфического класса информационных систем, называемых
системами управления документами [5], которые широко используются в настоящее время во многих крупных коммерческих компаниях и в других организациях. В таких системах важная роль отводится
не только методам обработки естественного языка, созданным для работы с текстовыми документами, но и организации групповой разработки документов, их хранения, распространения, а также технологиям текстового поиска.
Краткая история
133
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1.
2.
3.
4.
Чем объясняется актуальность разработки систем текстового поиска?
С какой информацией имеют дело системы текстового поиска?
Что такое документ в системах текстового поиска?
В чем заключается различие между электронным и оцифрованным
документом?
5. Каким образом создаются оцифрованные документы?
6. Что представляют собой мультимедийные информационные системы?
7. Что такое обработка естественного языка?
3.2. КРАТКАЯ ИСТОРИЯ
Текстовый поиск, как уже отмечалось, имеет почти полувековую историю. Рассмотрим кратко некоторые наиболее значимые вехи его
развития.
Ранние системы. Ранние текстовые информационные системы были
ориентированы на функцию поиска, поэтому назывались информационно поисковыми системами (ИПС). Разработки простейших систем такого рода – дескрипторных ИПС – велись еще в 50 х годах. Одной
из наиболее распространенных областей их применения был библиографический поиск. Многие дескрипторные библиографические ИПС используются до настоящего времени.
Большое значение для дальнейшего развития технологий текстового поиска имели исследования и разработки экспериментальных прототипов, выполненные в 60 х годах. На этом этапе начали формироваться технологии полнотекстового поиска, то есть поиска по
полному содержанию текстовых документов, представленных на естественных языках.
Прежде всего получил распространение контекстный поиск. Так
называется поиск документов, имеющих вхождения в них заданного контекста. Позднее были созданы методы контекстного поиска, учитывающие грамматические формы элементов контекста, фонетическую близость слов и т.д.
Наряду с техникой контекстного поиска в этот период были предложены новые подходы к построению поисковых систем, обеспечивающие существенное повышение качества поиска.
Отечественные разработки раннего периода. В нашей стране работы в области систем текстового поиска активно проводились в ряде
134
Технологии текстового поиска
научно исследовательских институтов Академии наук и других ведомств
еще на ранней стадии формирования технологий текстового поиска. Одним из лидеров в развитии этих работ являлся Всесоюзный институт
научно технической информации (ВИНИТИ) [13], который до настоящего времени остается крупнейшим в мире центром научно технической информации. Институт обрабатывает огромный поток научно технической
информации в различных областях знаний, выпускает многочисленные
реферативные издания, тематические указатели и другие библиографические материалы. Поэтому не случайна его заинтересованность в создании и использовании эффективных современных технологий текстового поиска.
В связи с проводившимися в нашей стране в 50–60 е годы работами
по машинному переводу [10, 15] исследовались подходы к моделированию естественных языков, принципы создания тезаурусов и другие проблемы. Разрабатывались методы построения больших машинных словарей с эффективной техникой поиска [9, 12], поддержки пользовательских
интерфейсов на основе естественного языка [16], а также общие принципы построения информационно поисковых систем [3, 13]. Результаты
этих исследований нашли применение в создании систем текстового поиска на основе русского и ряда иностранных языков.
Большой вклад в создание технологий и инструментария текстового поиска в нашей стране в последующие годы внесли также Международный центр научно технической информации (МЦНТИ, Москва), Институт научной информации по общественным наукам Академии наук
(ИНИОН) и другие организации научно технической информации, ряд
крупных библиотек страны, институты Сибирского отделения Академии
наук, Институт математики Белоруссии, Институт кибернетики Украины
и многие другие организации.
Новаторские исследования и разработки 60 х годов. В 60 е годы
был выполнен ряд новаторских исследовательских проектов, которые оказали определяющее влияние на дальнейшее развитие технологий текстового поиска.
Один из таких пионерских проектов, посвященный проблемам полнотекстового поиска на основе естественных языков, был выполнен
в 1962–1965 годах под руководством Джерарда Сэлтона (Gerard Salton)
в Гарвардском и Корнельском университетах. Идеи, положенные в основу экспериментальной системы SMART (Salton’s Magical Automatic
Retriever of Texts) [18], которая была создана участниками этого проекта,
стали ключевыми для многих дальнейших разработок систем рассматриваемого класса. Важное достоинство системы SMART состояло в том,
Краткая история
135
что она позволяла исследовать различные автоматизированные методы
анализа текстов и оценивать качество текстового поиска, сравнивать результаты обработки запросов при различных методах поиска.
В этот же период группой Кирилла Клевердона (Cyril W. Cleverdon)
из колледжа по аэронавтике в Крэнфильде (Англия) была предложена
методология сравнения средств индексирования документов в системах
текстового поиска, основанная на использовании специально разработанных указанной группой тестов для поисковой системы. Проведенные
эксперименты в научной литературе стали называться крэнфильдскими
экспериментами, и выполненные их авторами исследования позволили
установить, в частности, что автоматическое индексирование не уступает
по качеству ручному индексированию. Этот вывод имел важное значение
для развития функциональных возможностей систем текстового поиска.
Крэнфильдские эксперименты продемонстрировали также полезность тестовых коллекций текстовых документов и запросов для проведения сравнительной оценки систем текстового поиска. Одной из первых
таких коллекций была созданная в Крэнфильде в конце 60 х годов коллекция из 1400 документов и 225 запросов. К сожалению, первоисточники, представляющие результаты исследований группы Кирилла Клевердона по сравнению систем индексирования и по анализу факторов,
которые влияют на производительность средств индексирования [23,
24], труднодоступны.
Крэнфильдские тесты получили широкое признание и в течение
длительного времени использовались при проведении экспериментов
с системами текстового поиска. Впоследствии были созданы другие аналогичные тестовые коллекции. На использовании тестовых коллекций
основана, в частности, деятельность по сравнению возможностей различных систем текстового поиска, общему анализу состояния их разработок и определению перспективных направлений развития, которая концентрируется вокруг авторитетной международной конференции
по текстовому поиску TREC (Text Retrieval Conference), учрежденной
в 1992 году в США.
По мнению специалистов [49], столь удачное стечение обстоятельств,
когда в 60 х годах практически одновременно были созданы гибкий испытательный стенд для проведения экспериментов с различными методами поиска и качественная методология оценки их результатов, существенным образом способствовало быстрому прогрессу в области
текстового поиска.
Теоретические достижения исследований 60 х годов стали в последующие два десятилетия основой многочисленных практических разработок
136
Технологии текстового поиска
систем текстового поиска с использованием различных моделей поиска и на основе различных естественных языков. Этот период характеризуется значительными продвижениями в разных аспектах методов
и организации систем текстового поиска. Начала формироваться индустрия коммерческого программного обеспечения для систем текстового поиска, чаще называемых в тот период, как уже отмечалось, информационно поисковыми системами (Information Retrieval
Systems, IRS).
Создание профессионального сообщества. В связи с большим интересом к проблематике систем текстового поиска под эгидой ACM
(Association of Computing Machinary) – профессионального международного сообщества специалистов по информатике – в конце 70 х годов была учреждена группа по информационному поиску ACM SIGIR
(Special Interest Group on Information Retrieval) с тем, чтобы способствовать исследованиям, прикладным разработкам и образованию в области
информационного поиска, а также профессиональным контактам специалистов и организаций, заинтересованных в этой проблематике.
Область интересов ACM SIGIR охватывает весь спектр вопросов обработки текстовой информации, прежде всего текстового поиска. Группа ежегодно проводит весьма представительную международную конференцию по проблематике этой SIG. Одно из новых направлений ее
деятельности связано с электронными библиотеками. При поддержке
ACM SIGIR проводится серия ежегодных конференций по электронным
библиотекам.
Цикл конференций TREC. Сформировавшиеся к началу 90 х годов
технологии текстового поиска были достаточно эффективными в системах со сравнительно небольшими коллекциями, содержащими до нескольких тысяч текстовых документов. Однако предстояло выяснить,
масштабируемы ли разработанные модели и методы поиска, как поведут они себя в системах с существенно более крупными коллекциями.
Проблема заключалась в том, что разработчики систем не имели доступа к большим коллекциям, на которых они могли бы проводить испытания своих систем, оценивать их характеристики, что само по себе является трудной задачей (см. обзор исследований, проводимых в этой области,
в работе [11]), сравнивать полученные для разных систем результаты.
Для решения этой проблемы в 1992 году под эгидой NIST (National
Institute for Standards and Technology) был учрежден цикл ежегодных
конференций TREC (Text REtrieval Conference), открытых для международного участия [50]. NIST – это правительственный орган США, созданный в результате реорганизации Национального бюро стандартов
Краткая история
137
и ответственный за продвижение стандартов информационных технологий в организации правительственного сектора. Деятельность NIST
в рамках конференции TREC целесообразно рассмотреть несколько подробнее, поскольку она оказывает весьма существенное влияние на дальнейшее развитие не только технологий текстового поиска, но и общих
технологий информационного поиска.
Организаторы конференций TREC рассматривали как их главную
цель более тесное сотрудничество в области технологий текстового поиска между исследовательским сообществом, индустрией и правительственными организациями, сокращение сроков воплощения научных
достижений в коммерческих продуктах, облегчение доступа для представителей научного сообщества и индустрии к методам и средствам оценки эффективности разработок в области текстового поиска. В частности,
предусматривалась поддержка проведения исследований в области технологий поиска на основе больших коллекций текстовых документов.
Для каждой конференции TREC силами NIST заблаговременно подготавливается набор тестовых коллекций с тем, чтобы участники конференции использовали их для оценки своих поисковых систем и представили в NIST необходимые отчеты. Каждая тестовая коллекция включает
набор документов на одном или нескольких естественных языках, набор сформулированных на естественных языках информационных потребностей пользователей (Topic), которые участники тестирования могут переформулировать в виде запросов (Query) к своим системам. Для
каждой сформулированной информационной потребности известен набор соответствующих ей документов.
NIST изучает и оценивает полученные отчеты о тестировании, систематизирует их результаты, формулирует новые задачи, а затем представляет их для обсуждения на конференции наряду с докладами ее участников. Число тестовых задач и количество участников тестирования год от
года возрастает. В 2001 году в рамках конференции TREC 10 в этой
работе участвовало уже 87 групп разработчиков из 21 страны. Одна
из групп представляла разработку Московской медицинской академии. В конференции TREC 6 принимали участие создатели университетской информационной системы РОССИЯ (НИВЦ МГУ) [29].
Как утверждают эксперты, за первые семь лет, прошедшие после учреждения конференций TREC, эффективность поисковых систем приблизительно удвоилась. Многие видят в этом заслугу TREC.
Рождение Web в середине 90 х годов обеспечило естественный полигон для использования технологий текстового поиска в больших коллекциях. Благодаря конференциям TREC был обеспечен существенный
138
Технологии текстового поиска
задел в создании адекватного инструментария для этой области применений.
Проблемы и достижения. В настоящее время проблематика текстового поиска стала довольно обширной. Она включает: различные аспекты теории информационного поиска; статистические и логические модели поиска; проведение экспериментов и методологию тестирования
и оценки систем; аспекты реализации методов текстового поиска, связанные с интеграцией с базами данных, с поиском в среде Internet, со
сжатием данных, с эффективностью обработки запросов; работу с естественным языком; методы классификации и кластеризации текстовых
документов; приложения информационного поиска в электронных библиотеках; глубинный анализ текстов; технологии индексирования и поиска
мультимедийной информации; интерфейсы «человек компьютер» и т.д.
В настоящее время технологии текстового поиска поддерживаются
многими реляционными серверами баз данных, позволяя хранить в базах данных текстовые ресурсы и оперировать ими наряду со структурированными данными.
Технологии текстового поиска распространяются в последние годы на
работу с информационными ресурсами иной природы – со статическими изображениями, видео, аудио и другими информационными ресурсами. Они стали широко применяться в среде Web. Создание этой глобальной информационной системы существенно стимулировало дальнейшее
активное развитие указанных технологий.
Такое расширение области действий технологий текстового поиска отразилось и на структуре программ конференций TREC. Начиная с 1994 года на TREC стали организовываться тематические секции
(Track) по различным проблемам текстового поиска. Секции конференций
выполняют задачу «инкубаторов» [53] для новых областей исследований.
В рамках работы секций формулируются новые проблемы, и для поддержки
их исследований создаются тестовые коллекции, методологии оценки
и другие необходимые элементы инфраструктуры. В разные годы на TREC
функционировали секции фильтрации документов, кросс языкового поиска, интерактивного поиска, ответов на запросы, поиска видеоресурсов, поиска голосовых документов, поиска в Web и др.
Значительное развитие получила функциональность систем текстового поиска. В настоящее время наряду с чисто поисковыми системами
создаются комплексные системы обработки текстов с разнообразными
функциями, лишь одной из которых является текстовый поиск. Созданы
новые технологии глубинного анализа текстов (Text Mining), название
которых введено по аналогии с англоязычным термином Data Mining,
Принципы текстового поиска
139
служащим для обозначения технологий глубинного анализа данных, ранее созданных для аналогичных целей в области обработки структурированных данных.
Получили также широкое распространение разнообразные системы
обработки текстов, которые основаны на программных продуктах, как
и СУБД общего назначения, настраиваемых на конкретные условия применения. Эти системы обеспечивают:
Œ обработку различных заданных коллекций текстовых документов на
основе технологий глубинного анализа текстов, например Intellectual
Text Miner компании IBM;
Œ управление документооборотом компаний;
Œ автоматическое аннотирование текстов;
Œ подготовку изданий и т.п.
Принципы построения систем текстового поиска, различные связанные с ними проблемы, а также перспективы их развития обсуждаются
в следующих разделах.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Каковы особенности ранних систем текстового поиска?
2. В чем заключаются главные достижения в области текстового поиска в 60 е годы?
3. Когда проводились крэнфильдские эксперименты и в чем их смысл?
4. Какая важная проблема текстового поиска осталась нерешенной
к началу 90 х годов?
5. Когда, кем и для каких целей был учрежден цикл конференций
TREC?
6. Какова роль конференций TREC в обеспечении дальнейшего развития технологий текстового поиска?
7. На какие другие области применений стали распространяться
в последние годы технологии текстового поиска?
3.3. ПРИНЦИПЫ ТЕКСТОВОГО ПОИСКА
Рассмотрим основные принципы построения современных систем текстового поиска. Разнообразие используемых здесь технологий вызвано различиями подходов, используемых для представления смысла хранимых в системе документов на естественных языках и для смыслового
140
Технологии текстового поиска
сопоставления текстов документов и представленных каким либо образом пользовательских информационных потребностей. Остановимся
на этих вопросах подробнее.
Источники сложности современных систем текстового поиска. В отличие от технологий ранних информационно поисковых систем, развитые современные технологии текстового поиска обеспечивают поиск интересующих пользователя документов на основе их информационного содержания,
а не только по каким либо атрибутам, ассоциированным с этими документами (год издания, автор, издательство и т.п.) независимо от их содержания.
Основные проблемы технологий текстового поиска связаны со сложностью однозначной автоматической интерпретации содержания текстов
документов и формулировок информационных потребностей пользователей на естественном языке. Именно в связи с этим сложно устанавливать, соответствует ли рассматриваемый документ информационным
потребностям пользователя. Указанные трудности вызваны отсутствием
какой либо регулярной структуры у текстовых документов на естественном языке. Поэтому данные, представляющие информационные ресурсы
такой природы, называют неструктурированными. Для управления
такими данными необходимо использовать иную, чем в системах баз данных, технику, хотя некоторые элементы управления данными, используемые в системах баз данных, применимы и для систем текстового поиска.
Некоторые важные понятия. Для обсуждения принципов текстового
поиска необходимо прежде всего ввести некоторые понятия.
Как уже отмечалось выше, единицу информационных ресурсов системы текстового поиска называют документом. Документ – это не юридическая сущность, а содержательно законченная идентифицируемая уникальным образом единица информации, представленная на каком либо
естественном языке. Системы текстового поиска имеют дело с цифровым представлением документа, то есть представлением документа в компьютере, позволяющим оперировать элементами его содержания. В большинстве таких систем документ является единицей
доступа при поиске –наименьшей единицей информации, которая может
выдаваться пользователю в результате обработки запроса.
Представление информационных потребностей пользователя в форме, воспринимаемой программным обеспечением системы текстового
поиска, называется пользовательским запросом (или просто запросом). Здесь важно заметить, что большинство систем текстового поиска основано на предположении, что описание информационных
потребностей пользователя – это описание тех свойств, которыми обладают документы, удовлетворяющие информационным
Принципы текстового поиска
141
потребностям [52]. Именно это описание и представляет собой пользовательский запрос.
Запросы могут иметь различную форму. Например, запрос может
быть набором ключевых слов или слов, соединенных символами булевских операторов. В более сложных случаях это может быть предложение
на естественном языке или даже пример документа, удовлетворяющего
информационным потребностям пользователя. Анализируя такой документ, система выделит термы для формирования некоторого «внутреннего» вида этого пользовательского запроса.
Хранящиеся в системе документы, которые соответствуют пользовательскому запросу, называются релевантными. Релевантность документа необязательно должна оцениваться в терминах двузначной логики
(«да нет»). В ряде развитых систем используются более тонкие оценки,
вычисляемые как значения специально подобранной числовой функции,
которая принимает значения в интервале [0, 1]. В таких случаях уместно
говорить о степени релевантности документа, понимая ее как значение этой функции. Можно также упорядочивать множества документов,
полученных в результате обработки пользовательских запросов, по убыванию степени релевантности. Такое упорядочение найденных документов называют ранжированием.
В силу различных причин, связанных, в частности, с трудностями
автоматизации понимания естественного языка, а также с неточностью отображения информационных потребностей пользователя в запросе, в результате обработки пользовательского запроса могут быть
найдены документы, не соответствующие информационным потребностям пользователя. Такое явление называется информационным
шумом.
Важными характеристиками качества поиска в системах текстового
поиска являются полнота и точность поиска. Полнота поиска определяет соотношение количества релевантных документов, выдаваемых
в результате обработки пользовательских запросов, и фактически имеющихся в системе релевантных документов. Для количественной оценки
точности поиска служит доля релевантных документов во множестве результирующих документов запроса.
В процессе обработки пользовательских запросов в системах текстового поиска центральное место занимает процедура, оценивающая
близость рассматриваемых документов сформулированным в запросе
информационным потребностям пользователя, то есть определяющая
степень релевантности этих документов. В современных поисковых
системах используется ряд подходов к решению этой задачи.
142
Технологии текстового поиска
Представления документов и их индексирование. Вместо работы
с документами в процессе поиска ведется работа со структурированными
представлениями их содержания, которые называют представлениями
документов. В некоторых публикациях их называют также представителями документов. Использование представления документа вместо
самого документа позволяет избежать трудоемкого процесса просмотра
и анализа полного его содержания на стадии поиска и вместе с тем использовать преимущества структурированного представления для повышения
эффективности поиска. От характера используемых представлений документов существенным образом зависит качество поиска – его точность,
полнота, производительность и другие характеристики. Поскольку введенные в систему текстовые документы остаются, как правило, неизменными на протяжении всего времени их существования в системе, построение представления каждого имеющегося в системе документа можно
осуществлять однократно на этапе его ввода в систему.
Представление документа конструируется на основе множества свойств
(атрибутов) этого документа. В простых системах эти атрибуты не входят
как какие либо компоненты в содержание документа. Они являются внешними по отношению к нему свойствами, ассоциируемыми с данным документом. Это может быть регистрационный номер документа в архиве,
дата его регистрации, название организации – получателя документа,
место его хранения и прочее. В качестве таких внешних атрибутов могут использоваться рубрики классификаторов документов или элементы метаданных Дублинского ядра. В системах контекстного полнотекстового поиска атрибуты представления документа – это термы,
извлеченные из его содержания: слова, словосочетания и т.п., или
какие либо более сложные конструкции, вычисленные на основе этих
извлеченных термов.
В любом случае ассоциированные с документом атрибуты называются
его индексирующими свойствами. Они используются для построения
в системе текстового поиска вспомогательной структуры данных, позволяющей по их значениям или по значениям некоторой функции, использующей их в качестве аргументов, эффективным образом (без полного
просмотра содержания документов и без полного их перебора) обнаруживать в системе документы, которым они соответствуют, и при необходимости осуществлять быстрый доступ к ним. Такая структура данных
называется индексом, а процесс назначения документу указанных атрибутов – индексированием документа. Индексирование документов может осуществляться на основе их названий, аннотаций или полных текстов.
Принципы текстового поиска
143
В ранних системах использовалось простейшее представление документов, которое имело большую популярность благодаря его простоте,
хотя и не могло обеспечить высокого качества поиска. Таким представлением служила совокупность слов или словосочетаний лексики предметной области системы, характеризующая содержание данного документа.
Эти слова и словосочетания называются дескрипторами. Соответственно дескрипторными называются и системы, в которых используется рассматриваемый подход. Такие системы используются до настоящего
времени. Индексирование документа в них сводится к назначению для
него совокупности дескрипторов. При этом дескрипторы могут приписываться документу на основе его содержания либо только его названия. Эти два процесса называют соответственно индексированием по содержанию и индексированием по заголовкам документов.
В некоторых дескрипторных системах индексирование документов
осуществляется вручную экспертами в предметной области системы,
в других системах оно выполняется автоматически. Представление
документа в дескрипторных системах называется поисковым образом
документа.
В современных развитых системах используются значительно более
сложные представления документов, которые будут рассмотрены далее.
Их построение – это довольно сложная вычислительная процедура. Поэтому она может осуществляться только автоматически.
Представление пользовательских запросов. Точно так же, как система текстового поиска оперирует в процессе поиска представлениями
документов вместо самих документов, она использует вместо заданного пользователем запроса его представление, которое конструируется
в процессе обработки запроса. Представление запроса должно строиться на основе тех же принципов, что и представления документов в данной
системе, поскольку иначе их невозможно было бы сопоставлять.
Так, в дескрипторных системах текстового поиска в качестве представления запроса используется совокупность дескрипторов, характеризующих содержание запроса. В таких системах представление запроса
называется поисковым образом запроса.
Простейшие критерии релевантности документов. Для решения вопроса о релевантности документа его представление должно сопоставляться по некоторому критерию близости с представлением запроса. Вид
критерия близости зависит от подхода, используемого в системе для
представления документов и запросов. В дескрипторных системах
обычно используются теоретико множественные критерии, например такого вида: документ признается релевантным, если множество
144
Технологии текстового поиска
дескрипторов поискового образа запроса Q является подмножеством множества дескрипторов поискового образа документа D. Другие варианты: Q
и D равны или пересечение Q и D не пусто. Критерии близости для систем текстового поиска более продвинутого вида обсуждаются в следующем разделе.
Простой контекстный поиск. Нетрудно видеть, что возможности описания содержания документов и запросов в дескрипторных системах довольно ограничены. Использование фиксированного или даже динамически пополняемого множества дескрипторов для представления
документов и запросов не может обеспечить высокого качества поиска.
Важным шагом в развитии систем текстового поиска было создание
технологий полнотекстового поиска, широкое практическое использование которых стало возможным, когда процессоры вычислительных
машин достигли достаточно высокой производительности и объем их
внешней памяти прямого доступа вырос.
Наиболее простые технологии полнотекстового поиска ориентированы на контекстный поиск. В них предусматривается представление документа как совокупности всевозможных встречающихся в его
тексте слов и словосочетаний, не считая так называемых стоп слов.
Стоп слова – это служебные слова (предлоги, союзы и т.п.), которые
содержатся практически в любом документе и не являются информативными. Поиск документов с такими словами привел бы к выдаче полной
коллекции документов в ответ на запрос.
Технически в системах рассматриваемого класса строится индекс по
всем встречающимся в них словам и словосочетаниям, кроме стоп слов.
При этом для индексирования документа слова, выделенные из его текста с помощью поддерживаемых в системе словарей и грамматического
разбора, приводятся сначала к «каноническому виду» – к единственному числу, именительному падежу, выделяются корни слов и т.п. Документ считается релевантным, если какие либо слова или словосочетания из запроса встречаются с точностью до грамматических форм
в тексте документа. Иногда используется более жесткий критерий релевантности – вхождение в текст документа всех названных в запросе слов
и словосочетаний и т.д. Нужно заметить, что идея использования слов из
текста документа для его индексирования была предложена Г. Ланом
(H.P. Luhn) [49] еще в 1957 году.
Общие принципы текстового поиска. Рассмотренные выше подходы,
конечно же, не исчерпывают тех идей, которые применяются в развитых
современных системах текстового поиска. Однако формулируемые далее
общие принципы организации поиска используются как в простых, так
и в более продвинутых системах.
Принципы текстового поиска
145
Эти общие принципы состоят в следующем. При вводе документа в систему осуществляется его индексирование и строится его представление, которое будет далее представлять этот документ в процессе функционирования системы и обработки запросов. Когда поступает
пользовательский запрос, для него также строится соответствующее
представление. Наконец, собственно поиск заключается в том, что
каким либо эффективным образом (не прямым перебором, а обычно
с помощью рациональным образом организованного индекса) сопоставляется представление запроса с представлениями хранимых в системе
документов по принятому в ней критерию близости. В некоторых случаях для этих целей вводится специальная метрика. Результаты обработки
запроса представляются в виде множества найденных релевантных документов.
Хотя на практике используются различного рода представления документов и пользовательских запросов, указанные общие принципы поиска остаются неизменными.
Обработка естественного языка и использование словарей. Обсуждая общие принципы текстового поиска, следует упомянуть о довольно
сложном и важном функциональном компоненте таких систем – о средствах обработки естественного языка.
Средства обработки естественного языка в системах текстового поиска позволяют выделять из анализируемых текстовых документов термы (слова, фразы) – носители его содержания, выявлять зависимости
между этими термами и строить их концептуальные иерархии в контексте данной предметной области, трансформировать исходные поисковые
запросы пользователей в удобную для реализации поиска форму.
Для выполнения указанных функций в большинстве систем рассматриваемого класса используются словари общеязыковой лексики и лексики предметной области. Они служат для морфологического анализа
текста, для обеспечения отождествления слов в различных грамматических формах в процессе поиска, а также для построения некоторых видов
представлений документов и запросов.
Тезаурусы. Важную роль в анализе и формировании формализованного представления текстовых документов играют специальные словари,
называемые тезаурусами. Это словари основных понятий языка, обозначаемых отдельными словами или словосочетаниями, с определенными
семантическими отношениями между ними.
В настоящее время существует два способа создания тезаурусов –
вручную и автоматически. Тезаурус, созданный вручную, может быть
универсальным, независимым от конкретной коллекции документов. Он
146
Технологии текстового поиска
может быть общеязыковым (например, тезаурус русского языка) или
ориентированным на какую либо предметную область. Лексика тезауруса может включать множество слов и/или фраз. В нем могут поддерживаться различные типы семантических связей между лексическими
единицами: синонимы, антонимы, связи типа «целое часть», «род вид»,
«используется для», «работает в» и т.д. Набор связей может быть зависимым или независимым от конкретной предметной области.
К сожалению, разработка тезауруса вручную является весьма дорогостоящим, кропотливым и трудоемким делом, требующим значительных временных затрат. Поэтому на практике часто используют автоматическое создание тезаурусов. Методы решения этой задачи начали
исследоваться еще в 60 х годах.
Создание тезаурусов в автоматическом режиме осуществляется обычно на основе заданных коллекций текстовых документов. Поэтому такие тезаурусы предназначены для работы именно с этими коллекциями.
Для создания тезауруса используется статистическая обработка текстов документов, входящих в эти коллекции. Автоматически построенный
тезаурус поддерживает обычно простейший вид связей между лексическими термами, который может быть выявлен статистически, – ассоциативные связи, характеризующие совместное вхождение сочетания
этих термов в текст документа. Автоматическому построению тезаурусов посвящено довольно много исследований и разработок (см., например, [39]).
В системах, использующих тезаурус, можно, например, при поиске по
ключевым словам расширять запрос, включая в него синонимы первоначально заданных пользователем ключевых слов и обеспечивая тем самым более полный поиск. Тезаурусы также часто используются для индексирования документов в ручном или автоматическом режиме [4].
Онтологии. Для адекватной интерпретации содержания текстовых
документов и поисковых запросов, представленных на естественном
языке, система должна располагать контекстом, который определяет основные понятия предметной области и различного рода семантические связи между ними, иначе говоря, спецификацией концептуализации предметной области системы. Выраженная явным образом
такая спецификация называется онтологией предметной области
[34]. В последнее время онтологии получили широкое распространение
в разнообразных информационных системах, основанных на знаниях,
в инженерии знаний, в решении проблем семантической интеграции
информационных ресурсов и т.д.
Принципы текстового поиска
147
Онтология предметной области может поддерживаться в системе
с различной степенью формализованности. В простейшем случае она
представляется в виде некоторого вербального описания. Тогда оно
предназначено для использования человеком на стадии индексирования
документов и при формулировке запросов. В более сложном случае онтология задается в виде формального определения на языках представления знаний, допускающих логический вывод. Такие системы называют
интеллектуальными.
Еще на ранней стадии развития систем текстового поиска начали использовать представление онтологий в форме иерархических классификаторов. Такие описания на каждом иерархическом уровне поддерживают отношение эквивалентности на множестве классифицируемых
сущностей, обеспечивающее его разбиение на попарно непересекающиеся классы. При этом сущности соседних уровней иерархии обычно находятся в отношении «целое часть» или «род вид».
В последние годы довольно широкое распространение получило представление онтологии предметной области в виде набора элементов метаданных Дублинского ядра (Dublin Core, DC) [8, 30]. Привлекательность
такого подхода связана с его простотой, что, конечно же, оборачивается
ограниченностью его возможностей.
Дублинское ядро – это набор элементов метаданных, смысл которых зафиксирован в спецификации определяющего его стандарта. В терминах значений этих элементов можно описывать содержание различного рода текстовых документов и документов, представленных в иных
средах.
Первоначальная версия Дублинского ядра, которая включала 13 элементов, была предложена на состоявшемся в 1995 году в Дублине (США)
симпозиуме, организованном Online Computer Library Center (OCLC)
и National Center for Supercomputing Applications (NCSA) для описания
информационных ресурсов библиотечных систем, в частности информационных ресурсов Web и т.п. Развитие Дублинского ядра поддерживается специально учрежденной для этой цели организацией – Инициативой по метаданным Дублинского ядра (Dublin Core Metadata Initiative,
DCMI).
Текущая версия спецификаций Дублинского ядра DC 1.1 была принята в качестве стандарта DCMI в июле 1999 года. Она включает 15 элементов метаданных. В настоящее время ведется работа как по уточнению
этого состава набора элементов метаданных, так и по введению факультативных атрибутов (квалификаторов) для этих элементов метаданных,
которые в конкретных областях применения уточняли бы их содержание
148
Технологии текстового поиска
и игнорировались в случае, когда приложение с ними «незнакомо». Некоторый предварительный список квалификаторов был принят в качестве рекомендации DCMI в июле 2000 года [8, 31]. Он содержит квалификаторы двух категорий: квалификаторы, которые уточняют семантику
элементов метаданных ядра, и квалификаторы, определяющие способ
кодирования значений его элементов, что позволяет адекватным образом их интерпретировать.
На основе спецификаций DC 1.1 в 2001 году был принят национальный американский стандарт ANSI/NISO Z39.85 2001 [20]. В настоящее
время в Международной организации по стандартизации ISO ведется работа по приданию DC статуса официального международного стандарта.
В документе [26] определены дальнейшие планы развития этого популярного стандарта.
Другой способ описания онтологии предметной области системы текстового поиска, который довольно широко используется в исследовательских и коммерческих системах, – это представление ее в форме тезауруса предметной области системы, как это было рассмотрено выше.
Для формального описания онтологий в развитых системах используются языки логики первого порядка. Они допускают возможности логического вывода. Довольно широкое распространение получил
для представления онтологий язык указанной категории KIF (Knowledge
Interchange Format) [33], разработанный в начале 90 х годов в Лаборатории систем знаний (KSL) Стэнфордского университета. Первоначально он разрабатывался как формальный язык для обеспечения обмена
знаниями между различными системами, основанными на знаниях.
На основе расширения языка KIF в той же лаборатории была создана
исследовательская система Ontolingua [35, 43], поддерживающая формирование и представление онтологий в некотором каноническом формате, благодаря чему обеспечивается их совместное использование
и/или переносимость в среды различных оперирующих с ними систем.
Онтологию, заданную в каноническом формате, можно легко транслировать в разнообразные системы, использующие различный синтаксис для представления знаний и обладающие различными возможностями рассуждений.
Одной из последних разработок, посвященных созданию средств формального описания онтологий, является стандарт языка определения онтологий для информационных ресурсов Web – OWL (Web Ontology
Language) [44, 45]. Работа над этим стандартом проводится Рабочей
группой по онтологиям для Web консорциума W3C. Язык OWL основан на логиках описаний (см. раздел 4.8). Он, несомненно, найдет
Принципы текстового поиска
149
применение в интеллектуальных системах поиска информационных ресурсов в среде Web второго поколения.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. В чем заключается принципиальное отличие современных технологий
текстового поиска от технологий ранних информационно поисковых
систем?
2. Чем вызваны главные сложности систем текстового поиска?
3. Что такое документ в системах текстового поиска?
4. Какая наименьшая единица информации может выдаваться пользователю в результате выполнения запроса?
5. Каким образом представляются информационные потребности пользователей в современных системах текстового поиска?
6. Что такое пользовательский запрос?
7. Каким образом в системах текстового поиска оценивается степень близости между документом и информационной потребностью
пользователя?
8. Какие документы называются релевантными?
9. В чем заключается ранжирование документов, полученных в результате обработки запроса, и по какому критерию оно выполняется?
10. Что такое информационный шум?
11. Как можно измерить полноту поиска документов?
12. В чем заключается смысл индексирования документов?
13. Для чего служат представления документов в системах текстового
поиска?
14. Что такое дескрипторы в системах текстового поиска?
15. Каковы особенности дескрипторных поисковых систем?
16. Какие критерии релевантности документов в дескрипторных системах?
17. Что такое стоп слово?
18. Какие представления документов используются в системах полнотекстового контекстного поиска?
19. Перечислите основные общие принципы текстового поиска.
20. Для каких целей используются лексические словари в системах текстового поиска?
150
Технологии текстового поиска
21. Какие задачи решаются в системах текстового поиска с помощью
обработки естественного языка?
22. Для чего нужны онтологии?
23. Что такое Дублинское ядро?
24. Что такое тезаурус, и для каких целей он используется?
25. Какие подходы используются для создания тезаурусов?
26. Приведите примеры формальных языков описания онтологий.
3.4. МОДЕЛИ ТЕКСТОВОГО ПОИСКА
Существуют различные подходы к построению систем полнотекстового
поиска. Это связано, главным образом, с разнообразием информационных потребностей пользователей, которое приводит к необходимости применения различных способов формулировки запросов, а также
с различием возможных способов представления содержания текстовых документов в поисковых системах.
Определение модели поиска. В литературе, посвященной текстовому
поиску, одним из ключевых понятий, характеризующих технологию поиска в той или иной конкретной системе, является модель поиска [18, 22,
36, 48, 49, 52].
Под моделью поиска понимается сочетание:
Œ способа представления документов;
Œ способа представления поисковых запросов;
Œ вида критерия релевантности документов.
Разнообразие функциональных возможностей различных систем текстового поиска связано именно с различием реализованных в них моделей поиска.
Простейшие модели поиска. К этой категории относятся модели, в которых документ представляется в виде набора ассоциированных с ним внешних атрибутов. К числу таких моделей принадлежит
обсуждавшаяся в предыдущем разделе модель дескрипторного поиска, а также модель поиска, основанная на упоминавшемся выше Дублинском ядре. В этом случае представлением k го документа является множество пар Dk ={(Nik, Vik)}, где:
Nik – имя i го элемента метаданных Дублинского ядра в описании содержания k го документа;
Vik – значение этого элемента метаданных.
Модели текстового поиска
151
Представлением запроса в рассматриваемом случае также является множество пар некоторых элементов Дублинского ядра и их значений Q = {(Nj, Vj)}. Здесь:
Nj – имя j го элемента метаданных Дублинского ядра в описании
пользовательского запроса;
Vj – значение этого элемента метаданных.
Наконец, критерий релевантности k го документа выглядит здесь так:
Q ⊆ D k.
Модели, основанные на классификаторах. Модели поиска, основанные на использовании классификаторов, хотя они и выделены здесь
в особую категорию, представляют собой одну из разновидностей простейших моделей, в которых документ выглядит в виде совокупности ассоциированных с ним атрибутов.
В модели, основанной на классификаторах, документы представляются идентификаторами классов в иерархической структуре классификатора, к которым относится данный документ. Представление запроса
в простейшем случае – также идентификатор какого либо класса из заданного классификатора. Критерием релевантности документа является условие, что класс документа совпадает с классом в представлении запроса или является его подклассом.
В более сложном случае в модели поиска, основанной на классификаторах, допускается указание в запросе нескольких классов классификатора. При этом релевантными считаются документы, принадлежащие
какому либо из указанных в запросе классов. Такая модель поиска близка к рассматриваемой далее булевской модели.
Булевские модели. Особенность булевских моделей поиска заключается в том, что пользователь может формулировать запрос в виде булевского выражения с использованием операторов И, ИЛИ, НЕТ. Термы
такого выражения могут быть различными в разных вариациях модели
поиска. Это может быть, например, условие вхождения данного слова
или словосочетания (с точностью до грамматических форм) в текст документа в булевской модели, ориентированной на контекстный поиск.
В булевской модели, ориентированной на поиск по классификаторам,
термами выражения могут быть условия принадлежности документа
данному классу классификатора. В булевской модели поиска с использованием Дублинского ядра термом может быть равенство, описывающее
тот факт, что некоторый элемент метаданных для рассматриваемого документа имеет заданное в запросе значение.
152
Технологии текстового поиска
Критерием релевантности данного документа запросу в булевских
моделях поиска является истинность булевского выражения, заданного в запросе.
Булевские модели поиска обладают некоторыми недостатками. Они
не позволяют ранжировать найденные документы по степени релевантности, поскольку отсутствуют критерии ее оценки. Кроме того, не каждый пользователь может свободно оперировать булевскими операторами при формулировке своих запросов.
Нужно, однако, заметить, что предпринимались попытки усложнения булевской модели поиска таким образом, чтобы обеспечить возможности ранжирования множества выдаваемых пользователю документов. Для решения проблемы ранжирования результирующих документов
по степени их релевантности запросу предложено несколько вариантов так называемых расширенных булевских моделей (см., например,
[48]). С этой целью вводятся специальные обобщения булевских операторов, которые позволяют придать повышенный вес документам,
в точности удовлетворяющих булевскому выражению запроса, и пониженный вес – всем остальным документам.
Векторные модели. Рассмотрим теперь более продвинутые модели
поиска, различные вариации которых в настоящее время широко применяются на практике. Вероятно, самыми распространенными из них являются векторные модели поиска, называемые иногда также векторными пространствами.
В векторных моделях предполагается, что документы и запросы представляются векторами. В простейшем случае координаты вектора соответствуют термам текста – словам или словосочетаниям, принадлежащим словарю системы, который представляет общеязыковую лексику
или лексику предметной области. Каждому терму из такого словаря сопоставляется свое измерение в векторном пространстве. Размерность
векторов, представляющих документы и пользовательские запросы,
в точности равна количеству измерений в этом пространстве.
Координате вектора присваивается некоторое ненулевое значение
в том и только в том случае, когда соответствующий ей терм принадлежит данному документу или запросу. Поскольку размер словаря может
быть очень большим, а документы или тексты запросов состоят из существенно меньшего количества содержащихся в нем термов, такие векторы оказываются очень разреженными. Поэтому нужно использовать
какую либо технику сжатого их представления.
Для оценки степени релевантности документа запросу (меры их близости) в векторных моделях поиска используются какие либо векторные
Модели текстового поиска
153
функции, аргументами которых выступают представляющие их вектора. Например, можно использовать в качестве такой меры косинус угла
между вектором документа и вектором запроса или их скалярное произведение. Важно заметить, что поскольку ненулевые координаты этих
векторов соответствуют только термам, входящим в текст документа
и текст запроса, на значение функции меры в обоих этих случаях оказывают влияние только термы, общие для документа и запроса.
Для повышения управляемости векторных моделей поиска часто усложняют эти модели. Вводятся веса термов, характеризующие их значимость. Значения этих весов используются в качестве координаты вектора документа, если его текст включает соответствующий терм. Таким
образом, вхождения различных термов в текст документа оказывают различное влияние на значение функции близости документа и запроса. Существуют разные подходы к выбору указанных весов. Чаще всего для
этой цели используют произведение частоты вхождения терма в данный
документ и частоты его вхождения во все документы коллекции в целом.
Различия между конкретными векторными моделями поиска сводятся именно к различным способам назначения весов термов и выбора мер
близости. Векторные модели позволяют ранжировать результирующее
множество документов запроса.
Вероятностные модели. Другое семейство моделей поиска – вероятностные модели. Эти модели, в отличие от векторных, имеют более
строгую математическую основу.
Идеи таких моделей были предложены еще в 1960 году [42]. Ключевая из них называется принципом вероятностного ранжирования (Probabilistic Ranking Principle, PRP). Суть этого принципа состоит
в том, что наивысшая общая эффективность поиска достигается в случае, если результирующие документы ранжируются по убыванию вероятности их релевантности запросу. Для каждого документа оценивается
вероятность того, что он релевантен запросу, и по этим оценкам выполняется ранжирование документов.
Именно используемыми способами получения таких оценок и некоторыми дополнительными предположениями различаются конкретные вероятностные модели поиска. В частности, указанная оценка может быть
получена, в соответствии с теоремой Байеса, как некоторая функция от
вероятностей вхождения термов данного документа в релевантные и нерелевантные документы. С помощью запроса определяется вероятность
вхождения заданного терма в релевантные документы, а по полной коллекции документов может быть определена вероятность вхождения этого терма в нерелевантные документы.
154
Технологии текстового поиска
Рассмотренная выше техника основана на том факте, что в запросе
и в релевантных документах имеются общие термы. Поэтому можно избежать просмотра всех документов коллекции, а воспользоваться их индексом по всем термам, вхождения которых имеются в документах коллекции. Обычно такой индекс строится по принципу инвертированного
списка. Он позволяет достаточно быстро определять для каждого терма все документы коллекции, в которых имеются его вхождения, и тем
самым достаточно эффективно вычислять нужные оценки. Вместе с тем
в статьях индекса можно хранить различные характеристики, например
значения весов термов в документах, и использовать эту важную информацию в процессе поиска.
Сети вывода. Это еще один популярный класс моделей поиска [36,
49, 52]. Сети вывода, как и вероятностные модели поиска, основаны
на принципе вероятностного ранжирования результирующих документов
поиска. Однако, в отличие от вероятностных моделей, в моделях сетей
вывода рассматривается оценка не вероятности релевантности документа запросу, а вероятности того, что он удовлетворяет информационным
потребностям пользователя.
Модели этого семейства описывают процесс поиска документов как процесс рассуждений в условиях неопределенности, в котором оценивается
вероятность того, что выраженные с помощью одного или нескольких
запросов информационные потребности пользователя удовлетворяются.
Основой моделей рассматриваемого класса является Байесовская
сеть, включающая узлы нескольких видов. Узлы первого вида представляют конкретные документы коллекции, в которой осуществляется поиск, и соответствуют событию изучения этого документа для целей
поиска. Узлы второго вида представляют понятия, в терминах которых
описывается содержание документов. Узлы третьего вида – это узлы запросов. Они соответствуют тем понятиям, в терминах которых описываются информационные потребности пользователей. Единственный узел
четвертого типа в сети соответствует информационным потребностям
пользователя, которые системе неизвестны. Все узлы первого и второго
вида в сети могут быть построены заранее для заданной коллекции. Что
же касается узлов третьего вида, то эти узлы и их связи с узлами понятий
и узлом информационных потребностей формируются для каждого конкретного запроса.
В построенной сети осуществляется процесс оценки документов
коллекции. Оценка вероятности для узла конкретного документа распространяется в сети, и в результате вычисляется вероятность для узла
информационных потребностей. При этом оценка строится автономно –
Модели текстового поиска
155
независимо от оценок других документов. Во время распространения
оценки по сети учитываются матрицы, описывающие связи между узлами документов и узлами понятий, узлами понятий и узлами запросов.
Такой процесс повторяется для каждого документа, и документы ранжируются на основе вычисленных оценок вероятности для узла информационных потребностей.
Для рассматриваемого семейства моделей не предписывается какой либо
общей дисциплины назначения исходной вероятности для анализируемого
документа. Тот или иной способ выбора порождает конкретные модели.
Эвристические подходы и эмпирика в моделях поиска. Завершая
рассмотрение моделей поиска, следует заметить, что в продвинутых моделях существенную роль играют элементы эмпирики и эвристики. Эвристические подходы и формализующие их эмпирические математические зависимости используются как в функциях оценки релевантности
документов, так и в построении представлений документов и запросов.
Поэтому таким моделям поиска свойственна некоторая неустойчивость поведения. При использовании конкретной модели поиска наряду с высокими оценками качества поиска на одной коллекции документов можно получить отнюдь не столь высокие оценки на другой
коллекции.
Правдоподобные общие оценки качества поиска для модели можно
получать лишь усредненно на множестве разнообразных коллекций. Существенное значение имеют и оценки результатов поиска, полученные
на больших коллекциях. В проведении оценки действующих систем, несомненно, важную роль играет та поддержка, которую оказывает их разработчикам конференция TREC (см. раздел 3.2).
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1.
2.
3.
4.
Что такое модель поиска?
Назовите простейшие модели поиска.
Опишите модель дескрипторного поиска.
Как можно охарактеризовать модель поиска, основанную на наборе
элементов метаданных Дублинского ядра?
5. Какой критерий релевантности документов используется в моделях
поиска, основанных на классификаторах?
6. Какими возможностями обладает булевская модель поиска?
7. Какой недостаток свойственен булевской модели поиска и как он
преодолевается?
156
Технологии текстового поиска
8.
9.
10.
11.
12.
Сформулируйте принципы векторной модели.
Какова роль словарей в векторной модели поиска?
Как назначаются веса термам в векторной модели?
Что представляют собой вероятностные модели поиска?
В чем заключается принцип вероятностного ранжирования документов?
13. Опишите основные принципы модели сетей вывода.
14. Какая особенность свойственна продвинутым моделям поиска?
3.5. ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ
Многие современные системы текстового поиска наряду с рассмотренными выше базовыми функциями (см. разделы 3.3, 3.4) обладают рядом
дополнительных возможностей, позволяющих существенным образом
повысить эффективность поиска и управляемость системы, обеспечить
более комфортные условия для работы пользователя. Рассмотрим кратко эти возможности.
Взвешивание термов запроса. В формулировке пользовательского
запроса не все термы могут быть равнозначными. Некоторые системы
текстового поиска позволяют пользователю придать вес применяемым
в запросе термам с тем, чтобы охарактеризовать их значимость в запросе. Эта информация нужна при вычислении оценок релевантности или
вероятности соответствия документов коллекции, в которой осуществляется поиск, информационным потребностям пользователя.
Ранжирование результатов поиска. В силу рассмотренных выше
причин системы текстового поиска не могут гарантировать строгого
удовлетворения информационных потребностей пользователя в результате выполнения поисковых запросов. Поскольку количество результирующих документов обычно бывает значительным, очень важно упорядочить документы, выдаваемые системой пользователю, таким образом,
чтобы в начале списка находились те из них, которые, вероятно, в большей мере представляют интерес для пользователя. Операция такого
рода называется ранжированием документов. Развитые системы текстового поиска обладают механизмами, обеспечивающими такую возможность. В зависимости от реализуемой ими модели поиска предусматривается упорядочение множества документов, выдаваемых в результате
обработки пользовательского запроса, по некоторым оценкам их релевантности запросу или вероятности удовлетворения информационных
потребностей пользователя.
Дополнительные возможности
157
Обратная связь релевантности. Этот метод повышения эффективности поиска на основе информации обратной связи, получаемой от
пользователя, был предложен более 30 лет назад [47]. Результаты обработки запроса могут не удовлетворять пользователя. Во многих системах
текстового поиска пользователю предоставляется возможность в таких
случаях уточнить запрос. Для этого он может дать оценку релевантности
полученных документов – указать, какие из них он считает релевантными или нерелевантными.
Поскольку количество результирующих документов может быть довольно большим, пользователю предлагается оценить хотя бы несколько первых документов в ранжированном списке, то есть тех документов,
которым система назначила наивысшие оценки степени релевантности.
Система может использовать термы этих документов для формирования
нового, расширенного запроса, который, скорее всего, будет точнее выражать информационные потребности пользователя.
Такой итерационный процесс обработки запроса и модификации его
с помощью анализа данных, полученных на основе обратной связи пользователя с системой, может повторяться до тех пор, пока пользователь не
будет удовлетворен результатами поиска. Обратная связь релевантности
используется в системах, основанных на различных моделях поиска.
Расширение запросов. Имеется в виду расширение представления
запроса, первоначально предложенного системе пользователем. Эта
возможность также служит для повышения эффективности поиска. Расширение запроса осуществляется на основе различных источников информации:
Œ синонимов термов, содержащихся в запросе, если система располагает тезаурусом, поддерживающим отношение синонимии;
Œ термов, которые находятся с термами запроса в некоторых других семантических отношениях, определенных тезаурусом предметной области, например представляют часть понятия, соответствующего некоторому терму запроса, и т.п.;
Œ термов результирующих документов, оцененных пользователем как
релевантные или нерелевантные, в системах, обеспечивающих обратную связь релевантности;
Œ часто встречающихся орфографически ошибочных форм некоторых
термов запроса и т.д.
Автоматическое индексирование полного текста. При автоматическом индексировании текста выделяются встречающиеся в нем отдельные
слова, за исключением стоп слов, а также словосочетания (фразы).
158
Технологии текстового поиска
Каждый из таких термов используется для построения индекса документов данной коллекции. Используется два способа для выделения из документа устойчивых словосочетаний – лингвистический, основанный на
синтаксическом анализе текста, и статистический, который основан
на анализе статистики совместного вхождения слов в текст документа.
Мультиязыковой поиск. Некоторые системы текстового поиска позволяют осуществлять поиск в коллекциях, содержащих документы,
представленные на нескольких естественных языках. Одной из сложных
проблем, возникающих при этом, является идентификация языка, на котором представлен обрабатываемый документ или его фрагменты.
Кросс языковой поиск. Существуют системы текстового поиска, допускающие ситуации, когда информационные потребности пользователя
определены на одном языке, а множество документов коллекции, в которой должен осуществляться поиск, представлено на другом языке. Эта
задача пока еще является в значительной мере исследовательской, хотя
она уже довольно часто встречается на практике.
Пользователь может обращаться на каком либо одном языке к коллекциям документов международных организаций, транснациональных
компаний или любой организации в стране, где существует несколько
государственных языков. Такие коллекции могут содержать документы
на разных языках.
Основная проблема кросс языкового поиска состоит в сопоставлении
документа и пользовательского запроса, представленных на разных языках. Для ее решения необходим перевод документов, перевод запросов
либо перевод того и другого вместе. При этом используются разные подходы – пословный перевод по двуязычному словарю, «ручной» перевод
с поддержкой компьютера, автоматический машинный перевод полного
документа или его части.
Трудность решения проблемы кросс языкового поиска состоит также
и в том, что запросы редко представляют собой законченные предложения. Поэтому при их переводе трудно не утратить смысл, особенно в отсутствие контекста. Основная цель проводимых исследований в этой области состоит в определении принципов построения систем, способных
осуществлять поиск релевантных документов, независимо от того языка,
на котором они написаны.
Доставка документов по назначению. Доставка документов по назначению является одной из классических задач в исследованиях технологий
текстового поиска. Она состоит в том, чтобы присвоить вновь поступившим документам баллы в соответствии со степенью релевантности и на
этой основе произвести их ранжирование.
Дополнительные возможности
159
Многие исследования, выполняемые в этой области, посвящены созданию методов, обучающихся на заданной коллекции документов, о каждом
из которых заранее известно, что он релевантный или нерелевантный.
Фильтрация документов. Фильтрация потока документов – это некоторая модификация задачи текстового поиска, имеющая дело с входным
потоком документов. Цель состоит в отборе из входного потока таких документов, которые соответствуют информационным потребностям данного пользователя.
В отличие от традиционных систем текстового поиска, которые имеют
дело со статическими коллекциями документов, то есть с коллекциями,
не изменяющимися в процессе поиска, фильтрация документов оперирует динамическим входным потоком документов, например потоком новостных сообщений. Важно заметить, что информационные потребности
пользователя остаются стабильными, а коллекция документов постоянно изменяется.
Точнее говоря, задача фильтрации заключается в следующем. Предварительно задается описание долговременных информационных потребностей данного пользователя, называемое профилем пользователя.
Для каждого документа входного потока определяется, соответствует ли
он заданному профилю. В зависимости от этого данный документ направляется пользователю или игнорируется. По существу, профиль пользователя играет роль пользовательского запроса, и в соответствии с ним
осуществляется поиск в потоке документов.
Предложено несколько подходов к решению такой задачи. Наиболее
привлекателен подход, называемый адаптивной фильтрацией. При
этом поисковая система настраивается на заданную информационную
потребность (тему) на основе предоставленного относительно небольшого обучающего множества документов, для каждого из которых известно, что он релевантен или нерелевантен рассматриваемой теме.
Системы текстового поиска в последние годы быстро развиваются.
Можно ожидать, что они будут обогащаться новыми полезными функциональными возможностями.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Перечислите часто используемые дополнительные функциональные возможности развитых систем текстового поиска.
2. Для какой цели используется взвешивание термов запроса?
3. По какому критерию осуществляется ранжирование результирующего множества документов запроса?
160
Технологии текстового поиска
4. В чем заключается смысл обратной связи релевантности?
5. Что такое расширение запроса, для чего оно применяется?
6. Как осуществляется автоматическое индексирование полного текста
документа?
7. В чем заключается особенность мультиязыкового поиска?
8. Для чего нужен кросс языковой поиск?
9. Как формулируется задача фильтрации потока документов?
10. Что такое адаптивная фильтрация?
11. Какие возможности обеспечивает функция доставки документов
пользователю?
3.6. НЕТРАДИЦИОННЫЕ НАПРАВЛЕНИЯ ТЕХНОЛОГИЙ ПОИСКА
Рассмотренные выше принципы и технологии текстового поиска в последнее время находят применение в ряде ранее нетрадиционных областей информационного поиска. Привлекают внимание исследователей
и отдельные частные случаи, обладающие специфическими особенностями. Большой вклад в развитие исследований в некоторых из этих направлений принадлежит Национальному институту стандартов и технологий США (National Institute of Standards and Technology, NIST),
учредившему конференцию TREC (см. раздел 3.2).
Интерактивный поиск. Это область активных исследований специалистов по текстовому поиску. К кругу ее проблем относятся исследования различных интерактивных возможностей систем текстового поиска,
процесса интерактивного поиска, создание метрик для сравнения интерактивных систем. Одна из таких проблем заключается в том, чтобы выявить, каким образом знания пользователя в предметной области влияют на эффективность поиска.
Случайный поиск. Этот вид поиска множества документов в данной
коллекции имеет место в ситуации, когда характер требуемых пользователю документов заранее не известен поисковой системе и они не обязательно существуют в коллекции.
Поиск известных элементов коллекции. В данном случае осуществляется поиск конкретного документа или какого либо множества документов в данной коллекции, о существовании которых пользователю заранее известно.
Ответы на вопросы. Это специфический вид поиска, в результате которого, в отличие от традиционной обработки запросов, пользователю
Нетрадиционные направления технологий поиска
161
выдается не множество релевантных документов, а множество ответов
на заданный вопрос с указанием документов, их содержащих. Например,
это может быть вопрос, требующий выдачи определения какого либо
понятия.
Поиск голосовых документов. В этом виде поиска имеют дело с документами, представляющими собой аудиозаписи произнесенных голосом
текстов. Основные проблемы, привлекающие внимание многих исследователей и поставщиков технологий, – это индексирование и распознавание речи, распознавание говорящего, распознавание языка, на котором
была произнесена речь.
Поиск видеоданных. В этой области необходимо решать проблемы,
связанные с различными видами поиска по содержанию цифровых видеоданных, в частности видеоданных, включающих аудио дорожку. Например, проблема поиска границ кадра, поиск в видеофильме известных
объектов, случайный поиск.
Поиск в базах данных. Интеграция ресурсов баз данных и коллекций текстовых документов, а также использование инструментария систем баз данных для реализации систем текстового поиска уже давно востребованы практикой разработки информационных систем. Связанные
с этими проблемами вопросы подробнее обсуждаются в разделе 3.7.
Поиск текстовых ресурсов в Web. Это направление технологий текстового поиска порождает ряд специфических проблем, связанных со спецификой Web как среды поиска, со спецификой поддерживаемых в ней
информационных ресурсов, а также с особенностями поведения пользователя при взаимодействии с Web. Эти проблемы подробнее рассматриваются в разделе 3.8.
Перечисленные нетрадиционные направления информационного поиска не исчерпывают всего круга интересов исследователей и разработчиков в рассматриваемой области. Однако они весьма актуальны в настоящее время. Для поддержки исследований в большинстве перечисленных
выше направлений были учреждены специальные секции на конференциях TREC.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Какие нетрадиционные направления информационного поиска, родившиеся на основе технологий текстового поиска, привлекают наибольшее внимание в настоящее время?
2. Какие проблемы исследуются специалистами по интерактивному
поиску?
162
Технологии текстового поиска
3. Что такое случайный поиск?
4. В чем заключается специфика такого вида поиска, как ответы на
вопросы?
5. Каковы особенности поиска голосовых документов?
6. Чем характеризуется поиск видеоданных?
3.7. ТЕКСТОВЫЙ ПОИСК И БАЗЫ ДАННЫХ
Идеи интеграции технологий текстового поиска и технологий баз данных
долгое время привлекали внимание специалистов обоих этих направлений [46]. Рассмотрим, каким образом эти идеи воплощались на практике
и какие результаты получены в этой области.
Интеграция технологий текстового поиска и баз данных. Технологии
текстового поиска и технологии баз данных начали формироваться примерно в один и тот же период времени – в конце 50 х – начале 60 х годов. На первых этапах оба указанных направления информационных технологий развивались независимо. Однако позднее стала проявляться их
естественная взаимосвязь.
С одной стороны, текстовые документы могут обладать различными
структурированными характеристиками, и в таких случаях может потребоваться не только традиционный поиск по содержанию документов, но
и поиск по значениям таких ассоциированных с документами внешних атрибутов. Такими возможностями стали оснащаться системы текстового
поиска уже на ранней стадии их разработок.
Вместе с тем поддержка связей между ассоциированными с документами атрибутами и соответствующими им документами, а также поиск
документов по значениям ассоциированных с ними атрибутов вполне
вписываются в обычные технологии баз данных. Кроме того, механизмы
среды хранения СУБД могут быть использованы и для хранения самих
документов. Поэтому еще в 70 е годы создавались СУБД, обладающие
такими возможностями. Их называли гибридными СУБД.
С другой стороны, информационные ресурсы, которыми оперируют системы баз данных, часто включают наряду со структурированными данными связанные с ними текстовые документы. Поэтому необходимость текстового поиска возникает и в среде традиционных систем баз
данных. В связи с указанными причинами традиционные СУБД стали оснащаться механизмами текстового поиска по содержанию документов.
В последние годы развивается и иной подход, когда традиционные
функциональные возможности СУБД и функциональные возможности
Текстовый поиск и базы данных
163
систем текстового поиска реализуются в рамках единой программной
системы. Пользователям при этом предоставляется единый интерфейс
для доступа к поддерживаемым в системе информационным ресурсам.
Итак, существует три подхода к интеграции технологий систем баз
данных и систем текстового поиска:
Œ расширение функций СУБД возможностями текстового поиска,
встраивание таких функций в механизмы СУБД;
Œ реализация системы текстового поиска как надстройки над СУБД
общего назначения;
Œ интеграция функций управления базами данных и текстового поиска
в рамках единой программной системы (назовем этот подход горизонтальной интеграцией).
Рассмотрим эти подходы несколько подробнее.
Расширение функций СУБД возможностями текстового поиска.
Ранние шаги для обеспечения текстового поиска в области баз данных
были основаны на реляционных СУБД и были предприняты в конце
80 х – начале 90 х годов. Специалистов в области баз данных интересовала возможность расширения сферы применения СУБД, использования механизмов хранения данных и доступа к ним для работы с текстом
как с одним из типов данных.
Для этих целей система типов данных SQL серверов баз данных
была расширена специальным типом – большим двоичным объектом (Binary Large Object, BLOB). С точки зрения пользователя документы при этом могут храниться как обычные значения данных этого типа
в таблицах базы данных. Однако для обеспечения эффективности хранения пришлось разработать для таких длинных значений специальные методы доступа. Для поиска необходимых документов можно использовать
запросы, сформулированные средствами языка SQL. Различный инструментарий для обработки текстов в этой среде реализовывался как приложения СУБД.
Более совершенные возможности для достижения рассматриваемых целей требовали расширения функциональности реляционных СУБД.
Некоторые расширения были реализованы в начале второй половины
90 х годов в объектно реляционных серверах баз данных ведущих поставщиков программного обеспечения систем баз данных. Здесь текст выступает как специальный объектный тип с поддержкой состояния
и поведения для его экземпляров. Реализация таких типов обеспечивается
с помощью механизмов DataBlade в сервере баз данных Informix, специального картриджа в продукте Oracle, расширителя типов в системе DB2.
164
Технологии текстового поиска
Для иллюстрации уровня возможностей текстового поиска, которые
обеспечиваются современными СУБД, рассмотрим основные функции
работы с полнотекстовыми информационными ресурсами, которые предоставляются в SQL сервере баз данных одного из ведущих поставщиков
программного обеспечения систем баз данных – в СУБД Oracle [28].
В СУБД Oracle обеспечивается хранение текстовых и других документов в базе данных. Коллекция документов представляется как актуальный домен некоторого атрибута в таблице базы данных, строки которой
содержат отдельные документы как значения столбца, соответствующие
указанному атрибуту. Этот атрибут должен иметь тип данных LOB (большой объект) в случае документа текстового формата или Binary LOB –
для документа нетекстового формата.
Имеется возможность присваивать значения данным этих типов, создавать полнотекстовый индекс в форме инвертированного списка
по атрибуту таблицы, имеющему такой домен значений, осуществлять
контекстный поиск с помощью построенного индекса. Можно добавлять
документы в коллекцию, вставляя новые строки в таблицу базы данных,
содержащую рассматриваемый атрибут. Автоматическая модификация полнотекстового индекса при этом не обеспечивается. Поэтому язык SQL расширен специальным оператором для выполнения этой функции.
Предусматривается возможность контекстного поиска по булевской
модели. Запрос формулируется в виде оператора Select специального формата. При этом могут быть заданы веса термов. Обеспечивается
при необходимости ранжирование результирующих документов поиска по степени их релевантности запросу. Если в качестве терма в запросе задается фраза, а не отдельные слова, связанные булевскими операторами, то релевантными будут считаться документы, имеющие точное
вхождение этой фразы. Наконец, нужно упомянуть возможность использования в критерии поиска двуместной функции близости. Аргументами этой булевской функции являются слова текста документа. Функция
принимает значение «истина» для данного документа, если вхождения
слов аргументов находятся достаточно близко в тексте документа – входят в одно и то же предложение или в один и тот же абзац текста документа.
Подобными же возможностями полнотекстового поиска обладают
объектно реляционный сервер баз данных DB2 компании IBM [41], SQL
Server 7.0 [19] и SQL сервер 2000 компании Microsoft [37], а также ряд
других поставляемых в настоящее время СУБД.
Особенность подхода компании Microsoft, который реализован
в ее SQL сервере 2000, заключается в возможности индексировать
Текстовый поиск и базы данных
165
документы, представленные не только в текстовом формате, но и в форматах некоторых программных продуктов компании Microsoft и в ряде других широко распространенных форматов, например MS Word, PowerPoint,
PDF, Excel, HTML, XML.
Дальнейшим шагом в направлении расширения технологий текстового поиска в реляционных базах данных стало принятие в 2000 году
в качестве международного стандарта спецификации SQL/MM Full Text
(SQL/Multi Media Full Text) [38]. Эта спецификация является одной из
частей стандарта SQL Multimedia and Application Packages (SQL/MM)
[32], определяющего некоторый пакет дополнительных возможностей
для действующего стандарта языка SQL, принятого в 1999 году и получившего название SQL:1999 (см. раздел 2.4).
В спецификации SQL/MM Full Text содержится набор определений абстрактных типов данных языка SQL, которые позволяют работать
с полнотекстовыми информационными ресурсами в среде баз данных
SQL. Таким образом, теперь имеется стандартизованное представление
текстовых информационных ресурсов в объектно реляционной среде.
Завершая обсуждение возможностей текстового поиска, поддерживаемых в современных СУБД, нужно заметить, однако, что рассмотренные
выше расширения инструментария реляционных СУБД обычно не обеспечивают реализации продвинутых моделей поиска, о которых говорилось ранее. Чаще всего дело ограничивается булевской моделью поиска,
иногда с расширением запросов, с механизмами полнотекстового индексирования и с другими дополнительными возможностями.
Реализация механизмов текстового поиска как надстройки над СУБД.
Со стороны сообщества специалистов в области текстового поиска также
предпринимались шаги, направленные на интеграцию рассматриваемых
технологий. Однако, как уже отмечалось, они избрали другой подход,
при котором системы текстового поиска используют функциональные
возможности СУБД для реализации их собственных механизмов. Таким
образом, система текстового поиска создается как надстройка над СУБД
общего назначения, которую можно квалифицировать как приложение
системы базы данных.
Надстройка реализует на верхнем уровне архитектуры такой системы специфические для систем текстового поиска возможности, соответствующие выбранной модели поиска, используя все полезные для
этого функции СУБД. На нижнем уровне архитектуры инструментальная СУБД общего назначения обеспечивает функции хранения документов, словарей, тезаурусов и различного рода метаданных, индексов документов, выполнение операций доступа, управление транзакциями,
166
Технологии текстового поиска
восстановление базы данных при ее разрушении, поддержку полномочий пользователей и т.п.
Благодаря подобному подходу достигается масштабируемость и надежность построенной таким образом системы текстового поиска. В настоящее время существуют реализации подобных многоуровневых систем
текстового поиска на основе как реляционных, так и объектных СУБД.
Горизонтальная интеграция СУБД и систем текстового поиска.
В последние годы рождается еще один подход, основанный на другом
принципе интеграции функциональных возможностей текстового поиска и управления базами данных в рамках единой программной системы, который, в отличие от рассмотренного выше многоуровневого подхода, можно было бы назвать горизонтальной интеграцией.
Во многих крупных организациях накоплены и используются значительные объемы информационных ресурсов, включающих как структурированные данные, так и документы на естественных языках. Такие ресурсы часто бывают взаимосвязаны. Поэтому возникает необходимость
одновременной работы с ресурсами обоих видов. Персоналу таких организаций было бы естественно обращаться к единой информационной
системе для работы с теми и другими информационными ресурсами, используя унифицированный пользовательский интерфейс.
Реализация проектов подобного рода интегрированных систем является довольно сложной задачей. Трудности заключаются не только в принципиальных различиях информационных ресурсов и моделей поиска,
с которыми имеют дело системы текстового поиска и СУБД. Существенно разный характер имеют пользовательские запросы в системах этих
двух видов. В системах баз данных точно формулируются запросы, и они
однозначно представляют информационные потребности пользователей.
После обработки запросов получается точный ответ системы. В системах текстового поиска, напротив, запрос лишь приблизительно описывает информационные потребности пользователя, и его обработка также
дает нестрогий ответ. Системы рассматриваемых двух видов нуждаются
в языках запросов разной природы и в системных механизмах с разными
функциональными возможностями.
Тем не менее указанные потребности привели к разработкам интегрированных информационных систем, объединяющих функциональные возможности систем обоих типов в рамках единой программной системы.
В последнее время имеются прецеденты решения рассматриваемой
проблемы, при котором создается система в статусе приложения, объединяющая два самостоятельных компонента – традиционную СУБД
и систему текстового поиска. Объединенная система имеет единый
Текстовый поиск и базы данных
167
пользовательский интерфейс для работы с традиционными базами
данных и с коллекциями документов. Препроцессор объединенной системы обрабатывает пользовательские запросы и, в зависимости от их характера, направляет их нужным системным механизмам – в среду базы
данных либо в среду системы текстового поиска.
Нужно заметить, что в некоторых случаях СУБД используется как
единый механизм управления хранимыми данными полной интегрированной системы. В таких случаях, строго говоря, имеет место комбинация двух подходов – горизонтальной интеграции и подхода, при котором
поисковая система реализуется как надстройка над СУБД.
Такой подход реализовала компания IBM в своей электронной библиотеке, программные средства которой обеспечивают «горизонтальную»
интеграцию функциональности поставляемых компанией SQL сервера
баз данных DB2 UDB (Database 2 Universal Database) и лингвистической системы текстового поиска TSE (Text Search Engine) [41]. Связующим звеном этих двух систем стал текстовый расширитель TE (Text
Extender) для сервера DB2 UDB. Его функциональность реализуется
именно средствами TSE. Тем самым через этот текстовый расширитель
TSE интегрируется в DB2.
Текстовый расширитель TE позволяет создавать индексы текстовых
атрибутов в таблицах баз данных SQL и обладает другими возможностями, близкими к поддерживаемым системой Oracle (см. выше). Кроме того, для синхронизации состояния коллекций текстовых документов
и соответствующих им индексов используются триггеры. При обработке
SQL запроса предусматривается его декомпозиция на подзапрос, относящийся к базе данных, и подзапрос к текстовой коллекции. Результаты
их обработки объединяются. На основе текстового расширителя TE компанией IBM был создан впоследствии расширитель текстовой информации TIE (Text Information Extender), который базируется на новом продукте компании – системе текстового поиска нового поколения GT9.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Почему актуальна проблема совместного использования текстовых
информационных ресурсов и ресурсов традиционных систем баз
данных?
2. Какие подходы используются для интеграции технологий баз данных
и технологий текстового поиска?
3. На каких принципах основан подход специалистов в области баз
данных к решению проблемы использования текстовых документов
в среде систем баз данных?
168
Технологии текстового поиска
4. В чем заключается подход специалистов в области текстового поиска к обеспечению совместного использования технологий текстового поиска и технологий баз данных?
5. Какими возможностями текстового поиска обладают SQL серверы
баз данных ведущих поставщиков программного обеспечения систем баз данных?
6. В чем заключаются особенности текстового поиска в SQL сервере
2000 компании Microsoft?
7. Охарактеризуйте в целом возможности и ограничения функций текстового поиска, обеспечиваемых современными СУБД.
8. В чем заключается идея горизонтальной интеграции традиционных
функций управления базами данных и функций текстового поиска?
9. Какой проект горизонтальной интеграции технологий текстового
поиска и технологий баз данных реализовала компания IBM?
10. Какой международный стандарт определяет возможности работы
с текстовыми ресурсами в среде баз данных SQL?
3.8. ТЕКСТОВЫЙ ПОИСК В WEB
За короткий период существования Web объемы информационных ресурсов, доступных в этой глобальной информационной системе, достигли гигантских масштабов. Весьма значительную долю этих ресурсов составляют текстовые документы на различных языках народов мира,
представленные в виде HTML страниц. Поэтому создание доступных
пользователям Web средств, реализующих технологии текстового поиска, стало крайне необходимым.
Поисковые машины Web. Проект Web первоначально предусматривал только навигационный доступ к представленным в его среде информационным ресурсам с использованием гиперссылок, встроенных
в HTML страницы на стадии их разработки. Однако в связи с беспрецедентно быстрым ростом объема поддерживаемых информационных
ресурсов стало ясно, что для эффективного доступа к ним пользователей необходимо иметь возможности поиска нужных ресурсов по их
свойствам.
Вот почему в середине 90 х годов начали появляться разнообразные
общедоступные системы текстового поиска для Web. Эти системы называются по разному: поисковыми машинами Web, поисковыми роботами,
пауками и т.п. Их реализации не являются составной частью Web. Это
Текстовый поиск в Web
169
приложения Web. Поисковые системы с определенной периодичностью
(от нескольких часов до нескольких дней) сканируют страницы «подведомственных» им Web серверов, формируют или актуализируют индексы, с помощью которых обрабатываются поступающие пользовательские запросы.
Крупные поисковые системы Web поддерживают индексы гигантских
объемов, обрабатывают большое количество пользовательских запросов. Поэтому они требуют очень крупных вычислительных ресурсов.
Ранние поисковые системы Web обеспечивали простейший контекстный поиск. Позднее стали появляться реализации булевских моделей поиска. В последние годы интерес к проблемам текстового поиска в Web значительно вырос. Разными коллективами проводятся многочисленные
и разнообразные исследования в этой области. Высокая активность исследовательского сообщества, многочисленные разработки в рассматриваемой области привели к учреждению в рамках конференций TREC
(см. раздел 3.2) специальной секции, посвященной проблемам поиска
в Web.
В настоящее время существует целый ряд систем текстового поиска для Web, универсальных и ориентированных на определенные предметные области, международных и национального масштаба: крупнейшая многоязыковая поисковая система AltaVista, системы Yahoo,
Google, поисковая система по русским страницам Web Yandex и многие
другие. Они различаются областью действия – составом сканируемых
Web серверов, организацией пользовательских интерфейсов, функциональными возможностями механизмов поиска. Все они поддерживают различные версии булевской модели поиска. Ряд систем обеспечивает ранжирование результирующего множества документов. Система
AltaVista реализует некое подобие обратной связи релевантности – предоставляет пользователю гистограмму, характеризующую статистику
найденного множества документов по классам. Пользователь может
отобрать интересующие его классы. Далее поиск повторяется в рамках идентифицированного таким способом подмножества информационных ресурсов, доступных системе.
Особенности Web как среды поиска. В системах поиска для Web нашли применение отработанные за предшествовавшие его созданию десятилетия технологии текстового поиска. Однако в связи с рядом особенностей организации Web, поддерживаемых в его среде информационных ресурсов и контингента пользователей возникают новые требования
к технологиям поиска.
170
Технологии текстового поиска
К числу таких особенностей следует отнести:
Œ огромный объем поддерживаемых информационных ресурсов, который продолжает интенсивно нарастать; по оценкам специалистов
[14], уже сейчас в Web содержится более миллиарда страниц; в связи
с этим возникают высокие требования к масштабируемости используемых алгоритмов поиска;
Œ высокую степень динамичности коллекций информационных ресурсов
Web; появляются новые и удаляются имеющиеся страницы, изменяется местоположение страниц; как показывает статистика, среднее время жизни половины страниц в Web не превышает десяти дней, ежемесячно примерно 40% страниц подвергается изменениям; этот фактор
не позволяет поддерживать и использовать в алгоритмах поиска общие статистические характеристики коллекции в целом;
Œ взаимосвязанность совокупности страниц Web, поддерживаемая с помощью гиперссылок; эти связи могут использоваться при обработке
запросов некоторых видов;
Œ отсутствие централизованного администрирования информационными ресурсами; в связи с этим отсутствуют гарантии целостности отдельных документов и связей между ними, тематической целостности
коллекций документов;
Œ возможность свободной (несанкционированной) публикации документов и их удаления из коллекции; вследствие этого возможны нарушения целостности связей между документами коллекций и целостности отдельных документов;
Œ большую избыточность информационных ресурсов; в Web имеются многочисленные случаи, когда одновременно на разных страницах
публикуется несколько копий одной или различных версий некоторой
статьи, отчета или другого документа;
Œ неконтролируемое качество информационных ресурсов; при подготовке документов для публикации в Web во многих случаях отсутствует их научное и литературное редактирование, проверка орфографической корректности текста; отсутствие каких либо ограничений на
уровень квалификации авторов документов часто приводит к публикации недостоверной информации, к низкому качеству содержания документов, к многочисленным орфографическим ошибкам в них;
Œ существование многочисленной группы пользователей Web с недостаточным уровнем подготовки или вообще без какой либо подготовки;
многие пользователи неспособны эффективно формулировать запросы,
Текстовый поиск в Web
171
что приводит к значительному увеличению количества выдаваемых запросов и к перегрузке системы поиска;
Œ нетерпеливость пользователей; исследования поведения пользователей при проведении поиска в Web показали, что многие из них не готовы к продолжительному ожиданию результатов поиска и к анализу
результирующего множества документов для выявления в нем документов, удовлетворяющих информационным потребностям; такому
поведению часто способствует и низкая пропускная способность каналов связи; в связи с таким поведением становятся неадекватными
критерии качества поиска традиционных систем текстового поиска;
это касается, например, критерия полноты поиска (см. выше);
Œ отсутствие возможности доступа к информационным ресурсам Web
в любое время; хотя для Web декларируется принцип доступности информационных ресурсов в любое время, на практике это часто не выполняется, не все Web серверы функционируют в режиме 365×7×24;
этот факт должен также учитываться в процессе поиска;
Œ многоязычность коллекций информационных ресурсов Web; это означает, что необходимо иметь алгоритмы поиска, не зависящие от конкретного естественного языка, на котором представлены документы,
анализируемые в процессе поиска.
Перечисленные особенности Web как среды текстового поиска приводят к необходимости пересмотра тех подходов к организации поиска, методов, алгоритмов и методологии оценки качества, которые были созданы
на протяжении длительного времени и успешно применяются в традиционных системах текстового поиска.
Интересно отметить, что поиск в Web порождает новые постановки задач, не свойственные традиционным системам текстового поиска. Одна из таких задач заключается в исследовании поведения пользователя при поиске в большой коллекции взаимосвязанных документов.
Другая специфическая задача – поиск домашних страниц Web сайтов,
посвященных заданной тематике. При таком поиске, естественно, по необходимости также должны использоваться гиперссылки, связывающие
страницы Web. О назревшей актуальности указанных задач свидетельствует тот факт, что на конференции TREC была учреждена секция, посвященная Web, задачей которой стало именно исследование указанных
задач.
Более детально ознакомиться с технологическими проблемами текстового поиска в Web можно по многочисленным публикациям, специально посвященным этой теме. В частности, весьма содержательное
172
Технологии текстового поиска
обсуждение возникающих в этой области проблем и довольно обширную
библиографию можно найти в обзоре [14].
Поиск в специализированных коллекциях документов. Обсуждая
проблемы текстового поиска в Web, необходимо отметить, что эта глобальная информационная среда популярна у различных сообществ пользователей, образованных на профессиональной основе или на основе
каких либо других интересов для поддержки разнообразных специализированных коллекций информационных ресурсов и доступа к ним. Доступ
к таким коллекциям, представленным в виде совокупности, возможно,
взаимосвязанных с помощью гиперссылок Web сайтов, обеспечивается специально создаваемыми поисковыми системами, которые обрабатывают пользовательские запросы с учетом особенностей этих ресурсов
и их организации, специфического характера информационных потребностей пользователей.
Среда Web оказалась чрезвычайно удобной для этих целей. Она обеспечивает возможности для представления распределенных информационных ресурсов, доставки их пользователю в режиме теледоступа,
а также удобные и свободно распространяемые программные средства
пользовательского интерфейса.
В соответствии с характером и тематикой коллекций информационных ресурсов, поддерживаемых в такого рода специализированных поисковых системах, заинтересованное в их создании сообщество разрабатывает свои стандарты метаданных, которые должны описывать
содержание и различные характеристики этих ресурсов, представляющие интерес для пользователей.
Создается централизованный каталог ресурсов, в котором они
описываются в терминах принятых стандартов метаданных. Кроме того,
разрабатывается программная система, поддерживающая каталог и включающая также поисковую машину, которая «понимает» запросы на поиск
ресурсов, сформулированные в терминах этих метаданных, и имеет доступ
к каталогу. Доступ пользователям к самой поисковой системе предоставляется на одном или нескольких Web сайтах сообщества аналогично
тому, как это делается для «универсальных» поисковых машин Web.
Сами объединяемые в коллекции и обобществленные в поисковой
системе информационные ресурсы не обязательно поддерживаются централизованно. Их интеграция вполне может быть виртуальной – информационные ресурсы могут храниться и поддерживаться в актуальном состоянии на Web сайтах их владельцев. Поисковая машина
обрабатывает пользовательский запрос и возвращает пользователю
страницы ссылок на интересующие его информационные ресурсы,
Текстовый поиск в Web
173
зарегистрированные в коллекции на момент поступления запроса,
либо сами требуемые ресурсы.
Некоторые специализированные поисковые системы могут поддерживать профили пользователей, описывающие круг их интересов
и другие характеристики. В таких случаях при подключении пользователя к системе ему могут быть выданы различного рода сведения
с учетом круга его интересов. Например, система может предоставлять информацию о новых информационных ресурсах по тематике интересов данного пользователя, зарегистрированных в каталоге ресурсов со
времени его последнего обращения к системе, выдавать те или иные статистические данные и т.п.
Нужно заметить, что информационные ресурсы рассматриваемых
коллекций вовсе не обязательно должны представлять собой страницы
Web. Очень важно, что это могут быть и ресурсы «скрытого» Web: статьи, книги и другие материалы в форматах MS Word, PDF, PostScript, Tex
и др.; карты, фотографии и другие изображения в форматах графических
файлов; аудио и видеоданные и т.п. Важно лишь, чтобы содержащие эти
ресурсы файлы хранились на узлах Internet и могли быть идентифицированы с помощью URL.
Особенно широко организация специализированных поисковых систем с коллекциями информационных ресурсов, доступных в среде Web,
распространена в области электронного бизнеса и в научном сообществе. Имеется весьма значительное количество таких систем, которые разработаны коллективами ученых в различных областях знаний. Часто эти
коллективы – международные. Есть много примеров коллекций, созданных учеными в области физики, астрономии, химии, биологии, геологии,
экономики и других наук.
Поисковая система СОЦИОНЕТ. Одним из примеров функционирующих в среде Web специализированных поисковых систем является система СОЦИОНЕТ [17], в которой поддерживается на федеративных началах архив распределенных информационных ресурсов – множество
коллекций публикаций по экономике и другим общественным и гуманитарным наукам, доступных на Web сайтах ряда отечественных академических институтов, учебных заведений, публичных библиотек и других
организаций.
СОЦИОНЕТ создана в Институте экономики и организации промышленного производства Сибирского отделения РАН. Система основана на
принципах, рассмотренных выше. Имеется стандарт метаданных для
описания публикаций. Для включения данной публикации в какую либо
коллекцию распределенного архива необходимо зарегистрировать ее
174
Технологии текстового поиска
в каталоге системы. После этого она становится доступной пользователям. Поисковая машина системы обрабатывает запросы пользователей.
Система позволяет персонализировать пользовательские интерфейсы благодаря тому, что каждый пользователь может определить в системе свой профиль, в частности коллекции архива, которые представляют
для него интерес.
В 2001 году в состав архива СОЦИОНЕТ было включено уже более
150 тысяч публикаций.
Влияние электронных библиотек. Деятельность по созданию разнообразных коллекций информационных ресурсов, разработке новых
технологий управления ими, эффективных методов доступа, по созданию развитых пользовательских интерфейсов, технологий технической
и семантической интеграции представленных в коллекциях информационных ресурсов особенно активно развернулась в середине 90 х годов
в рамках инициированных во многих странах национальных программ по
электронным библиотекам [6, 7].
Радикально новые возможности текстового поиска и поиска информационных ресурсов другого рода, поддерживаемых в коллекциях ресурсов электронных библиотек, обеспечиваются стандартами создаваемой новой технологической платформы Web, основанной на языке XML.
Платформа XML и предусмотренные в ней возможности описания данных подробно обсуждаются в главе 4.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Почему функция текстового поиска стала актуальной для Web?
2. Являются ли системы текстового поиска составными частями Web?
3. Каким образом осуществляется текстовый поиск в Web?
4. Назовите наиболее популярные системы текстового поиска для
Web.
5. Какие модели поиска реализуются в системах текстового поиска для
Web?
6. Какие особенности Web порождают новые требования к текстовому
поиску в этой среде?
7. Приведите конкретный пример свойств Web, требующих новых подходов к поиску.
8. Какие новые нетрадиционные задачи текстового поиска возникают
в Web?
Перспективы систем текстового поиска
175
9. Какова роль конференции TREC в развитии технологий текстового
поиска для Web?
10. На каких принципах основано создание специализированных поисковых систем в среде Web?
3.9. ПЕРСПЕКТИВЫ СИСТЕМ ТЕКСТОВОГО ПОИСКА
Технологии текстового поиска стали одним из важнейших направлений
исследований и разработок информационных систем, востребованных
практикой. Такие системы применяются буквально во всех сферах деятельности. Как было показано выше, особенно интенсивно они начали
развиваться с появлением глобального информационного пространства Web.
Изменившиеся условия применения и открывшиеся новые возможности естественным образом выдвинули новые требования к системам
текстового поиска. В очень агрегированном виде главные из этих требований можно сформулировать так:
Œ способность систем текстового поиска эффективно работать с очень
большими коллекциями документов;
Œ обеспечение существенно улучшенного отображения смысла документов и пользовательских поисковых запросов;
Œ способность совместно обрабатывать текстовые документы с документами иной природы – статическими изображениями, аудио, видео
и др.;
Œ обеспечение эффективных методов поиска не только в статических
коллекциях, но и в потоках документов.
В последние годы создателями технологий текстового поиска сделано
очень многое для того, чтобы используемые системы удовлетворяли этим
требованиям. В большой степени перечисленные требования диктуются
широко развернувшимися во всем мире разработками в области электронных библиотек.
Многими исследовательскими коллективами ведутся разработки разного рода подходов и прототипов инструментария для Web, обеспечивающего эффективную выборку требуемых информационных ресурсов.
Качественный обзор основных направлений этих исследований и классификация создаваемого инструментария содержится в работе [40].
Значительную поддержку созданию систем текстового поиска, удовлетворяющих указанным требованиям, оказывают организаторы цикла
176
Технологии текстового поиска
конференций TREC, прежде всего его базовая организация – National
Institute of Standards and Technology (NIST), один из авторитетных органов стандартизации информационных технологий в США. Учитывая требования времени, с каждым годом на конференциях TREC усложняются
задачи, которые ставятся перед разработчиками систем текстового поиска, и коллекции тестов, предоставляемые разработчикам систем текстового поиска для их оценки и сравнения. Высокий авторитет конференций и их продуктивный характер привлекают к непременному участию
в TREC ведущих исследовательских коллективов и разработчиков технологий текстового поиска.
Характерной чертой осуществляемого в настоящее время этапа развития информационных систем является конвергенция технологий,
используемых в различных видах таких систем. Технологии текстового
поиска, баз данных и Web не только оказывают существенное взаимное
влияние, но и совместно используются в проектах информационных систем различного назначения.
Техника индексирования текстовых документов послужила в значительной мере прототипом в разработках подходов к решению этой проблемы в системах, оперирующих изображениями, видео [1, 2] и аудио
[27] информационными ресурсами.
Довольно глубокая интеграция текстовых технологий и технологий
баз данных обеспечивается объектно реляционными серверами баз данных ведущих поставщиков программного обеспечения систем баз данных, хотя на этом пути, как уже отмечалось выше, не использованы все
важнейшие достижения технологий текстового поиска.
Весьма серьезных последствий для развития систем текстового поиска можно ожидать в связи с успешными интенсивными разработками, направленными на создание технологической платформы Web нового поколения – платформы XML (см. главу 4).
Как уже говорилось, в среде Web создаются многочисленные поисковые системы, ориентированные на какие либо сообщества пользователей. Это направление поисковых систем, в которых важное место отводится текстовому поиску, несомненно, будет также активно развиваться.
Важно заметить, что системы текстового поиска в Web, основанные
на платформе XML, обеспечивают уменьшение гранулярности доступа. Объектами поиска вовсе не обязательно должны быть полные документы. Поисковая система может выдавать по запросам пользователей
интересующие их фрагменты документов. Благодаря этому можно
существенно повысить эффективность работы пользователей с документами, поддерживаемыми в поисковых системах.
Перспективы систем текстового поиска
177
Завершая обсуждение перспектив систем текстового поиска, следует назвать актуальные направления исследований и практических разработок
в этой области. Вполне адекватное представление о них, на наш взгляд,
дает тематика одной из наиболее авторитетных научно технических конференций по информационному поиску – Ежегодной конференции ACM
SIGIR (Special Interest Group on Information Retrieval), состоявшейся
в августе 2002 года в Тампере (Финляндия) [51].
Вот список тем, которые были объявлены Программным комитетом
конференции как относящиеся к кругу ее интересов:
Œ формальные модели, в том числе модели языков;
Œ стратегии поиска;
Œ машинное обучение в системах информационного поиска;
Œ глубинный анализ текстов;
Œ кластеризация и категоризация текстовых документов;
Œ кросс языковой поиск;
Œ многоязыковой поиск;
Œ использование машинного перевода в информационном поиске;
Œ фильтрация документов на основе их содержания;
Œ информационный поиск в Web;
Œ использование XML и метаданных;
Œ информационный поиск в электронных библиотеках;
Œ поиск мультимедийных информационных ресурсов;
Œ представление и индексирование текстовых документов;
Œ обработка текстов на естественном языке;
Œ производительность систем текстового поиска, их масштабируемость,
архитектура, распределенный поиск;
Œ пользовательские интерфейсы, интерактивный информационный
поиск;
Œ ответы на вопросы;
Œ оценка систем, построение тестовых коллекций, проведение экспериментов.
Хотя перечисленные темы ассоциировались организаторами конференции с информационным поиском вообще, они в значительной мере
имеют непосредственное отношение и к текстовому поиску.
178
Технологии текстового поиска
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Какие важнейшие требования предъявляются к дальнейшему развитию систем текстового поиска?
2. Каким образом происходящие процессы конвергенции информационных технологий затрагивают технологии текстового поиска?
3. В чем проявляется влияние технологий текстового поиска на другие
направления технологий информационных систем?
4. Как влияют технологические перемены в Web на системы текстового поиска?
5. Перечислите важнейшие направления развития систем текстового
поиска.
ЛИТЕРАТУРА К ГЛАВЕ 3
1. Байгарова Н.С., Бухштаб Ю.А. Проект «Кинолетопись России»: представление и поиск видеоинформации // Сборник трудов 1 й Всероссийской конференции «Электронные библиотеки: перспективные
методы и технологии, электронные коллекции (Санкт Петербург,
19–22 октября 1999 года)».
2. Байгарова Н.С., Бухштаб Ю.А., Горный А.А., Евтеева Н.Н., Лялин
В.Ю., Монастырский А.В., Стрелков А.Ю. Методы индексирования и поиска изображений и видеоданных на основании визуального содержания // Сборник трудов 2 й Всероссийской конференции
«Электронные библиотеки: перспективные методы и технологии,
электронные коллекции (Протвино, 26–28 сентября 2000 года)».
3. Белоногов Г.Г., Котов Р.Г. Автоматизированные информационно поисковые системы. – М.: Советское радио, 1968.
4. Добров Б.В., Лукашевич Н.В. Тезаурус и автоматическое концептуальное индексирование в университетской информационной системе РОССИЯ // Сборник трудов 3 й Всероссийской конференции
«Электронные библиотеки: перспективные методы и технологии,
электронные коллекции (Петрозаводск, 11–13 сентября 2001 года)».
5. Клименко С., Крохин И.В., Кущ В.М., Лагутин Ю.Л. Электронные
документы в корпоративных сетях. – М.: Анкей – Экотренд, 1999.
6. Когаловский М.Р., Новиков Б.А. Электронные библиотеки – новый класс информационных систем // Программирование (МАИК
«Наука/Интерпериодика»). – 2000. – 3.
Литература к главе 3
179
7. Когаловский М.Р. Электронные библиотеки – развитие продолжается // Программирование (МАИК «Наука/Интерпериодика»). –
2002. – 4.
8. Когаловский М.Р. Энциклопедия технологий баз данных. – М.: Финансы и статистика, 2002. – 800 с.
9. Королев Л.Н. Методы выборки нужного слова из словаря. В сб.
«Вычислительная техника». – ИТМ и ВТ АН СССР, 1958.
10. Кулагина О.С., Вакуловская Г.В. Опытные переводы с французского на русский на машине «Стрела». В сб. «Проблемы кибернетики», вып 2. – М.: Физматгиз, 1959.
11. Кураленок И.Е., Некрестьянов И.С. Оценка систем текстового поиска // Программирование (МАИК «Наука/Интерпериодика»). –
2002. – 4.
12. Курбаков К.И. Кодирование и поиск информации в автоматическом
словаре. – М.: Радио и связь, 1968.
13. Михайлов А.И., Гиляровский Р.С., Черный А.И. Основы информатики. – М.: Наука, 1968.
14. Некрестьянов И., Пантелеева Н. Системы текстового поиска для
Веб // Программирование (МАИК «Наука/Интерпериодика»). –
2002. – 4.
15. Панов Д.Ю., Ляпунов А.А., Мухин И.С. Автоматизация перевода
с одного языка на другой. – М.: Изд во АН СССР, 1956.
16. Попов Э.В. Общение с ЭВМ на естественном языке. – М.: Наука,
1982.
17. СОЦИОНЕТ. Институт экономики и организации промышленного
производства СО РАН, Новосибирск. http://socionet.ru/.
18. Сэлтон Г. Автоматическая обработка, хранение и поиск информации: Пер. с англ. / Под ред. А.И. Китова. – М.: Советское радио,
1973. – 560 с.
19. Шуленин А. Процессор запросов Microsoft SQL Server // СУБД. –
1998. – 3. – С. 37–56.
20. ANSI/NISO Z39.85 2001. Dublin Core Metadata Element Set. National
Information Standards Organization, 2001. http://www.niso.org/
standards/resources/Z39 85.pdf.
21. Arasu A., Cho J., Garsia Molina H., Paepcke A., Raghavan S.,
Searching the web. ACM Transactions on Internet Technology, 1(1),
August 2001, pp. 2–43.
180
Технологии текстового поиска
22. Brown E.W. Execution Performance Issue in Full Text Information
Retrieval. Dissertation. University of Massachusetts. Department of
Computer Science. February 1996.
23. Cleverdon C.W. The Testing of Index Language Devices. Aslib Proceedings, Vol. 15, No. 4, April 1963.
24. Cleverdon C.W. The Cranfield tests on index language devices. Aslib
Proceedings, 19:173–192, 1967.
25. Croft W.B. What Do People Want from Information Retrieval? D Lib
Magazine, November 1995. http://www.dlib.org/dlib/november95/
11croft.html.
26. Dekkers M., Weibel S.L. Dublin Core Metadata Initiative Progress
Report and Workplan for 2002. D Lib Magazine, February 2002. http://
www.dlib.org/dlib/february02/weibel/02weibel.html.
27. Dharanipragada S., Franz M., Roukos S. Audio Indexing For Broadcast
News. Proc. of TREC 7, 1998.
28. Dixon P. Basics of Oracle Text Retrieval. Data Engineering Bulletin,
IEEE Computer Society, Vol. 24, No. 4, December 2001, pp. 11–14.
29. Dobroff B., Loukashevich N., Yudina T. IS RUSSIA: Conceptual
Indexing Using Semantic Representation of Text. Proceedings of the
TREC 6 Conference, 1997. Washington, USA.
30. Dublin Core Metadata Element Set Reference Description, Version 1.1,
1999 07 02. http://purl.org/dc/documents/proposed_recommendations/
pr dces 19990702.htm.
31. Dublin Core Qualifiers. Dublin Core Meta Data Initiative Recommendation.
http://purl.org/dc/documents/rec/dcmes qualifiers 20000711.htm.
32. Eisenberg A., Melton J. SQL Multimedia and Application Packages
(SQL/MM). SIGMOD Record, Vol. 30, No. 4, December 2001.
33. Genesereth M., Fikes R. Knowledge Interchange Format Reference
Manual, 1994. http://logic.stanford.edu/sharing/papers/kif.ps.
34. Gruber T. A translation approach to portable ontology specifications.
Knowledge Acquisition, 5(2), 1993, pp. 199–220.
35. Gruber T. Ontolingua: a mechanism to support portable ontologies.
Stanford University, June 1992.
36. Haines D. and Croft W.B. Relevance Feedback and Inference Networks.
University of Massachusetts. Department of Computer Science. Amherst, MA.
Литература к главе 3
181
37. Hamilton J., Nayak T. Microsoft SQL Server Full Text Search.
Data Engineering Bulletin, IEEE Computer Society, Vol. 24, No. 4,
December 2001, pp. 7–10.
38. ISO/IEC 13249 2:2000. Information Technology – Database Languages – SQL Multimedia and Application Packages (SQL/MM) –
Part 2: Full Text.
39. Jing Y., Croft W.B. An Association Thesaurus for Information Retrieval.
Department of Computer Science, University of Massachusetts at
Amherst, 1994.
40. Laender A.H.F., Ribeiro Neto B.A., da Silva A.S., Teixeira J.S. A Brief
Survey of Web Data Extraction Tools. SIGMOD Record, Vol. 31, No. 2,
June 2002.
41. Maier A., Simmen D. DB2 Optimization in Support of Full Text
Search. Data Engineering Bulletin, IEEE Computer Society, Vol. 24,
No. 4, December 2001, pp. 3–6.
42. Maron M.E., Kuhns J.L. On relevance, probabilistic indexing and
information retrieval. Journal of the ACM, No. 7, 1960, pp. 216–244.
43. Ontolingua: Knowledge Representation System. Stanford University.
http://ksl.stanford.edu/.
44. OWL Web Ontology Language 1.0 Abstract Syntax. http://www.w3.org/
TR/owl absyn/.
45. OWL Web Ontology Language 1.0 Reference. http://www.w3.org/TR/
owl ref/.
46. Raghavan S., Garsia Molina G. Integrating Diverse Information
Management Systems: A Brief Survey. Data Engineering Bulletin,
IEEE Computer Society, Vol. 24, No. 4, December 2001.
47. Rochio J.J. Relevance Feedback in Information Retrieval. Prentice Hall
Inc., 1971.
48. Salton G., Fox E., and Wu H. Extended Boolean information retrieval.
Communications of the ACM, Vol. 26, No. 12, December 1983.
49. Singhal A. Modern Information Retrieval: A Brief Overview. Data
Engineering Bulletin, IEEE Computer Society, Vol. 24, No. 4, December
2001, pp. 35–43.
50. Text Retrieval Conferences (TREC). http://trec.nist.gov/.
51. The 25th ACM SIGIR 2002 Conference, 11–15 August 2002, Tampere,
Finland. http://www.sigir2002.org/html/areasofinterest.htm.
182
Технологии текстового поиска
52. Turtle H.R. Inference Networks for Document Retrieval. Dissertation.
University of Massachusetts. Department of Computer and Information
Science. February 1991.
53. Vorhees E.M., Harman D. Overview of the Tenth Text Retrieval
Conference 2001 (TREC 10). http://trec.nist.gov/pubs/trec10/papers/
overview_10.pdf.
Глава
ТЕХНОЛОГИИ WEB
4
НОВОГО ПОКОЛЕНИЯ
Вторая половина 90 х годов прошедшего века ознаменовалась радикальными переменами в технологиях Web. Менее чем за пятилетнюю
историю своего существования Web приобрел многие сотни миллионов
пользователей на всех континентах, в его среде сформированы и поддерживаются огромные информационные ресурсы. Эта глобальная информационная система интенсивно вторгается в другие области информационных технологий, стала одним из важных звеньев инфраструктуры
информационного общества.
Вместе с тем ряд ограничений, свойственных действующим технологиям Web (в дальнейшем – Web первого поколения или просто Web 1),
стал сдерживающим фактором дальнейшего его развития. Новые подходы в области технологий Web, которые начали конструктивно воплощаться в жизнь на пороге XXI века, направлены прежде всего на преодоление этих ограничений и создание технологической платформы, которая
бы обеспечила потенциал для появления нового поколения Web (далее –
Web второго поколения или Web 2) [26, 27] и возможностей его развития на длительную перспективу. Основополагающую роль в технологическом переоснащении Web стал играть разработанный консорциумом
W3C новый язык разметки XML [46].
В этой главе обсуждаются достоинства и недостатки технологий
Web 1, предпосылки создания формирующейся в настоящее время новой технологической платформы Web, которая базируется на языке разметки XML (будем называть ее далее платформой XML). Эта платформа
должна стать основой Web 2, часто называемого семантическим Web.
Здесь рассматриваются также принципы организации платформы
XML, состав, назначение, классификация, взаимосвязи и состояние разработки основных ее стандартов. Анализируются подходы к представлению метаданных и описанию семантики XML документов, предусмотренные для этого средства. Показаны основные сферы применения
стандартов платформы XML. При этом особое внимание уделяется проблемам интеграции технологий XML и баз данных, оценке состояния
и перспектив платформы XML.
184
Технологии Web нового поколения
Более подробное обсуждение спецификаций языка XML и его роли
в технологической модернизации Web можно найти в работах [4, 18, 20,
21]. Концептуальные основы платформы XML, ее функциональные возможности и направления использования детально обсуждаются в [9–15].
Консорциум W3C, созданный для проведения единой технической политики в рамках Web и развития его технологий, ведет в настоящее время
разработку и поддерживает более полутора сотен стандартов. Конечно
же, невозможно представить их здесь в достаточно полном виде и приходится ограничиться лишь обсуждением концептуальных аспектов наиболее важных из них. Для основательного изучения стандартов платформы
XML нужно обратиться к их оригинальным спецификациям и другим материалам консорциума W3C [89].
Следует, наконец, заметить, что аббревиатуру XML довольно часто
используют для обозначения не только самого языка XML, но и некоторых других связанных с ним понятий – определяющего язык стандарта W3C [46], информационных ресурсов XML, комплекса основанных
на языке XML стандартов консорциума W3C, составляющих платформу
XML. При этом для краткости опускается остальная часть наименований
перечисленных понятий, уточняющая, о чем идет речь. Такое явление
специалисты по терминологии называют эллипсисом. При отсутствии
достаточного контекста оно приводит в ряде случаев к двусмысленности интерпретации обозначаемых таким «усеченным» образом понятий
и терминов, а иногда и к подмене предмета обсуждения.
4.1. ПРЕДПОСЫЛКИ СОЗДАНИЯ ПЛАТФОРМЫ XML
Создание Web по праву можно считать одним из крупнейших научно технических достижений последнего десятилетия XX века. Благодаря реализации этого проекта рождается целый ряд новых информационных
технологий, имеющих весьма значимые социально экономические последствия.
Достоинства действующих технологий Web. Идеи проекта, инициированного в стенах CERN (Европейский центр ядерных исследований, Женева) в конце 80 х годов сотрудником центра Тимом Бернерс Ли (Tim
Berners Lee), в короткие сроки воплотились в беспрецедентно интенсивно развивающуюся глобальную открытую бесконечно масштабируемую
распределенную гипермедийную систему. Количество пользователей
и объем представленных в ней информационных ресурсов продолжают
чрезвычайно быстро расти. Такая популярность Web обеспечивается
Предпосылки создания платформы XML
185
многими достоинствами используемых технологий. Основными среди
них являются:
Œ открытый характер системы (в технологическом смысле), позволяющий подключаться к ней с помощью оборудования любых поставщиков и разнообразных коммерческих и свободно распространяемых
программных средств;
Œ демократичная организация Web, благодаря которой не требуются
какие либо административные решения или финансовые затраты для
вступления в сообщество пользователей или поставщиков информационных ресурсов системы;
Œ эффективная и ставшая привычной для разработчиков и пользователей архитектура Web, основанная на принципе «клиент – сервер»;
Œ наличие многочисленных средств свободно доступного программного
обеспечения как клиентского, так и серверного;
Œ возможность глобального доступа к ресурсам Web в любое время;
Œ прозрачность для пользователя распределения информационных ресурсов Web в пространстве;
Œ независимость технологий от аппаратно программных платформ на стороне клиента и сервера, прозрачность неоднородности аппаратно программных платформ для пользователя;
Œ простота языка разметки HTML, легкость подготовки и публикации
документов, наличие многочисленных программных средств (редакторов HTML), облегчающих создание HTML страниц;
Œ простая техника идентификации информационных ресурсов Web
(HTML страниц и фрагментов страниц) с помощью универсальных
локаторов ресурсов (URL, Universal Resource Locator);
Œ низкий уровень требований к квалификации пользователя и конфигурации его технических средств;
Œ простой клиентский интерфейс с возможностью доступа к информационным ресурсам с помощью естественной навигации по их
структуре;
Œ способность языка разметки HTML служить интегратором мультимедийных информационных ресурсов, благодаря чему в Web возможно
представление не только гипертекстовых, но и гипермедийных страниц.
Свойства Web, сдерживающие его развитие. Вместе с тем за несколько лет интенсивного развития потенциал качественного совершенствования технологий Web 1 оказался в значительной мере исчерпанным.
186
Технологии Web нового поколения
Достигнутые за короткую историю существования Web масштабы этой
глобальной распределенной информационной системы по количеству
пользователей, по объему предоставляемых информационных ресурсов,
а также по составу работающих в ее среде приложений привели к существенному росту функциональных требований к ней. Достоинства Web
обернулись его недостатками. Потребовались радикально новые подходы, которые могли бы обеспечить дальнейшее развитие Web. Их реализация составляет одну из главных задач консорциума W3C начиная с середины 90 х годов.
Сдерживающее влияние на дальнейшую эволюцию технологий Web
и расширение сфер их применения стали оказывать прежде всего слабые стороны языка HTML – основного выразительного и структурообразующего средства представленных в Web гипермедийных информационных ресурсов, а также ограниченные функциональные возможности
среды поддержки этого языка в Web. Эти слабые стороны и ограничения
заключаются, главным образом, в следующем:
Œ для HTML страниц не поддерживаются метаданные, которые бы описывали их структурные, семантические и другие свойства. Исключением являются введенные в HTML средства (теги META и LINK), позволяющие ассоциировать с ними ключевые слова или рубрики. Эти
простейшие средства могут использоваться для неформального описания семантики HTML страниц;
Œ предыдущее ограничение в значительной мере является следствием
ориентированности языка HTML не на разметку содержания (контента) страниц, а на форматную разметку, служащую для определения
способа их представления на экране клиентского компьютера или других устройств воспроизведения информации;
Œ информационные ресурсы HTML могут идентифицироваться только по их местоположению в распределенной среде Web (с помощью
URL);
Œ к HTML страницам Web или их фрагментам возможен только навигационный доступ по гиперссылкам. Не обеспечивается доступ по
свойствам содержимого страниц или их структурных компонентов;
Œ за время существования Web 1 сформировался огромный объем информационных ресурсов, явным образом не представленных в Web,
но доступ к которым осуществляется через среду Web. Они включают,
в частности, доступные по протоколу FTP многочисленные публикации в формате PDF, PostScript, DOC, TXT и в других форматах, а также базы данных, глобальный доступ к которым обеспечивает Web, как
Предпосылки создания платформы XML
187
правило, с помощью HTML форм, и многое другое. Эту совокупность
информационных ресурсов принято называть «скрытым» Web. По
имеющимся оценкам их объем составляет около 70% всех ресурсов,
доступных в среде Web [19]. Пользователи Web обладают весьма ограниченными средствами доступа к таким ресурсам. Их структура и содержание им неизвестны, здесь отсутствуют возможности навигационного доступа, доступа с помощью поисковых машин Web. Наиболее
«закрытыми» среди указанных информационных ресурсов являются
базы данных, интегрированные в Web сайты. Здесь, как правило, доступ обеспечивается только с помощью регламентированных запросов, параметры которых пользователь задает, заполняя окна ввода
HTML форм, встроенных в просматриваемые HTML страницы. Отсутствие эффективных методов доступа к указанным информационным ресурсам, а также к описывающей их метаинформации, несомненно, является одной из слабых сторон сегодняшнего Web;
Œ HTML является закрытым языком, не позволяющим пользователю
вводить при необходимости новые собственные теги для расширения
функциональности языка.
Отсутствие поддержки метаданных для HTML страниц не позволяет верифицировать целостность их структуры и содержания. По этой
же причине невозможно осуществлять эффективный целенаправленный поиск необходимой пользователю информации в огромном накопленном объеме информационных ресурсов Web и выполнять другие операции их обработки.
Между тем удовлетворение информационных потребностей пользователей с помощью навигационного поиска во многих случаях является
крайне неэффективным или просто невозможным. Созданные для решения этой проблемы поисковые сервисы (поисковые машины) Web 1 реализуют главным образом только технику контекстного поиска. Поиск
документов в Web с учетом свойств структурных компонентов их содержания невозможен. Результаты обработки пользовательских запросов
поисковыми машинами Web характеризуются высоким уровнем информационного шума.
Наконец, без поддержки метаданных в среде Web невозможна эффективная интеграция информационных ресурсов, поддерживаемых не только в этой, но и в других взаимодействующих с ней средах.
Технически средства языка HTML позволяют интегрировать в среду Web базы данных, большие архивы текстовых документов, различные
мультимедийные ресурсы. Как уже отмечалось, эту составную часть Web
часто называют «скрытым» Web. Информационные ресурсы «скрытого»
188
Технологии Web нового поколения
Web, хотя и доступны пользователю Web, остаются для него, с точки зрения их организации структуры и семантики, «черным ящиком». Такая
интеграция сводится по существу лишь к обеспечению доступа к «внешним» ресурсам Web с помощью протокола FTP по именам файлов
с указанием их местоположения или с помощью предопределенных параметрических запросов к встроенным в Web сайты системам баз данных.
Следствием закрытости языка HTML являются ограниченные возможности структурирования документов, адекватного потребностям
пользователей и отражающего хотя бы простейшие аспекты семантики
содержащихся в них данных. Закрытый характер языка приводит также
к необходимости периодического пересмотра версий стандарта HTML
для расширения его функциональности путем добавления новых средств
разметки – тегов или атрибутов тегов. Такая модернизация стандарта не
может быть выполнена оперативно, поскольку в соответствии с регламентом консорциума W3C с нею связана довольно длительная бюрократическая процедура.
Идентификация информационных ресурсов по их местоположению
в Web также представляет собой ограничивающий фактор и доставляет
значительные неудобства администраторам информационных ресурсов
Web сайтов, например при необходимости перемещения HTML страниц
в другие места хранения. Для преодоления этой трудности можно было
бы использовать «логические» идентификаторы информационных ресурсов, независимые от места хранения, аналогично тому, как это делается в СУБД. Были предложены некоторые подходы к решению этой
проблемы, например концепция URI (Universal Resurs Identifier) [25].
Однако в Web 1 такие возможности недоступны.
Что необходимо предпринять. Настоятельно необходимыми стали такие шаги в дальнейшем развитии информационной среды Web, которые позволили бы создать новые технологии, основанные на современных методах управления данными, прошедших испытание временем
в технологиях баз данных и текстовых поисковых систем. Основу этих
методов составляют модели данных, адекватные требованиям, предъявляемым к информационным ресурсам и к характеру их использования,
явное представление и поддержка метаданных в системе, использование
техники поиска документов на основе их содержания. Это, в свою очередь, приводит к необходимости использования нового подхода к разметке представляемых в Web документов, который бы обеспечивал разметку не только их содержания, но и формата.
Решение указанных выше проблем стало основной стратегической задачей дальнейшего развития технологий Web. Создание расширяемого
Радикальные перемены в Web
189
языка разметки XML и основанной на нем новой технологической платформы – важный результат этой деятельности. Работы по формированию этой модульной платформы с разделением функций между составляющими ее стандартами интенсивно ведутся в консорциуме W3C.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Каковы основные достоинства Web как информационной системы?
2. В чем заключается ограниченность технологий Web первого поколения? Почему эти ограничения сдерживают дальнейшее развитие
Web?
3. Какие важнейшие задачи следует решить при создании новой технологической платформы Web?
4. Для чего необходимо поддерживать в Web метаданные, характеризующие свойства его информационных ресурсов?
5. Что такое «скрытый» Web?
6. Какого рода разметку страниц Web обеспечивает язык HTML?
7. В чем заключается разница между форматной и содержательной
разметкой страниц?
8. Какой доступ к информационным ресурсам обеспечивается в Web
первого поколения?
9. Почему язык HTML можно назвать закрытым языком?
10. Какие ограничения создает используемая в Web первого поколения
идентификация информационных ресурсов по их местоположению?
11. Почему для поисковых машин Web характерен высокий уровень информационного шума?
4.2. РАДИКАЛЬНЫЕ ПЕРЕМЕНЫ В WEB
В последние годы консорциум W3C – организация, ответственная за выработку и проведение единой технической политики в развитии Web, ведет активную деятельность, направленную на радикальный пересмотр
основополагающих принципов и формирование новой технологии Web.
При этом затрагиваются все три базовых элемента первоначального
проекта World Wide Web, на которых построена действующая сегодня его
реализация: язык гипертекстовой разметки HTML, основанный на концепции универсального локатора ресурсов URL принцип идентификации
190
Технологии Web нового поколения
информационных ресурсов по месту их хранения в сети, а также протокол передачи гипертекстовых ресурсов HTTP.
Создание новой технологической платформы Web. Базовые концепции новой технологии Web были определены W3C в середине 90 х годов,
а ее практическое воплощение началось с принятия в 1998 году уже
упоминавшегося нового стандарта – расширяемого языка разметки
Extensible Markup Language (XML) [46]. Наряду с этим ведутся работы по созданию его инфраструктуры – большого комплекса стандартов, основанных на XML или совместимых с этим языком, отдельные
компоненты которой уже существуют, другие находятся в процессе
разработки.
В настоящее время рабочими группами консорциума W3C уже подготовлены многие документы, содержащие спецификации стандартов
платформы XML (далее для краткости иногда называемых стандартами XML) и ее окружения, которые по решению консорциума получили статус рекомендаций (стандартов W3C). Более 150 документов находится пока в незавершенной стадии. Среди них не только документы,
определяющие новые ранее не существовавшие стандарты, но и спецификации новых версий уже существующих стандартов. Работа над ними
ведется достаточно динамично. По мере вызревания идей и предварительной их проработки в исследовательских центрах и индустриальных
компаниях, сотрудничающих с консорциумом, инициируются новые проекты по стандартизации технологий Web.
Сегодня вполне правомерно говорить о рождении новой функционально
развитой технологической платформы Web второго поколения, которую мы
договорились называть платформой XML. Понятие платформы трактуется здесь как совокупность взаимосвязанных и имеющих единое
функциональное назначение стандартов, разработанных на единых
концептуальных, архитектурных и иных принципах. Платформа XML обладает потенциалом, достаточным для развития среды Web на длительную перспективу.
Более подробно функциональные возможности стандартов платформы XML рассматриваются в следующих разделах. Полная и актуальная
информация о состоянии разработки этого комплекса стандартов W3C
поддерживается на Web сайте консорциума [81].
Влияние технологий баз данных. На разработку платформы XML
оказывают существенное влияние подходы и методы управления данными, которые прошли длительный путь эволюции и испытание временем
в других областях технологий информационных систем.
Радикальные перемены в Web
191
Так, о значительном влиянии традиционных «базоданновых» подходов
на идеологию платформы свидетельствует активное применение в лексике ее документов таких терминов, как «модель данных», «база данных»,
«схема», «метаданные», «ограничение целостности», «слабоструктурированные данные», «язык запросов» и др.
Хотя главное назначение платформы XML, как уже отмечалось, заключается в том, что она должна служить основой Web второго поколения, применение языка XML и некоторых других стандартов платформы, как будет показано далее, в значительной степени выходит за
рамки Web.
Состояние разработки. Процесс разработки платформы XML в течение четырехлетнего периода, прошедшего со времени принятия стандарта ее базового языка, был достаточно динамичным и продуктивным.
Создано функциональное ядро составляющего ее комплекса стандартов и продолжается его развитие. Несколько десятков стандартов этого ядра определяет языковые спецификации, обеспечивающие структурирование содержания информационных ресурсов (XML документов)
и конструирование из них и их фрагментов распределенных в сетевом
пространстве гиперструктур, развитые возможности форматирования
XML документов, представление метаданных, характеризующих свойства XML документов.
Стандарты функционального ядра платформы определяют также
средства обеспечения информационной безопасности, интерфейсы прикладного программирования, язык запросов и другие возможности. Предусматривается также использование более общего по сравнению с URL
механизма идентификации информационных ресурсов – URI (Universal
Resource Identifier) [25] и нового протокола XMLP (XML Protocol) обмена XML ресурсами [104, 105].
Семантический Web. Наряду с разработкой спецификаций для нижних уровней информационной архитектуры Web 2 (см. раздел 4.8) с осени
2001 года значительно активизировались деятельность по семантическому
Web, идеи которого родились еще в середине 90 х годов и в более полном
виде были сформулированы позднее [26, 27]. Основу этого направления
развития Web составляют стандарт Resource Definition Framework (RDF)
[68, 69, 71], а также несколько созданных за последнее время исследовательскими коллективами в США и Европе прототипов языка описания
онтологий. Основная задача этого направления деятельности W3C
в настоящее время заключается в создании стандарта языка описания
онтологий, основанного на синтаксисе языка XML (см. раздел 4.8).
192
Технологии Web нового поколения
Стандартизация архитектуры функциональной надстройки Web. Следует упомянуть еще одно новое направление работы по модернизации
Web на основе технологической платформы XML, учрежденное в начале 2002 года. Это стандартизация архитектуры функциональной
надстройки (в том числе ее программных интерфейсов) над информационным пространством Web, которая бы обеспечивала обмен данными в этой среде. Важным компонентом указанной архитектуры являются Web сервисы.
В качестве объектов стандартизации рассматриваются при этом архитектура и язык описания функциональности Web сервисов, а также
протокол обмена XML данными. Консорциум W3C опубликовал рабочие проекты стандартов архитектуры Web сервисов [83] и языка описания Web сервисов (Web Services Description Language, WSDL) [84, 85].
В этих стандартах WSDL представлен на двух уровнях. В спецификации
[84] функциональность языка описывается абстрактно. Конкретизация
функций для коммуникационных протоколов SOAP 1.2, HTTP и MIME
определяется в сопутствующем документе [85].
При создании стандартов этого назначения будут учитываться результаты работы по семантическому Web, по информационной безопасности, а также связанные с другими аспектами Web нового поколения. Достаточно продвинутая работа над стандартом протокола обмена
XML данными будет теперь проводиться в новом контексте.
Преемственность с действующим Web. Одна из принципиальных установок деятельности консорциума W3C по стандартизации заключается в непременном обеспечении преемственности новой платформы
с Web 1, что позволит сохранить возможность использования огромных
информационных ресурсов, представленных средствами языка HTML.
В настоящее время в среде Web уже начали появляться сайты, поддерживающие XML документы и обеспечивающие навигационный доступ к ним, аналогично тому, как это делается для сайтов, основанных на
языке HTML. При этом для доступа могут быть использованы последние
версии популярных браузеров MS Internet Explorer и Netscape Navigator,
которые теперь обладают механизмами синтаксического анализа (парсерами) исходного представления XML документов. Хотя такие сайты
пока лишь частично используют функциональные возможности стандартов платформы XML (в частности, не поддерживаются в полной мере
возможности XPointer и XLink), их появление свидетельствует о начале
практического переоснащения Web на основе этой новой технологической платформы.
Организация и функции платформы XML
193
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Каковы пути преодоления технологических ограничений, свойственных Web первого поколения?
2. Какая организация ответственна за техническую политику развития
Web и создание базовых технологических стандартов для этой системы?
3. В чем состоит существо происходящих в последние годы технологических перемен в Web?
4. Когда была принята первая версия стандарта XML?
5. Что представляет собой платформа XML?
6. Какие задачи решают стандарты функционального ядра платформы
XML?
7. Какие факторы свидетельствуют о влиянии технологии баз данных
на разработку стандартов платформы XML?
8. Охарактеризуйте кратко общее состояние разработки платформы XML.
4.3. ОРГАНИЗАЦИЯ И ФУНКЦИИ ПЛАТФОРМЫ XML
Как уже отмечалось выше, консорциум W3C, формирующий техническую политику развития Web и разрабатывающий стандартизованные спецификации для этой среды, наряду с созданием стандарта языка
XML ведет работу по формированию новой технологической платформы, открытой для расширения функциональности, главным звеном которой является этот язык.
Вероятно, не замечая этого обстоятельства или допуская терминологическую небрежность, авторы ряда публикаций ошибочно приписывают языку XML функциональные возможности, которые на самом деле
обеспечиваются различными другими языками, определяемыми иными
стандартами платформы XML.
Различия технологий XML и HTML. В отличие от действующей версии Web, в которой все основные функции управления информационными ресурсами системы базируются на едином языке HTML, создатели
платформы XML избрали иной путь. Выделены «фундаментальные»
стандарты, составляющие концептуальную и синтаксическую основу платформы. Их средствами определяется комплекс других стандартов, каждый из которых выполняет собственные специфические
194
Технологии Web нового поколения
функции. И этот комплекс открыт для его пополнения новыми стандартами
в случае необходимости. Именно такая модульность организации платформы обеспечивает ее открытый характер, возможности введения
новых стандартов, не затрагивая уже существующих. Полная функциональность этой платформы определяется целым комплексом взаимосвязанных стандартов, часть из которых уже принята W3C, другие находятся в стадии разработки.
Окружение платформы XML. Нужно отметить, что совместно со
стандартами XML могут использоваться различные спецификации,
которые формально не принадлежат платформе XML. Будем далее
называть их совокупность окружением платформы XML. Одни из
этих спецификаций являются стандартами консорциума W3C, однако не основаны на синтаксисе языка XML. Другие – поддерживают
XML, но разработаны иными организациями (компаниями или консорциумами). Тем не менее они получили достаточно широкое признание и применяются на практике, не имея официального статуса стандартов W3C.
Совместное использование стандартов платформы XML и ее окружения имеет место не только в многочисленных приложениях, но и в самих
спецификациях стандартов платформы. Например, стандарт XPath, формально не являющийся стандартом XML, используется в спецификациях
стандартов XPointer, XSLT, XQuery.
Указанные обстоятельства служат основанием для обсуждения здесь
стандартов окружения наряду со стандартами платформы, и далее они не
выделяются в какую либо особую группу.
Общие свойства платформы XML. Рассмотрим общие свойства платформы XML. Главные из них заключаются в следующем:
Œ платформа XML – это новая технологическая платформа Web второго поколения (Second Generation Web, 2GW), призванная стать основой дальнейшего развития этой уникальной системы;
Œ взамен единого «цельнотянутого» языка гипертекстовой разметки
HTML предоставляется модульная система функционально специализированных взаимосвязанных совместимых языков представления
информационных ресурсов;
Œ все стандарты платформы имеют единую концептуальную и синтаксическую основу, определяемую набором стандартов: XML, Namespaces
in XML и XML Infoset;
Œ язык XML и набор стандартов основанной на нем платформы обладают возможностями расширения. Смысл, который приписывается понятию «расширение» в данном случае, уточняется в разделе 4.4;
Организация и функции платформы XML
195
Œ аналогично технологиям баз данных платформа XML предусматривает многоуровневое представление информационных ресурсов – «физическое», «логическое» и «семантическое»;
Œ средства платформы XML обеспечивают возможности представления
как слабоструктурированных данных (самоопределяемых данных, не
имеющих описывающей их схемы), так и структурированных данных
(XML документов со схемой);
Œ предусматриваются утонченные возможности идентификации информационных ресурсов XML по сравнению с Web 1;
Œ стандарты платформы XML обеспечивают многоуровневое представление метаданных – от вербального до формального уровня;
Œ обеспечивается преемственность для технологий HTML.
Классификация стандартов платформы XML и ее окружения. Для
того чтобы охарактеризовать функциональные возможности платформы
XML и ее окружения, введем классификацию составляющих ее стандартов, в которой представлены не только уже принятые W3C стандарты, но
и ряд проектов стандартов, находящихся в активной разработке. Назначение этих стандартов будет рассмотрено далее.
Основные стандарты платформы XML и ее окружения можно разделить на следующие классы:
Œ фундаментальные стандарты: InfoSet, Namespace, XML;
Œ структурообразующие стандарты: XPointer, XLink;
Œ стандарты форматирования и трансформации XML документов:
XSL, XSLT, CSS;
Œ стандарты представления метаданных: XML (DTD), XML Schema,
Relax NG, RDF, RDFS, OWL;
Œ стандарты языков запросов: XQuery, XPath, XSLT;
Œ стандарты интерфейсов прикладного программирования: DOM,
SAX;
Œ стандарты для обеспечения преемственности с Web 1: XHTML,
XML Base;
Œ стандарты транспорта данных: XML Protocol, XForms, SOAP;
Œ стандарты идентификации информационных ресурсов: URI, URL,
URN;
Œ стандарты информационной безопасности: XML Signature, XML
Decription;
196
Технологии Web нового поколения
Œ стандарты архитектуры функциональной надстройки Web:
XSDL;
Œ вспомогательные стандарты: XInclude, XFragment, Canonical
XML, XPath;
Œ стандарты вертикальной сферы: MathML, cXML, CML, WML,
GML, UBL, XMI и ряд других стандартов OMG и т.д.
Анализируя приведенную классификацию стандартов, нетрудно видеть, что некоторые из них многофункциональны и в соответствии с этим
отнесены в этой работе к нескольким классификационным категориям. Кроме того, из названий классов интуитивно ясна функциональная
структура стандартов платформы XML.
Сведения о назначении конкретных стандартов, упоминаемых в классификации, приводятся далее.
Краткая характеристика назначения рассматриваемых стандартов.
Сведения о состоянии разработки стандартов (рабочий проект, заключительный рабочий проект, кандидат на рекомендацию, представлен для рекомендации, рекомендация) указываются в наименованиях представляющих их документов, приведенных в списке литературы
данной главы.
Прежде всего уясним роль стандарта XML в составе стандартов рассматриваемой платформы. Он выполняет три важные функции.
Первая из них – обеспечение содержательной (структурной) разметки информационных ресурсов, которые называют в рассматриваемой
среде XML документами. XML документ – это единица информационных ресурсов Web, состоящая из множества связанных файлов данных,
которое включает файлы, размеченные средствами языка XML в соответствии с его синтаксисом и семантикой, а также, возможно, файлы,
содержащие изображения, аудиоданные или информацию другого рода.
Связи между файлами, представляющими XML документ, поддерживаются с помощью гиперссылок. XML документ является единицей доступа пользователя к информационным ресурсам Web 2. Заметим, что если
XML документ соответствует синтаксису языка XML, то он называется
правильным.
Вторая функция XML заключается в том, что он предоставляет средства для описания логической структуры документов определяемого
пользователем типа. Эти средства составляют подъязык языка XML.
Совокупность специфицированных средствами этого подъязыка определений логической структуры XML документов некоторого типа называется определением типа документов (Document Type Definition,
Организация и функции платформы XML
197
DTD). Если правильный XML документ соответствует заданному для
него DTD, то он называется допустимым XML документом.
Наконец, как показывает приведенная выше классификация, стандарт XML выполняет также третью функцию. Он служит одним из фундаментальных стандартов платформы XML. Другие стандарты
платформы, которые дополняют его функции, связанные с управлением
данными Web, определяются в терминах синтаксиса XML. В связи с этим
их называют иногда приложениями XML.
Возвращаясь к выполняемой XML функции разметки, следует еще
раз подчеркнуть, что он (в отличие от HTML) не является функционально полным языком, который должен решать все задачи представления, поддержки и обработки информационных ресурсов Web.
Если проводить аналогию с технологиями баз данных, то XML можно квалифицировать как язык определения данных. Специфика
XML как языка определения данных заключается в том, что в нем
сочетаются две возможности. Прежде всего он обладает средствами для описания свойств экземпляров элементов XML документов,
составляющих содержание данного конкретного документа. Наряду
с этим он позволяет определять свойства типа XML документов (DTD)
в терминах типов их элементов.
Первая группа средств (теги разметки) использует принцип самоописываемости данных, идентифицируя типы элементов конкретного
документа и определяя некоторые свойства как с помощью встраиваемых в него тегов разметки, так и неявным образом, ссылаясь на описание данного типа элементов в DTD.
Что касается DTD, то оно описывает типовые свойства элементов документа и свойства типов документов в целом. Роль DTD аналогична роли схемы базы данных. При этом DTD может отчуждаться
от описываемых документов и храниться где либо в Web. Конкретные
XML документы ссылаются на это определение, хотя они могут и включать его непосредственно в явном виде. Возможен также случай, когда для конкретного XML документа не задается никакого DTD. В таком
случае ряд функций управления данными не может быть реализован по
отношению к этому документу. В частности, браузер не может верифицировать логическую целостность содержимого этого документа при его
просмотре.
Для определения других стандартов платформы наряду с XML служат также стандарты XML Information Set (InfoSet) [97] и Namespaces
in XML (Namespaces) [60].
198
Технологии Web нового поколения
Первый из этих стандартов представляет абстрактный набор данных, используемых в XML документах, содержит их определения, необходимые для спецификаций стандартов, имеющих дело с правильными
XML документами. Можно сказать, что это своего рода онтологическое описание среды XML документов для группы стандартов платформы
XML, их концептуальная основа.
Стандарт Namespaces определяет для заданного XML документа или
множества документов допустимые теги разметки и их атрибуты, ассоциируя с ними по умолчанию некоторую семантику. Зарезервированные
W3C пространства имен используются в синтаксисе языка XML и других
стандартов платформы.
Структурообразующие функции в среде информационных ресурсов
Web 2 выполняют языки XPointer [101–103] и XLink [98]. Они обеспечивают значительно более богатые возможности по сравнению с HTML
для определения указателей на фрагменты XML документов, а также гиперсвязей между XML документами и/или их фрагментами. При этом
могут определяться гиперсвязи не только внутри XML документов, но
и с внешними документами и/или их фрагментами.
Средства для форматной разметки XML документов, как уже указывалось, отделены от языка XML. Их определяет стандарт расширяемого языка таблиц стилей XSL [47] платформы XML и стандарт каскадных
таблиц стилей CSS1 [31], относящийся к окружению платформы. Заметим, что стандарт CSS1 используется и как дополнительный к HTML
инструмент разметки HTML страниц. Вторая часть стандарта XSL, называемая XSLT [118], позволяет описывать форматные преобразования
(трансформации) XML документов.
Важное место в составе платформы XML занимают стандарты представления метаданных XML Schema [108–110] и RDF [68, 69], которые
позволяют описывать дополнительные (по отношению к DTD) синтаксические свойства XML документов, а также их семантику.
Группа рабочих проектов W3C определяет динамично разрабатываемый со второй половины 2000 года стандарт языка запросов XQuery для
платформы XML. Указанные документы описывают требования к разрабатываемому языку запросов [106], модель данных [115–117], на которой он базируется, примеры, иллюстрирующие его функциональные возможности [107], а также спецификации синтаксиса XQuery в BNF [114]
и в XML [112].
Стандарт DOM [40] объектной модели документов применим как для
XML документов, так и для HTML страниц. Он определяет объектное
Организация и функции платформы XML
199
представление таких информационных ресурсов и функции интерфейса
прикладного программирования для их обработки.
Особое место в рассматриваемом комплексе стандартов платформы XML занимает стандарт XHTML [92]. Он обеспечивает один из
возможных путей сохранения преемственности развития среды Web,
позволяя использовать на платформе XML информационные ресурсы, накопленные в рамках технологий HTML. В стандарте XHTML
определены три варианта DTD для HTML страниц, представленных
средствами языка HTML 4.01 с различными степенями полноты использования его возможностей. В сочетании с соответствующим DTD
конкретные HTML страницы будут трактоваться Web браузерами как
XML документы.
Следует упомянуть здесь также стандарт XML Base [93], который служит для поддержки средствами стандарта XLink отдельных видов гиперссылок, используемых в языке HTML.
Разрабатываемый стандарт коммуникационного XML протокола (XML
Protocol, XMLP) [104, 105] предназначен для стандартизации процедур
пакетного обмена XML данными и удаленного вызова процедур в среде
Web. Это транспортный протокол прикладного уровня. Он должен определять организацию пакета, инкапсулирующего XML данные для передачи, содержание пакета при использовании удаленного вызова процедур
(Remote Procedure Call, RPC), а также механизм сериализации таких передаваемых данных, как графы и т.п., с учетом типов данных стандарта XML Schema. Кроме того, XMLP определяет отображение указанных
спецификаций в транспортную среду, основанную на протоколе HTTP.
При создании стандарта XMLP принимаются во внимание возможности, реализованные в существующих протоколах обмена XML данными.
На практике уже в течение ряда лет используются протокол SOAP (Simple
Object Application Protocol), предложенный компаниями Microsoft, IBM,
Lotus и UserLand Software, а также протокол XML RPC (XML – Remote
Procedure Call) компании UserLand Software. В последнее время рабочая
группа W3C по созданию протокола XMLP сосредоточила свои усилия
на стандартизации SOAP как упрощенного коммуникационного протокола. Группа опубликовала ряд рабочих документов, содержащих его спецификации [74–77].
К числу стандартов транспорта данных можно отнести также XForms
[91] – усовершенствованный и адаптированный к среде XML аналог механизма форм в языке HTML, обеспечивающий передачу данных, например запросов, от Web клиента к Web серверу.
200
Технологии Web нового поколения
В стандартах платформы XML предусматривается возможность использования более общего по сравнению с URL вида идентификаторов
ресурсов – URI (Universal Resource Identifier) [25]. Наряду с возможностью идентификации XML данных по месту их хранения в сети URI
допускает использование их «логических» имен. Привычный для Web 1
способ идентификации с помощью URL, а также абстрактные имена ресурсов URN являются частными случаями URI.
Предусматриваются средства обеспечения безопасности передачи XML
документов. Эту задачу решают стандарты электронной подписи XML
Signature [111] и шифрования XML данных [38, 94].
Комплекс стандартов платформы XML включает также целый ряд
вспомогательных стандартов. Рассмотрим наиболее важные из них.
Стандарт XPath [100, 115, 116] определяет понятие фрагмента XML
документа, используемое в языках XPointer, XSLT, XQuery и в разработке новой версии DOM. В стандарте XML Inclusions (XInclude) [96] представлены модель и синтаксис для описания слияния XML документов.
Стандарт XML Fragment Interchange [95] позволяет описывать контекст
фрагментов XML документа и благодаря этому просматривать и редактировать их вне полного текста документа. К рассматриваемой группе относится также стандарт Canonical XML [30], который определяет метод,
позволяющий устанавливать эквивалентность двух XML документов
с различным синтаксическим представлением. Эта возможность существенна, в частности, для стандарта цифровой подписи [111].
В конце 2001 года, как уже отмечалось, активизировались работы
по созданию стандартов верхнего уровня информационной архитектуры
Web – так называемого «семантического Web». Подробнее об этом говорится в разделе 4.8.
Отметим, наконец, что среди стандартов платформы XML наряду
с общетехнологическими стандартами (стандартами горизонтальной
сферы) имеются стандарты для конкретных областей применения (стандарты вертикальной сферы). К их числу относится созданный W3C математический язык разметки MathML (Mathematical Markup Language)
[58]. Кроме того, некоторые стандарты этой категории предложены различными профессиональными сообществами пользователей или консорциумами, не имеющими отношения к W3C. Сферы применения стандартов платформы XML подробно рассматриваются в разделе 4.9.
Завершая обсуждение состава стандартов платформы XML, следует заметить, что эти стандарты не являются независимыми – между ними существуют различного рода взаимосвязи, которые выражаются либо в концептуальном влиянии спецификаций одного стандарта на другой, либо
в использовании синтаксических конструкций одного языка в другом.
Расширяемость языка и платформы XML
201
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Каковы основные принципы организации платформы XML?
2. В чем заключается разница между языком XML и платформой
XML?
3. Что представляет собой окружение платформы XML?
4. Охарактеризуйте основные функциональные возможности стандартов платформы XML.
5. Опишите приведенную в этом разделе классификацию стандартов
платформы XML и ее окружения.
6. Почему стандарты платформы XML, кроме языка XML, называют
приложениями этого языка?
7. Как называется подъязык языка XML, предназначенный для спецификации определений типов XML документов?
8. Какие XML документы называются правильными?
9. Что такое допустимый XML документ?
10. Кратко опишите назначение основных стандартов платформы
XML.
11. Как идентифицируются информационные ресурсы в среде Web второго поколения?
12. Какие стандарты платформы XML играют структурообразующую
роль в среде информационных ресурсов XML?
13. Какой стандарт платформы XML обеспечивает возможность восприятия HTML страниц браузерами, основанными на стандартах
платформы XML?
14. Какие стандарты платформы XML обеспечивают безопасность передачи XML данных?
15. Какие вспомогательные стандарты входят в состав стандартов платформы XML и ее окружения?
16. Каким образом взаимосвязаны стандарты платформы XML и ее окружения?
4.4. РАСШИРЯЕМОСТЬ ЯЗЫКА И ПЛАТФОРМЫ XML
Принципиально важным свойством языка XML, обеспечивающим новые функциональные возможности среды Web, является его расширяемость.
202
Технологии Web нового поколения
Факторы обеспечения расширяемости. Достижение расширяемости XML основано на двух факторах. Прежде всего он представляет собой язык метауровня, подмножество известного языка SGML [52],
а не конкретный язык, подобный HTML. Благодаря этому XML выполняет функции языка определения данных. Используя его синтаксис,
можно определять различные типы элементов, экземпляры которых образуют содержание конкретных XML документов, и вводить тем самым
адекватный потребностям набор тегов разметки документов. Второй
фактор – это использование пространств имен – именованных множеств символов, используемых в качестве имен типов элементов и атрибутов элементов XML документов. Пространство имен позволяет также
явным или неявным образом ассоциировать нужную семантику с именуемыми элементами документов, их атрибутами и допустимыми для них
значениями.
Таким образом, отдельные пользователи или сообщества пользователей на основе принятых ими соглашений об определении необходимых
для их целей типов элементов XML документов и/или об интерпретации смысла имен, принадлежащих некоторым пространствам имен, могут порождать нужные языки разметки для различных категорий документов с требуемой семантикой тегов разметки.
Поскольку в одном XML документе можно ссылаться на разные пространства имен, допускается использование для его разметки комбинаций различных порожденных XML языков. При этом наличие дубликатов имен в разных пространствах имен не вызывает двусмысленности,
поскольку имена в XML документах квалифицируются идентификаторами пространств имен, из которых они заимствованы. Тем самым обеспечивается их уникальность.
Расширяемость платформы XML. Важно подчеркнуть, что рассмотренные принципы обеспечивают также расширяемость функциональных
возможностей всей платформы XML. Однако для этой цели необходимо достижение консенсуса на уровне консорциума W3C. Основу каждого
дополняющего XML стандарта платформы составляет набор таких типов
элементов XML документов, синтаксис которых может быть определен средствами XML и которые поддерживают требуемые новые функциональные возможности. Помимо этого вводится пространство имен
с зарезервированным именем, включающее имена новых типов элементов XML документов и их атрибутов. Семантика этих типов элементов,
их атрибутов и значений, которые они могут принимать, определяются
в спецификации нового стандарта.
Расширяемость языка и платформы XML
203
Так, например, стандарт XLink [98] определяет синтаксис и семантику специального вида связующих элементов, расширяя тем самым функциональность языка XML возможностью декларации в XML документах
различного рода гиперсвязей между документами и/или их фрагментами.
В самом языке XML концепция гиперссылки не поддерживается.
Важно подчеркнуть, что стандарты платформы XML синтаксически едины. Все дополняющие функциональность XML стандарты используют синтаксис этого языка. Именно поэтому они квалифицируются создателями XML как его приложения. Указанное обстоятельство имеет
существенное значение, поскольку информационные ресурсы, представленные в среде XML с функциональностью, расширенной средствами
тех или иных стандартов платформы, остаются XML документами и могут обрабатываться и транспортироваться в поддерживающей XML среде как «чистые» XML документы.
Терминологическое замечание. Завершая обсуждение данной темы,
следует сделать важное терминологическое замечание. Авторы языка
XML, строго говоря, неправомерно ассоциируют свойство расширяемости с языком XML, отражая это в его названии. XML фактически не
располагает механизмами расширения его функциональности на уровне общности самого языка, которые имеются, например, в ряде языков
программирования и позволяют, в частности, расширять поддерживаемые в них системы типов данных. Пользователю не предоставляются
какие либо механизмы, позволяющие вводить в язык XML новые синтаксические конструкции. Эта возможность доступна только самому
консорциуму W3C. Для этого он должен принять новую версию стандарта языка в соответствии с установленной процедурой.
В случае с XML под расширяемостью языка на самом деле понимается
его способность порождать для разметки отдельных множеств документов необходимые конкретизации типов элементов и их атрибутов, с которыми ассоциируется ряд семантических соглашений об их функциональности. Элементы XML документа конкретных порожденных типов и их
атрибуты могут обладать любой приписанной им семантикой, например
представлять собой структурные единицы содержания документа, обеспечивать гиперсвязи между документами и/или их фрагментами и т.д.
С таким же правом можно было бы говорить о расширяемости средств
определения данных языка SQL, исходя из того, что оператор DEFINE
TABLE позволяет порождать определения конкретных таблиц. Однако такие определения не являются новыми элементами языка SQL. Это
компоненты конкретной схемы базы данных. Точно так же порожденные
204
Технологии Web нового поколения
определения конкретных типов элементов XML документов являются
возможными компонентами DTD, но не языка XML.
Вместе с тем вполне правомерно утверждать о расширяемости функциональности платформы XML. Действительно, как было показано
выше, экземпляры порожденных типов элементов, стандартизованных консорциумом, могут не только являться составной частью содержимого XML документов, но и выполнять вместе с тем какие либо специфические функции, например определять гиперссылки на другие документы
или фрагменты документов, являться компонентами описаний трансформаций XML документов или их схем и т.п.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Как следует трактовать расширяемость языка XML, декларированную разработчиками в его названии?
2. Какими средствами обеспечивается расширяемость XML?
3. Почему язык XML является метаязыком?
4. Что такое пространство имен в стандартах платформы XML?
5. Какую роль играют пространства имен в этих стандартах?
6. Каким образом в XML документах обеспечивается уникальность
имен при использовании нескольких пространств имен?
7. Как осуществляется расширение функциональности платформы
XML?
4.5. ПРЕЕМСТВЕННОСТЬ С ТЕХНОЛОГИЯМИ HTML
За недолгую историю Web 1 в его среде были накоплены огромные информационные ресурсы. Количество HTML страниц видимой части Web
достигло многих миллионов. Утрата возможности доступа к этим информационным сокровищам, конечно же, недопустима. Поэтому необходимым условием технологического переоснащения Web является обеспечение преемственности новых технологий с технологиями HTML,
сохранение доступности ресурсов HTML. Это требование было учтено
при разработке новой технологической платформы Web, основанной на
языке XML.
Используемый подход. Для достижения указанной цели необходимо иметь
возможность интерпретировать HTML страницы как XML документы при
обработке их процессором XML в среде, поддерживающей стандарты основанной на этом языке платформы.
Преемственность с технологиями HTML
205
Решение этой проблемы достигается благодаря следующим факторам.
Языки XML и HTML имеют общую природу, они оба являются порождением стандартного обобщенного языка разметки SGML. Как известно, SGML – это метаязык, и HTML представляет собой довольно
простую его конкретизацию. Что касается XML, то он также является
метаязыком, удобным для реализации подмножеством SGML.
В связи с указанными причинами языки HTML и XML имеют общий
алфавит и много общих синтаксических соглашений.
Наконец, и это самое главное, язык HTML может быть определен как конкретизация XML. Средствами XML можно построить такие определения типа документов DTD, которые будут специфицировать любую допустимую структуру HTML страниц. Если ассоциировать
с HTML страницами такие DTD, то они будут корректно интерпретироваться в среде, поддерживающей XML, как XML документы.
Стандарт XHTML. Именно эту задачу решает уже упоминавшийся
стандарт XHTML [92]. В нем предложены спецификации DTD для трех
уровней языка HTML, отличающихся друг от друга степенью полноты использования его функциональных возможностей. Стандарт ориентирован
на версию HTML 4.01 – действующую версию стандарта языка HTML.
В консорциуме W3C ведется дальнейшая работа по развитию стандарта XHTML с целью совершенствования технологичности его использования. Однако заложенный в его основу принцип обеспечения преемственности с языком HTML остается неизменным.
В заключение нужно заметить, что для решения рассматриваемой
проблемы преемственности в состав платформы XML включен также
стандарт XML Base [93]. Функции определенной в нем спецификации
аналогичны функции тега Base в языке HTML. Они позволяют поддерживать средствами стандарта XLink отдельные виды гиперссылок, которые используются в языке HTML.
Таким образом, ввод в действие платформы XML в Web не грозит
утратой накопленных ранее в этой среде информационных ресурсов.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Почему проблема доступности информационных ресурсов HTML
в среде, основанной на платформе XML, является актуальной?
2. Как соотносятся языки HTML и XML?
3. Каким образом может быть обеспечен доступ к ресурсам HTML
в Web нового поколения?
4. Какую задачу решает стандарт XHTML?
206
Технологии Web нового поколения
4.6. МОДЕЛИРОВАНИЕ ДАННЫХ XML
Техника моделирования данных является таким же необходимым инструментом управления XML данными, как и данными в традиционных базах
данных. Поэтому понятие модели данных по необходимости фигурирует
в документации стандартов XML. Нужно, однако, заметить, что авторы
стандартов XML употребляют «старомодную» трактовку понятия модели
данных как структуры конкретного XML документа, а не как инструмента моделирования таких информационных ресурсов [8, 22]. Одно из следствий такого подхода состоит в том, что остается в стороне вопрос о стандартизации операционных возможностей средств управления XML данными.
Общая оценка состояния. Хотя понятие модели данных упоминалось
в прошлые годы в спецификациях ряда стандартов платформы XML,
проблемы моделирования данных не были здесь основательно проработаны. Единой функционально полной, охватывающей как структурные,
так и операционные возможности, специфицированной в явном виде модели данных, на которой бы базировались все стандарты платформы, не
существует до сих пор и похоже, что в ближайшее время она вряд ли появится. Никакой деятельности в этом направлении в консорциуме пока
не ведется. Вместе с тем в ряде разрабатываемых стандартов, например
в стандарте языка запросов XQuery, вновь появляются различные вариации моделей данных.
Однако, с нашей точки зрения, единая модель данных XML была
бы чрезвычайно полезна. Только на ее основе можно добиться отсутствия функциональной избыточности, функционального единства стандартов платформы наряду с их синтаксическим единством, обеспечиваемым языком XML.
В настоящее время ситуация с моделированием данных в рассматриваемой области такова. Вопросы моделирования данных обсуждаются лишь автономно в рамках спецификаций некоторых стандартов. При
этом авторы имеют в виду только структурные аспекты моделирования
данных. Исключение составляет стандарт DOM [40], определяющий API
для репозиториев XML и HTML документов. Заметим, что хотя DOM
может применяться к XML данным, он не является стандартом платформы XML (приложением XML), а относится к ее окружению.
Такая ситуация в моделировании XML данных, похоже, начинает изменяться в связи с активизацией работ над языком запросов платформы.
Возможно, причина заключается в той активной роли, которую играет
в коллективе разработчиков Дон Чамберлин (Don Chamberlin, компания
IBM), один из создателей реляционного языка запросов SQL.
Моделирование данных XML
207
В рамках проекта языка запросов XQuery опубликовано несколько документов, среди которых есть документы [115–117], посвященные спецификации модели данных. Судя по наименованиям этих работ, авторы
полагают, вероятно, что к модели данных имеет отношение лишь первый
из этих документов, с чем нельзя согласиться.
Используемые подходы. В стандартах платформы XML использовано
два подхода к моделированию данных.
Первый из них – это вполне естественный графовый подход, учитывающий иерархию данных, которая отражает организацию XML документов
в терминах их элементов. В самом языке XML иерархические связи между вершинами дерева, отображающими элементы XML документа, никаким образом не типизируются. В других стандартах, например в XPath,
предусматриваются различные виды таких связей. Здесь важно еще раз
подчеркнуть, что в рамках рассматриваемого подхода не определяются
какие либо операционные аспекты моделирования данных.
Второй подход обеспечивает объектный взгляд на XML документы.
При этом традиционным для объектного подхода образом предусматриваются возможности выполнения различных операций манипулирования данными в терминах такого представления. Указанный подход воплощен, в частности, в стандарте объектной модели документов
DOM (Document Object Model), которая применяется в качестве основы интерфейсов прикладного программирования во многих поставляемых XML ориентированных СУБД (см. раздел 4.10) и в различных репозиториях XML документов.
Многоуровневая информационная архитектура Web. Еще один важный момент, касающийся моделирования данных XML, связан с многоуровневостью информационной архитектуры Web. Модельный инструментарий платформы XML в соответствии с этим фактором должен
включать модели данных разных уровней архитектуры. Назовем эти архитектурные уровни условно физическим, логическим и семантическим.
Модель данных физического уровня определяет допустимые способы
хранения XML данных в среде Web, то есть в терминах файлов различных допустимых форматов и их идентификаторов (URI). Функции языка определения данных физического уровня выполняет сам язык XML.
Хранимый документ описывается в нем как корень в иерархической
структуре сущностей, представляющих физическую структуру данного
XML документа.
Сущности – это хранимые единицы данных, представляющие полный документ или его компоненты. Каждая сущность имеет некоторое содержание и идентифицируется ее именем. Содержание сущности может
208
Технологии Web нового поколения
быть блоком текста, двоичным (например, в случае аудио или графических данных) или символьным значением. Сущность может ссылаться на
другие сущности, и в таком случае их содержание подставляется при обработке документа вместо ссылок.
Различаются внутренние и внешние сущности. Содержание внутренней сущности хранится в самой ее декларации. Внутренние сущности могут содержать только текстовую или символьную информацию.
Содержание внешней сущности хранится вне XML документа, ссылающегося на нее.
Модели данных логического уровня позволяют определять структурную разметку содержания XML документов, некоторые возможности
спецификации ограничений целостности, а также допустимые операции
над компонентами структуры документов. Функцию определения данных
в моделях этого уровня выполняют стандарты XML, XML Schema, NG
Relax (альтернатива стандарту XML Schema, предлагающая значительно упрощенную версию языка для спецификации схемы), а также объектный стандарт DOM, который, как уже указывалось, предусматривает операционную функциональность. К этой же группе следует отнести
стандарты XPath, XSLT и XQuery, также включающие ряд средств для
определения данных. Стандарт XQuery наряду с этим предусматривает
и операционные возможности.
Наконец, модели семантического уровня (он является многослойным в архитектуре Web – см. раздел 4.8) служат для определения смысла содержания XML документов в контексте конкретной предметной
области и выполнения операций, а также для рассуждений об этом содержании и осуществления логического вывода. Модели данных этого
уровня определяются стандартами RDF, RDFS, разрабатываемым стандартом языка определения онтологий OWL (Ontology Web Language)
и стандартами языков логического вывода, которые еще предстоит создать. Заметим, что ранее в документах W3C использовалась аббревиатура WOL, которая расшифровывалась как Web Ontology Language,
и эта расшифровка сохраняется пока в отдельных документах, хотя аббревиатура названия языка изменилась.
Моделирование слабоструктурированных данных Web. Заслуживает внимания еще один важный аспект проблемы моделирования данных
в среде Web, основанного на платформе XML.
Язык XML унаследовал от традиционных технологий HTML в простейшем случае его применения, когда для XML документа не задано DTD, возможности представления слабоструктурированных данных.
Напомним, что слабоструктурированными называют данные, не име-
Моделирование данных XML
209
ющие регулярной структуры, свойственной наборам их экземпляров.
Обычно при этом отсутствует какая либо определенная система типов.
Но если это не так, и для таких данных определена отчужденная от них
схема, то, в отличие от систем баз данных, она имеет описывающий, а не
обязательный (предписывающий) характер.
В простейшем случае XML документы являются самоописываемыми.
Это означает, что метаданные, описывающие их свойства, встроены в сами
эти документы. Некоторые их структурные свойства описываются средствами разметки. Однако для выполнения связанных с XML документами
различного рода операций управления данными необходимо извлекать
сведения об этих свойствах из содержания документов. Этой проблеме
посвящено большое количество публикаций (см., например, [49, 51]).
От слабоструктурированных данных к структурированным. Как известно, определенные возможности структурирования XML данных обеспечиваются спецификациями DTD, которые фактически играют роль схемы
для множества XML документов, имеющих описанную в этой спецификации логическую структуру. Однако довольно бедная система типов значений элементов и атрибутов элементов в языке XML, а значит, и в DTD,
представляемых средствами предусмотренного для этих целей подъязыка XML, не дает возможности достаточно детально описывать структуру таких данных.
Принятый консорциумом W3C в мае 2001 года стандарт XML Schema
решает эту задачу и позволяет формировать коллекции структурированных XML данных. Благодаря этому открываются новые возможности
в области баз данных XML, упрощается решение некоторых проблем интеграции данных и др.
Таким образом, стандарты платформы XML обеспечивают теперь
представление не только слабоструктурированных, но и структурированных данных.
Вопросы моделирования данных в стандартах платформы XML детально исследуются в работе [14].
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Как трактуется понятие модели данных в спецификациях стандартов
платформы XML? Почему такая трактовка ущербна?
2. Существует ли единая модель данных для стандартов платформы
XML?
3. Какие перемены в подходе к моделированию данных происходят
в разработках стандартов платформы XML и с чем они связаны?
210
Технологии Web нового поколения
4. Какие подходы к моделированию XML данных воплощены в стандартах платформы XML и ее окружения?
5. Каково назначение стандарта DOM?
6. Каким образом в стандарте XML воплощен принцип многоуровневого представления данных, один из ключевых принципов технологий баз данных?
7. Как моделируются XML данные на физическом уровне информационной архитектуры Web 2?
8. Каким образом моделируются XML данные на логическом уровне?
9. Какие стандарты платформы XML используются для моделирования XML данных на семантическом уровне?
10. Почему XML документы являются самоописываемыми?
11. В каких случаях XML данные являются слабоструктурированными,
а в каких структурированными?
4.7. МЕТАДАННЫЕ И СЕМАНТИКА XML
ДОКУМЕНТОВ
Одной из важнейших целей создания платформы XML является привнесение в среду Web метаданных, описывающих свойства поддерживаемых в ней информационных ресурсов.
Назначение метаданных. Прежде всего метаданные позволяют описывать структуры XML документов и их смыслового содержания (семантики). Благодаря этому обеспечиваются возможности автоматической
проверки правильности структуры XML документов и снижения уровня информационного шума при поиске информационных ресурсов в Web
с помощью различных поисковых машин.
Явное описание семантики XML документов необходимо также для
разнообразных продвинутых приложений Web. В частности, становится
возможным создание принципиально новых приложений высокого уровня, основанных на интеграции информационных технологий и обеспечивающих интеграцию неоднородных информационных ресурсов. Это направление активно развивается во многих научных центрах разных стран
и связано с созданием информационных систем нового класса, функционирующих в среде Web и называемых электронными библиотеками
[2, 16, 17].
Средства представления метаданных. В стандартах платформы XML
предусмотрено несколько средств описания и представления метаданных. Как уже указывалось, для определения логической структуры
Метаданные и семантика XML документов
211
XML документов в языке XML имеются специальные синтаксические
конструкции. Представленные их средствами метаданные называются
определением типа документов (Document Type Definition, DTD).
В DTD XML документы данного типа описываются как иерархические структуры, состоящие из элементов документов. Эти элементы могут быть различных типов, описанных в DTD. Спецификация DTD может быть встроена в XML документ или храниться где либо в Web.
В последнем случае в документе дается на него ссылка. Для более утонченного описания структуры XML документов могут использоваться средства стандарта XML Schema [108–110]. По сравнению с DTD,
этот стандарт предоставляет дополнительные возможности для описания XML документов, в частности более развитую систему типов значений элементов и атрибутов элементов.
Определение семантики XML документов. Семантика XML документа
может быть определена явным образом, формализованным в различной
степени, или неявно (по умолчанию).
Простейший способ определения семантики XML документа – поэлементный. Он сводится к описанию семантики составляющих документ логических элементов, их атрибутов, а также возможных значений
элементов и атрибутов элементов. Для этих целей могут использоваться пространства имен. Механизм пространств имен способен, как уже
отмечалось, описывать семантику элементов XML документов различных типов, их атрибутов, а также значений, принимаемых элементами
документов и их атрибутами, явным или неявным образом. Такое определение чаще всего является неформализованным. Нужно заметить, однако, что концепция пространства имен предоставляет «точку подключения» определения семантики на формальных языках.
В последнее время начали создаваться сервисы регистрации и поддержки DTD и пространств имен, в них используемых, в интересах различных сообществ разработчиков и пользователей. Зарегистрированные
DTD и пространства имен становятся своего рода стандартом для сообщества пользователей XML документов определяемых ими типов.
В качестве одного из таких согласованных пространств имен широко
используется набор элементов метаданных Дублинского ядра (Dublin
Core, DC). Его поддержкой и развитием занимается учрежденная для
этих целей орган – Dublin Core Metadata Initiative (DCMI). Текущая
версия спецификаций Дублинского ядра – DC 1.1 [41] – была принята в июле 1999 года. Она включает 15 элементов метаданных. DCMI
опубликовал также спецификации рекомендованных квалификаторов
212
Технологии Web нового поколения
[42], уточняющих смысл элементов метаданных DC и интерпретацию их
значений. Следует отметить, что на основе DC 1.1 разработан официальный американский национальный стандарт ANSI/NISO Z39.85 [24].
Один из формализованных способов явного определения семантики
XML документов обеспечивается средствами состоящего из двух частей
стандарта W3C – Resource Definition Framework (RDF) [68, 69]. Такое определение семантики XML документов называется RDF спецификацией
(см. раздел 4.8).
Дальнейшие работы консорциума по развитию средств представления
метаданных, определяющих семантику XML документов, проводятся
в рамках деятельности по созданию семантического Web (см. раздел 4.8).
Более подробные сведения о различных подходах к представлению
метаданных и их приложениях можно найти в обзоре [3].
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Для чего предназначены метаданные в Web, основанном на платформе XML?
2. Какими средствами описываются метаданные, определяющие логическую структуру XML документов?
3. Какие возможности определения семантики XML документов обеспечиваются в стандартах платформы XML?
4. Чем отличается подход, при котором семантика XML документов
определяется с помощью пространств имен, от определения с помощью более формализованных средств?
5. Что такое Дублинское ядро?
4.8. СЕМАНТИЧЕСКИЙ WEB
Созревший еще в середине 90 х годов замысел создателей Web, направленный на радикальные преобразования этой весьма значимой теперь для
жизнедеятельности общества системы и превращение ее в систему семантического уровня, начал активно реализовываться в последнее время.
Поскольку Web первого поколения строился с ориентацией на обработку содержащейся в нем информации человеком, технологии Web нового поколения должны обеспечивать возможности автоматизированной
интерпретации и обработки информации, семантической интероперабельности информационных ресурсов [26, 27]. В этих условиях уже
недостаточно располагать синтаксическим описанием XML документов
Семантический Web
213
с помощью DTD или XML Schema. Например, при обмене документами, описанными средствами этих языков, обе участвующие в нем стороны должны одинаковым образом понимать смысл используемых в документах типов элементов и атрибутов элементов, а также содержащихся
в них гиперссылок, о чем заранее должны быть приняты соответствующие договоренности, описанные вербальным или иным образом.
Средства формального описания семантики XML данных. Необходимость решения указанных задач вызвала потребность в таких средствах формального описания семантики XML данных, которые бы позволяли анализировать и обрабатывать их с помощью программного
обеспечения. При таком подходе Web нового поколения должен иметь
многоуровневую информационную архитектуру, о которой шла речь
в разделе 4.6.
Первым шагом консорциума W3C в рассматриваемом направлении
было создание стандартов RDF (Resource Definition Framework) [68]
и RDFS (RDF Schema) [69].
Описание семантики информационных ресурсов XML в терминах выразительных средств стандарта RDF, называемое RDF спецификацией,
аналогично по своим возможностям концептуальной схеме в системах
баз данных и приблизительно эквивалентно ER модели.
В RDF спецификации объявляется определенное множество ресурсов, для каждого из которых определяются пары свойство значение.
Информационные ресурсы в RDF – это ресурсы Web, идентифицируемые уникальным образом с помощью их URI. Они могут также представлять собой коллекции других информационных ресурсов или литералов,
называемые контейнерами. Допускаются контейнеры типа мультимножества, последовательности и альтернативы. Значения свойств задаются
литерально либо могут быть другими ресурсами, которые представляются, в свою очередь, их свойствами. Таким образом, свойства могут определять и связи между ресурсами.
Онтологии. Описание семантики свойств в RDF называется RDF схемой.
По сути, RDF схема должна определять онтологию предметной области.
Онтологии получили в последние годы широкое распространение в решении проблем представления знаний и инженерии знаний, семантической интеграции информационных ресурсов, информационного поиска и т.д.
Под онтологией понимается «спецификация концептуализации предметной области» [50]. Такая спецификация представляет собой своего рода
словарь понятий предметной области и совокупность явным образом выраженных предположений относительно смысла этих понятий. Уровень
структурированности описания онтологии может изменяться в широком
214
Технологии Web нового поколения
диапазоне. В упрощенных случаях онтология представляется как иерархия понятий, связанных отношениями некоторых определенных видов.
Такие определения онтологий используются в различных классификациях. Несколько большие возможности обеспечивают схемы метаданных, например уже упоминавшееся Дублинское ядро [41]. Развитые
определения онтологий формализуются средствами языков логики
первого порядка. Они допускают возможности логического вывода.
Возвращаясь к стандарту RDF, следует отметить, что в его спецификации не регламентируется способ задания схемы для RDF спецификации.
Достаточно лишь представить ее как некоторый ресурс Web и использовать URI этого ресурса для ссылки на нее в RDF спецификации. В документации стандарта RDF рассматривается, например, вариант использования для этих целей набора элементов метаданных Дублинского ядра.
Один из более развитых способов задания схемы предлагается в проекте второй части стандарта RDF, называемой RDF Schema (RDFS) [69]. Этот
способ основан на объектной модели, в которой используются концепции
классов, свойств и ограничений, ассоциируемых с классами и свойствами,
поддерживается иерархическое отношение «класс подкласс».
Важно отметить два обстоятельства. Во первых, несмотря на то что
стандарт RDF создавался с ориентацией на описание информационных
ресурсов XML, он не зависит от XML и может применяться в иных информационных средах. Во вторых, для приложений, нуждающихся в более
формальном описании семантики данных, схема в RDF спецификациях
является той открытой точкой, которая позволяет интегрировать
в среду XML онтологические спецификации предметной области или
иные описания семантических свойств информационных ресурсов, обладающие более формализованными функциональными возможностями представления знаний.
Языки описания онтологий. Создание развитого языка описания
онтологий OWL (Ontology Web Language) стало в последнее время одним из наиболее важных звеньев работ по семантическому Web, проводимых консорциумом W3C. Имеется в виду язык, позволяющий описывать структурированные онтологии, то есть онтологии, которые доступны
для машинной обработки.
В конце 2001 года для реализации этого проекта в составе W3C была
учреждена специальная рабочая группа – Web Ontology Working Group
[82]. Разработка OWL начинается не с чистого листа. Она основана на результатах, уже полученных к этому времени несколькими авторитетными
исследовательскими коллективами, и поэтому ее планируется осуществить в довольно короткие сроки.
Семантический Web
215
За последние годы выполнено большое количество теоретических
и прикладных исследовательских проектов, целью которых было создание языков описания онтологий. На разработку стандарта OWL непосредственное влияние оказывают проекты SHOE, OIL и DAML.
Проект SHOE (Simple HTML Ontology Extensions) [73] выполнялся в Мэрилендском университете (Maryland University, College Park).
Был разработан ориентированный на Web язык представления знаний, построенный как расширение HTML, включающее в него дополнительные теги разметки для встраивания онтологий и для аннотирования
HTML страниц. Дополнительно введенные в HTML страницы спецификации могут применяться пользователем Web при навигации с помощью браузера, поисковыми машинами Web, а также для запросов информационных ресурсов.
Другой из названных проектов – OIL (Ontology Inference Layer, или
Ontology Interchange Language) [86] – финансируется Европейской комиссией (EC). Его целью является создание формального языка описания семантики информационных ресурсов и логического вывода для
Web. Этот язык сочетает в себе возможности фреймовых систем представления знаний и логик описаний (см. далее). Он опирается на стандарты XML, XML Schema, RDF и RDFS.
Наконец, проект DAML (DARPA Agent Markup Language) [36] выполняется по инициативе и при финансовой поддержке DARPA (Defense Advanced
Research Projects Agency) с 2000 года. Его целью также является создание
языка для описания семантики информационных ресурсов Web, поддержки
логического вывода в этой среде и необходимого для этого инструментария.
В состав исполнителей проекта наряду со специально созданной исследовательской группой входят участники ряда ранних проектов, в том числе SHOE
и OIL. Первая версия разрабатываемого языка, названная DAML ONT,
была создана в конце 2000 года. Она представляла собой некое «онтологическое ядро», являющееся расширением стандарта RDFS. Никаких средств
вывода этот язык не обеспечивает. Весной 2001 года была объявлена новая
версия DAML+OIL [37], в которой, как видно из ее названия, в язык были
привнесены возможности, заимствованные из проекта OIL, в частности
возможности логического вывода. Именно этот язык рассматривается Web
Ontology Working Group как прототип стандарта языка описания онтологий
W3C. Естественно, вместе с языком OIL планируемый стандарт заимствует
и используемый в нем аппарат логик описаний (Description Logics, см.
ниже).
Таким образом, для создания стандарта W3C OWL действительно имеется существенный задел. В настоящее время рабочая группа по языку
216
Технологии Web нового поколения
описания онтологий для Web уже опубликовала требования к языку OWL
[67] и спецификации OWL [64, 65].
Логики описаний. Это языки представления знаний, в которых
описывается множество концептов – классов объектов (унарных отношений) и ролей – бинарных отношений между ними [56]. Допускаются примитивные и сложные концепты и роли. Сложные концепты
и роли формируются из примитивных с помощью множества конструкторов. В качестве конструкторов могут использоваться, например, операторы конъюнкции, дизъюнкции, дополнения, числового неравенства, кванторы и т.п. Логики описаний являются различными
подмножествами логики первого порядка. Различия между ними связаны с разнообразием используемых множеств конструкторов. Рассматриваемый формальный аппарат позволяет естественным образом описывать семантические сети, фреймовые, объектно ориентированные
и основанные на другой технике представления знаний.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Что такое семантический Web?
2. В чем заключаются необходимые условия создания семантического
Web?
3. Какие средства формального описания семантики XML данных
предлагает использовать консорциум W3C?
4. Опишите кратко возможности описания семантики XML данных
с помощью стандартов RDF и RDFS.
5. Какая связь существует между стандартами RDF и RDFS?
6. Что представляет собой онтология предметной области?
7. Какие возможности описания онтологий предусмотрены в стандартах платформы XML?
8. Какой проект консорциума W3C направлен на создание языка описания онтологий для Web?
9. Какие разработки послужили основой этого проекта?
10. Что такое логика описаний?
4.9. СФЕРЫ ПРИМЕНЕНИЯ СТАНДАРТОВ XML
Несмотря на то что язык XML и базирующийся на нем комплекс стандартов создавались консорциумом W3C прежде всего как средства
Сферы применения стандартов XML
217
представления информационных ресурсов Web 2, они тем не менее нашли широкое применение в различных областях информационных технологий. Многие из них уже приобрели статус стандартов де факто.
Причины активного применения стандартов XML. Быстрое признание стандартов XML широкими кругами специалистов было обусловлено не только назревшей необходимостью радикальных перемен в Web, но
и развитыми возможностями средств, которыми располагает платформа XML для представления информационных ресурсов, адаптируемостью этих средств к условиям применения. Второй фактор заключается
в возможности метаописания информационных ресурсов с нужной степенью структурированности с использованием предоставляемых для
этих целей средств, а также в открытом характере стандартов, позволяющем интегрировать средства пользователя в определяемую ими среду. Наконец, важную роль играют возможности XML как языка, поддерживаемого в глобальной коммуникационной среде Web. Использование
XML в качестве языка посредника для обмена сообщениями через Web
позволяет обеспечить интероперабельное взаимодействие различного
рода систем.
Задачи, решение которых обеспечивает платформа XML. Перечислим основные задачи, решение которых обеспечивает платформа XML:
Œ создание Web второго поколения;
Œ выполнение функций языка посредника при обмене данными между
программными системами, реализующими, возможно, различные технологии, и обеспечение тем самым их интероперабельности;
Œ интеграция неоднородных информационных ресурсов, различных технологий управления данными и приложений;
Œ создание новой ветви технологий баз данных, называемых XML ориентированными базами данных;
Œ наряду с использованием технологий XML ориентированных баз
данных по их прямому назначению – для управления репозиториями XML документов – можно ожидать, что они найдут применение
и в решении проблемы «скрытого» Web; поскольку XML документы
на Web сервере и доступные через него XML ориентированные базы
данных основаны на единой модели данных, появляется возможность
«открыть» некоторые «скрытые» информационные ресурсы баз данных для механизмов таких Web серверов;
Œ обеспечение инструментария для новых сфер применения Web, таких
как электронный бизнес, электронные библиотеки, электронные издания и т.п.
218
Технологии Web нового поколения
Области применений стандартов платформы XML постоянно расширяются и охватывают ряд технологий и стандартов как горизонтальной,
так и вертикальной сферы.
Применения стандартов XML в горизонтальной сфере. В горизонтальной сфере (технологии, независимые от конкретной области приложений) стандарт XML нашел применение в спецификациях ряда стандартов консорциумов Object Management Group (OMG), Meta Data
Coalition (MDC) и Workflow Management Coalition (WfMC), в стандартах ISO/IEC и др.
В некоторых стандартах горизонтальной сферы предусматривается использование языка XML как языка посредника для обмена информацией между различного рода системами с помощью Web. В качестве одного из примеров можно назвать созданный консорциумом OMG стандарт
XMI (XML Metadata Interchange) [99] обменного формата метаданных
для инструментов CASE, поддерживающих язык UML.
К этой же категории относится стандарт OIM (Open Information
Model) [62–63] консорциума Meta Data Coalition, который определяет представление метаданных хранилищ данных и инструментальных
средств для разработки приложений, основанных на различных технологиях. Нужно назвать также созданный OMG на базе OIM стандарт CWM
(Common Warehouse Metamodel) [33], определяющий формат представления и обмена метаданными в хранилищах данных.
Планируется использовать XML для кодирования сообщений, которыми обмениваются клиент и сервер в известном стандарте ISO/IEC
RDA/SQL (Remote Database Access for SQL) [54] удаленного доступа
к системам баз данных SQL.
В разработанном консорциумом Workflow Management Coalition
(WfMC) стандарте эталонной модели потоков работ [88] определяются
спецификации XML DTD, позволяющие осуществлять обмен сообщениями на языке XML между программными средствами потоков работ для
поддержки их интероперабельности.
В связи с успешным продвижением платформы XML начались работы над новым, ранее не планировавшимся компонентом SQL/XML
[44–45, 53] следующей версии стандарта языка SQL – SQL:200n [1].
По замыслу разработчиков он будет определять возможности совместного использования ресурсов SQL и XML. В частности, будет определяться представление схем и данных SQL в форме XML документов
и наоборот.
Можно упомянуть также высказывавшуюся в кругах консорциума
ODMG (Object Data Management Group) идею о целесообразности
Сферы применения стандартов XML
219
использования XML в качестве языка обмена объектами в рамках
разработанного консорциумом стандарта объектных данных взамен определенного в стандарте ODMG 3.0 языка OIF (Object Interchange Format).
Важной сферой применения стандартов XML становится формирующаяся в последние годы новая ветвь технологий баз данных –
XML ориентированные базы данных. В таких системах XML используется в качестве языка определения данных. Языками запросов служат
XPath, XSLT и XQL – один из ранних претендентов на роль стандарта
языка запросов для платформы XML. Активно ведутся разработки спецификаций стандарта языка запросов XQuery. Имеются программные
продукты этой категории, которые обеспечивают интерфейс прикладного программирования, основанный на объектной модели стандарта
DOM.
Более подробно XML ориентированные базы данных обсуждаются в разделе 4.10.
Применения стандартов XML в вертикальной сфере. Как уже отмечалось, наряду с активным применением стандартов XML в горизонтальной сфере они широко используются и в вертикальной сфере
(конкретные области приложений – электронный бизнес, управление
производством, транспорт и т.п.). Такие возможности предусматриваются, в частности, в технологиях и стандартах консорциумов OASIS, OMG
и OGC (Open GIS Consortia), компаний IBM, Microsoft, Ariba.
В настоящее время уже создано и продолжает пополняться многочисленная коллекция конкретизаций языка XML для разметки документов в различных предметных областях. Чаще всего это DTD, принятые
в качестве согласованного формата представления XML документов различными заинтересованными профессиональными сообществами, компаниями или консорциумами. К их числу относятся химический язык разметки CML (Chemical Markup Language) [39], географический язык разметки
GML (Geography Markup Language) консорциума Open GIS [48], язык разметки для описаний астрономических инструментов AIML (Astronomical
Instrument Markup Language) [34], языки разметки для истории, библиографии, издательского дела, язык разметки для беспроводных коммуникаций WML (Wireless Markup Language) [87] и многие другие.
К стандартам этой группы относится также созданный W3C математический язык разметки MathML (Mathematical Markup Language) [58].
В последнее время одной из центральных областей применения стандартов XML в вертикальной сфере стал электронный бизнес, где рядом
компаний и консорциумов с использованием XML создано для этой области приложений несколько языковых спецификаций и технологий.
220
Технологии Web нового поколения
Компания Ariba предложила спецификации cXML (Commerce XML)
[35] языка разметки документов и протокол выполнения транзакций
для электронной коммерции. На основе XML компании Commerce One
и SAP создали для модели электронного бизнеса B2B библиотеку стандартных бизнес документов и их компонентов xCBL (XML Common
Business Library) [90], обеспечивающую интероперабельность приложений. Компании IBM, Ariba и Microsoft инициировали проект UDDI
(Universal Description, Discovery and Integration) [80], цель которого –
создание открытой, независимой от платформ среды, обеспечивающей
средства описания бизнес сервисов вида B2B, их обнаружения в этой
среде и интеграции. Выдвинутая компанией Microsoft инициатива BizTalk
[59] направлена на использование стандартов XML для интеграции корпоративных приложений и обмена документами в области электронного
бизнеса B2B внутри компаний и с внешними их партнерами.
Активную деятельность по продвижению стандартов XML в практику электронного бизнеса ведет консорциум OASIS (Organization for the
Advancement of Structured Information Standards). Крупной международной инициативой в этой области стал совместный проект ebXML [43]
консорциума OASIS и Центра Объединенных наций по содействию торговле и электронному бизнесу UN/CEFACT (United Nations Centre for
Trade Facilitation and Electronic Business). Цель этого проекта состоит
в создании модульного набора основанных на XML спецификаций глобальной инфраструктуры, которая бы позволяла различным компаниям
независимо от их масштабов и географического положения включаться в
процессы электронного бизнеса B2B и B2С с помощью Web.
В конце 2001 года консорциум OASIS объявил новый проект UBL
(OASIS Universal Business Language) [78–79]. Задача этого проекта состоит в разработке современной среды интероперабельности приложений электронного бизнеса B2B на основе учета опыта ранних технологий
электронного обмена данными EDI (Electronic Data Interchange), а также
проектов глобальной инфраструктуры электронного бизнеса ebXML, библиотеки стандартных бизнес документов xCBL и др. Будет определена унифицированная библиотека форматов бизнес документов для различных
видов электронного бизнеса, компонентов таких документов, пользовательских профилей, позволяющих задавать некоторые их параметры, и т.д.
Стандартизованные средства такой библиотеки позволят легко конструировать информационные ресурсы конкретных систем электронного бизнеса и создавать тиражируемые программные продукты для их обработки.
Большое значение для развития приложений стандартов XML имеет
сотрудничество консорциума OASIS с подкомитетом SC34 совместного
XML ориентированные базы данных
221
технического комитета JTC 1 международной организации по стандартизации ISO и международной электротехнической комиссии IEC.
В результате работы этих организаций должен быть создан официальный
международный стандарт основанного на XML языка описания и обработки документов для электронного бизнеса.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Какие основные задачи призвана решать платформа XML?
2. Назовите наиболее важные применения стандартов XML в горизонтальной сфере.
3. Каким образом стандарт XML обеспечивает интероперабельность
систем, основанных на различных технологиях?
4. В каких областях вертикальной сферы нашли применение стандарты XML?
5. Какие стандарты платформы XML и ее окружения применяются
в технологиях баз данных?
6. Приведите примеры применения стандартов XML в электронном
бизнесе.
7. Какие цели преследует проект UBL консорциума OASIS?
4.10. XML
ОРИЕНТИРОВАННЫЕ БАЗЫ ДАННЫХ
Как уже отмечалось, в конце 90 х годов началось интенсивное развитие
новой технологической платформы Web, основанной на языке разметки
XML. Быстрыми темпами расширялась сфера ее практического использования. Усилиями разработчиков многих технологий как горизонтальной,
так и вертикальной сферы была обеспечена интероперабельность их с этой
платформой. Все это привело к быстрому наращиванию объема разнообразных информационных ресурсов XML – XML документов, составляющих их данных и метаданных, поддерживаемых не только в среде Web, но
и вне нее. В связи с этим возникла потребность в эффективных инструментальных средствах и технологиях управления такими информационными ресурсами.
Вполне естественно, что для этих целей стали применяться прежде всего
реляционные СУБД. Многочисленные публикации посвящены разработке
и исследованиям эффективных методов поддержки XML данных средствами таких систем, в частности методов отображения XML данных в среду реляционных баз данных. На основе реляционных СУБД разрабатываются
222
Технологии Web нового поколения
реализации систем баз данных для различных практических применений
XML данных. Вместе с тем в области баз данных началось формирование новых технологий, учитывающих специфические свойства информационных ресурсов XML. Ведутся разработки новых инструментальных средств управления данными, основанных на стандартах платформы
XML и ее окружения.
Web и базы данных. Тесная связь Web с традиционными технологиями баз данных сложилась еще на ранних этапах его развития. В настоящее время среда Web обеспечивает теледоступ к многочисленным системам баз данных разнообразного назначения (прейскуранты электронных
магазинов, научные и экспериментальные данные, электронные каталоги библиотек и т.д.), составляющим значительную долю информационных ресурсов «скрытого Web». При этом, однако, не обеспечивается
интеграция информационных ресурсов Web сайтов и баз данных. Пользователю недоступны сведения о содержании и организации таких баз
данных. Он может выполнять только регламентированные запросы, задавая их параметры с помощью HTML форм, которые представлены на
интерфейсных страницах соответствующих Web сайтов. Система базы
данных выступает в таком случае по отношению к Web (и к пользователю) как «черный ящик».
Важное значение имеет при этом различие парадигм представления
информационных ресурсов Web и баз данных. Ресурсы баз данных представляются средствами реляционной модели данных, а для ресурсов Web
используется HTML представление. В связи с этим возникает необходимость в поддержке отображений этих представлений. Действительно, сначала запрос пользователя должен быть отображен в язык SQL.
Далее он передается на обработку реляционной СУБД. На основе полученных результатов должна осуществляться динамическая генерация
HTML страниц, которые возвращаются пользователю для просмотра
с помощью браузера.
Технологии баз данных оказывали значительное влияние на развитие технологической платформы Web нового поколения, основанной на
языке XML, уже начиная с первых шагов ее формирования. Стремление
к обеспечению полноценных возможностей управления информационными
ресурсами, поддерживаемыми в этой среде, объективно привело к целесообразности использования подходов и принципов, которые на протяжении
десятилетий прошли испытание временем в технологиях баз данных. Об
этом свидетельствует тот факт, что важное место в лексиконе спецификаций стандартов платформы XML и ее окружения, а также основанных
на них технологий занимают такие ключевые понятия, заимствованные
XML ориентированные базы данных
223
из области баз данных, как многоуровневое представление данных, модель данных, метаданные, схема, ограничение целостности данных, язык
запросов, интерфейс прикладного программирования. Поэтому для создания XML ориентированных систем баз данных была подготовлена
благодатная почва.
XML ориентированные системы баз данных начали активно разрабатываться в конце 90 х годов. Появились программные продукты –
XML ориентированные СУБД. Большинство таких СУБД предназначено для управления коллекциями отдельных, независимых друг от
друга XML документов. Гиперссылки между документами, для определения которых служат языки XLink и XPointer, во внимание не принимаются. Имеются, конечно, и исключения – СУБД, поддерживающие работу с частными случаями гиперссылок.
Особенности баз данных XML и XML ориентированных СУБД. Рассмотрим кратко особенности баз данных и СУБД, основанных на технологиях XML.
Прежде всего следует отметить, что базы данных XML требуют более
жесткого централизованного администрирования данными в отличие от
демократичной и открытой для публикации ресурсов среды Web, где возможно только локальное (в рамках отдельных сайтов) администрирование информационными ресурсами.
Новый вид баз данных позволяет решить проблему несоответствия
представлений информационных ресурсов Web и ресурсов баз данных,
поддерживаемых в его среде. Можно ожидать, что благодаря этому будут развиваться подходы к интеграции информационных ресурсов
Web сайтов и доступных с их помощью баз данных. Тем самым приоткроется дверь в «скрытый Web».
В XML ориентированных СУБД предусматривается более эффективная организация среды хранения информационных ресурсов XML
по сравнению с используемой в настоящее время в Web файловой организацией. Благодаря поддержке метаданных, описывающих свойства
XML документов, появляется возможность автоматической верификации логической целостности данных, а также решения других задач управления данными. Поиск и выборка данных в XML ориентированной базе
данных возможны с достаточно мелкой гранулярностью – с точностью
до фрагментов XML документов, обладающих требуемыми свойствами.
Ряд XML ориентированных СУБД обеспечивает мультипользовательский режим работы с развитыми средствами управления транзакциями.
СУБД рассматриваемой категории открывают новые возможности для
разработки приложений систем баз данных.
224
Технологии Web нового поколения
Как и любая другая система управления базами данных, XML ориентированная СУБД должна базироваться на модели данных, определяющей организацию и свойства данных в базе данных, а также доступные
пользователям операционные возможности. Эта модель воплощается
в поддерживаемых системой языковых средствах определения данных
и манипулирования данными и/или языке запросов.
К сожалению, в настоящее время не существует единой модели данных, на которой основывались бы все стандарты платформы XML. Одни
из этих стандартов содержат спецификации языков, обладающих только дескриптивными возможностями, и могут тем самым использоваться
как языки определения данных, описывающие те или иные их свойства.
К числу таких стандартов относятся XML, XML Schema, Relax NG, RDF.
Другие стандарты, например XSLT, позволяющий описывать трансформации XML документов, или XPath, обеспечивающий идентификацию их
фрагментов, могут служить языками запросов в XML ориентированных
СУБД. Находящийся в стадии разработки стандарт XQuery и его прототип Quilt [32] определяют языки, специально предназначенные для выполнения функций языка запросов.
Версия языка XQuery, разработка которой ведется в настоящее время W3C, не предусматривает возможностей обновления XML данных.
Для решения этой задачи консорциум XML:DB занимается созданием
языка XUpdate, позволяющего обновлять данные в базах данных XML.
В некоторых XML ориентированных СУБД используются также ранее
созданные в рамках деятельности консорциума W3C языки запросов,
выступавшие в качестве претендентов на роль стандарта языков этого
назначения, – XML QL, XQL и др. Один из таких языков – XQL (XML
Query Language) [70] – реализован в XML ориентированной СУБД
Tamino компании Software AG.
Таким образом, для поддержки функционально полной модели данных в XML ориентированных СУБД могут быть использованы некоторые комбинации языков, определяемых названными стандартами.
Каждая такая комбинация должна обеспечивать как средства описания
свойств XML данных, так и средства манипулирования этими данными.
Наряду с интерактивными интерфейсами конечных пользователей для
XML ориентированных СУБД имеются также спецификации интерфейсов прикладного программирования (Application Program Interface, API). В частности, для этих целей может использоваться спецификация объектной модели документов DOM (Document Object Model)
[40] консорциума W3C. На ее основе создан ряд реализаций интерфейсов прикладного программирования, обеспечивающих взаимодействие
XML ориентированные базы данных
225
программ, написанных на объектных языках, с XML ориентированными
СУБД, поддерживающими указанный интерфейс. Другая довольно широко распространенная спецификация для рассматриваемых целей –
это разработанная в рамках деятельности консорциума OASIS спецификация SAX (Simple API for XML) [23]. Первоначально SAX был
предназначен для использования в Java программах. Он быстро приобрел популярность и стал стандартом де факто. Существующая в настоящее время версия SAX 2.0 применима в среде нескольких языков
программирования.
Указанные средства позволяют оперировать представлениями XML документов как иерархическими структурами данных (стандарты платформы XML, языки XPath и XQL, XUpdate, спецификация SAX) либо их объектными представлениями (стандарт DOM).
Разновидности XML документов. На практике встречаются две категории XML документов. Документы первой категории служат для представления некоторых данных средствами синтаксиса XML таким образом, что организация самих этих документов в целом, исходный их вид
при загрузке в базу данных не имеют существенного значения. Важно
только сохранить в базе данных элементы, составляющие содержание
этих XML документов, значения этих элементов и значения их атрибутов. Такие XML документы называют ориентированными на данные
(Data Centric Documents). Для XML документов второй категории особое значение имеет не только их содержание как множества составляющих элементов, но и исходное представление. XML документы такого
рода называются документо ориентированными (Document Centric
Documents) или прозаическими (Prose Oriented Documents).
Документы первой категории предназначены, главным образом, для
автоматизированной обработки. В то же время документы второй категории предназначены для восприятия человеком. Они обычно подготавливаются с помощью какого либо текстового редактора, а затем конвертируются в XML. XML документы, ориентированные на данные, как
правило, генерируются автоматически из различных источников, в том
числе из содержимого баз данных. В отличие от них документо ориентированные XML документы обычно автоматически не порождаются.
Классификация XML ориентированных СУБД. В зависимости от
того, к какой из категорий относятся XML документы, предъявляются
различные требования к функциональности СУБД, которые могут быть
использованы для поддержки составленных из них коллекций. В соответствии с этим различаются две разновидности XML ориентированных
СУБД – чистые и адаптированные.
226
Технологии Web нового поколения
Чистые XML ориентированные СУБД (Native XML DBMS) предназначены для поддержки коллекций документо ориентированных XML документов или документов, ориентированных на данные, для которых важно
сохранять их исходный формат.
Основной единицей ресурсов хранимых данных в базах данных, которые управляются такими СУБД, являются именно XML документы.
Среда хранения данных этих СУБД обеспечивает сохранение и возможность воспроизведения исходного физического представления помещенных в нее XML документов, в том числе входящих в эти документы различных вспомогательных конструкций языка XML – комментариев,
инструкций по обработке и др.
Как правило, среда хранения данных в рассматриваемых СУБД основывается на одном из двух подходов. Один из них предусматривает хранение XML документов как текстов, например в отдельных файлах, или как
значений типа BLOB в реляционных системах. Другой подход предусматривает структурированное хранение документов. В первом случае при обработке документов чаще всего необходимо использовать синтаксический
анализ их содержимого. Организация хранения документов во втором
случае основана на технике, применяемой в традиционных СУБД. В обоих случаях обычно используется техника индексирования хранимых
данных. При этом в большинстве чистых XML ориентированных СУБД
предусматривается индексирование по значениям элементов документов
и их атрибутов.
Чистые XML ориентированные системы располагают пользовательскими интерфейсами и API только в терминах XML. Единицей запрашиваемых данных из базы данных также являются XML документы. Некоторые СУБД рассматриваемого вида обеспечивают наряду с поиском
и выборкой также обновление содержания документов и возможность их
удаления из базы данных. В них обычно предусматриваются механизмы
управления транзакциями. Однако производительность работы в таком
режиме при текстовой модели хранения ограничивается в связи с тем,
что синхронизационные блокировки осуществляются в этом случае на
уровне полных XML документов.
Первой среди коммерческих чистых XML ориентированных СУБД по
всеобщему признанию является программный продукт Tamino компании
Software AG. Здесь функции языка определения данных выполняет XML
DTD, а в качестве языка запросов выступает уже упоминавшийся XQL.
Для управления средой хранения в Tamino служат механизмы, основанные на инвертированных списках. Аналогичные механизмы были использованы для этой цели в раннем продукте компании – СУБД ADABAS.
XML ориентированные базы данных
227
Они хорошо приспособлены для хранения и обработки записей иерархической структуры с повторяющимися группами и векторами данных.
Именно такую структуру имеют и XML документы. К этому виду СУБД
относятся также 4Suite (компании Four Thought), eXtensible Information
Server (eXcelon Corp.), Lore (Stanford University), ozone (ozone db.org),
Sybase ASE 12.5 (Sybase), X Hive/DB (X Hive Corp.) и др.
Вторую разновидность СУБД, которые относятся к категории XML
ориентированных, составляют так называемые СУБД, адаптированные к XML (XML enabled DBMS). Это своего рода надстройки над
традиционными реляционными, объектно реляционными или объектными СУБД, расширяющие их средствами поддержки XML данных.
В таких системах предусматриваются механизмы отображения представления данных в терминах XML в модель данных, поддерживаемую рассматриваемой СУБД. При этом выбор способа отображения
чаще всего зависит от конкретного приложения. Исходный формат
XML документов обычно не сохраняется.
При работе с ресурсами XML такие СУБД применяются, как правило,
для поддержки коллекций XML документов, ориентированных на данные. Наряду с их XML представлением эти системы могут использовать
представления хранимых XML документов средствами собственных моделей данных – реляционных, объектных или объектно реляционных.
К числу XML ориентированных СУБД рассматриваемого вида можно отнести объектно реляционные серверы баз данных DB2 (IBM),
Oracle 8i, Oracle 9i (Oracle Corp.) и Informix (IBM), объектный SQL
Server 2000 (Microsoft), объектную СУБД Objectivity/DB, реляционные СУБД Access 2002 и FoxPro (Microsoft) и др.
В настоящее время индустрия программного обеспечения систем
баз данных выпускает уже значительное количество разнообразных
XML ориентированных СУБД. Создан ряд исследовательских прототипов и свободно распространяемых систем. Исчерпывающий каталог существующего программного обеспечения этого назначения поддерживается Р. Буре [28].
Применения XML ориентированных СУБД. XML ориентированные
СУБД находят все более широкое применение в управлении различного рода коллекциями XML документов. На чистых СУБД этой категории основаны, в частности, системы управления содержимым
(Content Management Systems). Такие системы предоставляют пользователям инструменты для подготовки документов, позволяющие осуществлять управление версиями документов и разграничение доступа к ним, поиск документов в системе. Кроме того, их инструментарий
228
Технологии Web нового поколения
включает также редакторы языков разметки XML или SGML, средства публикации документов на компакт дисках или в Web и т.д. Чистые
XML ориентированные СУБД, скрытые от пользователя в этих системах, обеспечивают при этом хранение создаваемых и обрабатываемых
XML документов.
Стандарты XML ориентированных СУБД. «Законодателем мод» в разработках стандартов для XML ориентированных СУБД является консорциум XML:DB [113]. Помимо языковых средств, предоставляемых
стандартами платформы XML и ее окружения, в разработках СУБД
рассматриваемого класса используются и спецификации, создаваемые этим консорциумом.
В настоящее время в сферу его деятельности входит создание индустриальных стандартов интерфейса прикладного программирования
для XML ориентированных СУБД, языка запросов для таких систем,
допускающего, в отличие от XQuery, обновление данных в базе данных, а также создание инструментария для эталонного тестирования
XML ориентированных баз данных.
Основные направления развития XML ориентированных баз данных.
Завершая этот раздел, следует рассмотреть основные направления разработок, целью которых является развитие технологий XML ориентированных
СУБД.
Важнейшая проблема в этой области – создание целостной концепции и теории XML ориентированных СУБД. Уже появилось заметное число концептуальных публикаций, в том числе и на русском языке
[6, 7]. Технологические аспекты таких систем основательно представлены в [5, 29]. Во многих работах обсуждаются проблемы отображения
XML данных в среду реляционных и объектных баз данных (см., например, [55, 57, 66, 72]).
Активно ведутся работы по созданию языков запросов XML. Центральное место в этом направлении занимает разработка стандарта языка
запросов XQuery для XML. Как уже отмечалось, начальная версия этого
стандарта, проект которой имеет достаточно конструктивный вид, обеспечивает только возможности выборки данных.
Другие направления – это создание интерфейсов прикладного программирования для XML ориентированных баз данных, средств управления доступом, эталонных тестов для оценки производительности рассматриваемых систем, автоматическая генерация DTD для документов
заданного типа, поддержка многоверсионности документов, стандартизация средств описания отображения XML документов в среду других
моделей данных.
XML ориентированные базы данных
229
Одно из актуальных направлений развития XML ориентированных баз
данных – создание средств интеграции информационных ресурсов XML
с информационными ресурсами, поддерживаемыми в других средах.
Нужно отметить, в частности, что стремление к обеспечению интеграции информационных ресурсов Web нового поколения и широко распространенных в настоящее время реляционных, объектно реляционных
и объектных баз данных обоюдно поддерживается специалистами в области как Web, так и баз данных.
Действительно, специалистами W3C создана объектная модель документов DOM, способствующая интеграции ресурсов Web в объектные среды. Новый разрабатываемый стандарт XQuery языка запросов
для XML позволяет оперировать не только данными XML, но и реляционными данными и данными иерархической структуры. В свою очередь, в рамках разработки новой версии международного стандарта
языка SQL, условно названной SQL:200n, принятие которой планируется в 2003 году, создается компонент SQL/XML. По замыслу разработчиков SQL/XML обеспечит возможности совместного использования SQL и XML. Спецификации SQL/XML позволят определять
представление реляционных схем баз данных и данных SQL в форме
XML документов и наоборот представление XML документов и метаданных XML в терминах SQL, представление операций манипулирования данными SQL (вставка, удаление, обновление) в XML, а также протоколы передачи данных при совместном использовании SQL и XML.
Таким образом, в решении проблемы интеграции информационных ресурсов XML и SQL продуктивно сотрудничают специалисты обоих направлений.
Можно ожидать, что в процессе развития платформы XML будут
преодолены те дефекты воплощения в ней концепции многоуровневого представления данных, которые препятствуют полноценной реализации в этой среде принципов независимости данных. В настоящее время, в соответствии со стандартом XML, в представлении
XML документов сосуществуют элементы «логического» и «физического» уровня, в отличие от традиционных систем баз данных, где аспекты
пользовательского взгляда на данные и их представления в среде хранения строго разделены.
Вероятно, предстоит доработка модели данных XML ориентированных
СУБД с тем, чтобы расширить ее функциональность средствами поддержки взаимосвязей между XML документами. Такие возможности обеспечивают стандарты XLink и XPointer, однако они пока не поддерживаются
в базах данных рассматриваемого вида.
230
Технологии Web нового поколения
Наконец, работы над моделью данных языка запросов XML, имеющие существенное значение для развития XML ориентированных систем баз данных, будут также способствовать созданию единой функционально полной модели данных для всех стандартов платформы XML.
Решение этой проблемы представляется весьма важным для дальнейшего ее развития.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Почему к концу 90 х годов стали актуальными проблемы создания
эффективных механизмов управления XML данными?
2. Каким образом решались проблемы хранения коллекций XML данных
и доступа к ним на начальной стадии развития платформы XML?
3. В чем появляется тесная связь технологий Web и традиционных технологий баз данных?
4. Как осуществляется интеграция систем баз данных в среду Web, основанную на технологиях HTML?
5. Какие СУБД называются XML ориентированными?
6. Какие особенности свойственны базам данных XML и XML
ориентированным СУБД?
7. Какие модели данных используются в XML ориентированных СУБД?
8. Какая организация играет ведущую роль в разработке базовых технологий и стандартов XML ориентированных СУБД?
9. Какие интерфейсы прикладного программирования используются
в настоящее время в XML ориентированных СУБД?
10. Какие XML документы называют документо ориентированными?
11. Что представляют собой XML документы, ориентированные на
данные?
12. Какие две разновидности XML ориентированных СУБД существуют в настоящее время?
13. В чем заключаются специфические особенности чистых XML
ориентированных СУБД?
14. Чем отличаются СУБД, адаптированные к XML?
15. Приведите примеры коммерческих чистых XML ориентированных
СУБД и СУБД, адаптированных к XML.
16. Где применяются XML ориентированные СУБД?
Перспективы платформы XML
231
17. Для чего нужны системы управления содержимым?
18. Назовите важнейшие направления развития XML ориентированных СУБД.
4.11. ПЕРСПЕКТИВЫ ПЛАТФОРМЫ XML
Создание платформы XML положило начало новому более наукоемкому и технологически совершенному этапу в развитии Web. Язык XML
и некоторые другие стандарты основанной на нем платформы, несомненно, стали стандартами де факто. Все ведущие поставщики программного обеспечения не только Web, но и систем баз данных включают в свои
программные продукты поддержку языка XML, разрабатывают различные специализированные системы. Продвижением технологий XML наряду с W3C активно занимается консорциум OASIS [61].
Популяризации и активному использованию стандартов платформы
XML существенным образом способствует политика W3C. Консорциум обеспечивает свободный доступ к спецификациям разрабатываемых
им стандартов, поддерживает создание ряда свободно распространяемых
синтаксических анализаторов для языков платформы и другого связанного с ними свободно распространяемого программного обеспечения.
Создатели стандартов XML уделяют большое внимание обеспечению
преемственности для существующей HTML платформы и накопленных
на ее основе информационных ресурсов.
Стратегические перспективы развития платформы XML, конечно же,
связаны с созданием семантического Web. Для достижения этой цели необходимо решить комплекс сложных научно технических задач. Консорциум W3C энергично решает эту проблему, охватывая в своей деятельности многочисленные ее аспекты.
Эта деятельность имеет ряд важных побочных эффектов. Один
из них – рождение нового направления в технологиях баз данных –
XML ориентированных систем баз данных. Другой побочный эффект,
который также нельзя не учитывать при оценке перспектив платформы
XML, заключается в том, что она начинает играть существенную роль
в других широко распространенных технологиях – CASE технологиях,
технологиях хранилищ данных, потоков работ, в технологиях баз данных,
становится основой интеграции информационных ресурсов Web и реляционных баз данных. Предпринимаются также шаги, направленные на
интеграцию XML среды с объектными средами.
Вместе с тем все еще существуют факторы, которые сдерживают энергичное массовое использование стандартов платформы XML в среде Web.
232
Технологии Web нового поколения
Прежде всего это естественная инерционность столь масштабной среды, какой является сегодняшний Web. Эта инерция может преодолеваться только постепенно. Второй фактор – пока еще не завершенная работа над средствами определения глобальной распределенной
гиперструктуры, компонентами которой являются XML документы
и их фрагменты. Эту функцию должны выполнять два важных стандарта платформы XML – XPointer и XLink. В самом языке XML нет
средств для определения гиперссылок. Спецификации стандарта XLink получили, наконец, статус рекомендаций консорциума в июне 2001 года. Однако работа над проектом XPointer еще не завершена. По всей вероятности,
это связано с разрабатываемым стандартом языка запросов XQuery.
Тем не менее первые XML сайты функционируют в Web. Несмотря на
то что они используют стандарты платформы со значительными ограничениями, их появление свидетельствует о начале процесса технологического переоснащения Web.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Каковы общие перспективы развития и применения платформы
XML?
2. В чем заключается стратегическая цель создания платформы
XML?
3. К каким побочным эффектам привело создание этой платформы?
4. Каким образом консорциум W3C способствует распространению
и активному практическому использованию стандартов платформы XML?
5. Какие факторы сдерживают практическое использование стандартов XML в среде Web?
ЛИТЕРАТУРА К ГЛАВЕ 4
1. Айзенберг Э., Мелтон Дж. Стандартизация SQL: следующие шаги:
Пер. с англ. // Открытые системы. – 1999. – 11–12. – С. 80–84.
2. Армс В. Электронные библиотеки. – М.: ПИК ВИНИТИ, 2001. –
276 с.
3. Бездушный А.Н., Вежневец А.А., Серебряков В.А., Шкотин А.В.
Метаданные: определение и использование. Сб. трудов Московской международной конференции «Электронная конвергенция:
Литература к главе 4
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
233
новые технологии в музеях, галереях, библиотеках и архивах (EVA
2001), Москва, декабрь 2001 года».
Булах Е., Кузина И., Храмцов П. Развитие стека спецификаций W3C
или гносеология XML // Открытые системы. – 1999. – 5–6.
Буре Р. XML и базы данных: Пер. с англ. // Открытые системы. –
2000. – 10.
Веселов В., Долженков А. XML и технологии баз данных // Открытые системы. – 2000. – 5–6.
Гринев М. Системы управления полуструктурированными данными //
Открытые системы. – 1999. – 5–6.
Когаловский М.Р. Абстракции и модели в системах баз данных //
СУБД. – 1998. – 4–5. – С. 73–81.
Когаловский М.Р. XML: возможности и перспективы. Часть 1.
Платформа XML и составляющие ее стандарты // Директор информационной службы. – Январь 2001. – С. 24–28.
Когаловский М.Р. XML: возможности и перспективы. Часть 2. Базы
данных XML, семантика XML документов, перспективы // Директор информационной службы. – Февраль 2001. – С. 16–20.
Когаловский М.Р. XML: сферы применений // Директор информационной службы. – Апрель 2001. – С. 10–12.
Когаловский М.Р. Функциональные возможности и направления
использования стандартов платформы XML. Сб. трудов Всероссийской практической конференции «Стандарты в проектах современных
информационных систем (Москва, 17–18 апреля 2001 года)». – М.:
Открытые системы, 2001, с. 127–133.
Когаловский М.Р. Стандарты платформы XML и базы данных.
Обзорная лекция. Сб. трудов 3 й Всероссийской конференции
«Электронные библиотеки: перспективные методы и технологии,
электронные коллекции (Петрозаводск, 11–13 сентября 2001 года)». – Петрозаводск: Карельский научный центр РАН, 2001,
с. 108–117.
Когаловский М.Р. Энциклопедия технологий баз данных. – М.: Финансы и статистика, 2002. – 800 с.
Когаловский М.Р. Развитие стандартов XML: новые возможности и применения. Сб. трудов 2 й Всероссийской практической конференции «Стандарты в проектах современных информационных
систем (Москва, 27–28 марта 2002 года)». – М.: Открытые системы, 2002, с. 124–127.
234
Технологии Web нового поколения
16. Когаловский М.Р. Электронные библиотеки – развитие продолжается // Программирование (МАИК «Наука/Интерпериодика»). –
2002. – 4.
17. Когаловский М.Р., Новиков Б.А. Электронные библиотеки – новый класс информационных систем. Российская Академия наук //
Программирование (МАИК «Наука/Интерпериодика»). – 2000. –
3. – С. 3–8.
18. Кузнецов С.Д. XML: модное направление или новая эпоха // Директор информационной службы. – 2000. – 7–8.
19. Некрестьянов И., Пантелеева Н. Системы текстового поиска для
Веб. Российская Академия наук // Программирование (МАИК
«Наука/Интерпериодика»). – 2002. – 4.
20. Питтс Н. XML за рекордное время: Пер. с англ. – М.: Мир, 2000. –
444 с.
21. Храмцов П.В. XML через призму программирования // Открытые
системы. – 1999. – 9–10.
22. Цикритзис Д., Лоховски Д. Модели данных: Пер. с англ. / Предисл.
О.М. Вейнерова. – М.: Финансы и статистика, 1985. – 334 с.
23. About SAX (Simple API for XML). http://www.saxproject.org/.
24. ANSI/NISO Z39.85 2001. Dublin Core Metadata Element Set. National
Information Standards Organization, 2001.
http://www.niso.org/standards/resources/Z39 85.pdf.
25. Berners Lee T., Fielding R., Irvine U.C., Masinter L. Uniform Resource
Identifiers (URI): General Syntax. RFC 2396. August 1998.
26. Berners Lee T., Hendler J., and Lassila O. The Semantic Web.
Scientific American. May 2001. http://www.scientificamerican.com/
2001/0501issue/0501berners lee.html.
27. Bosak J., Bray T. XML and the Second Generation Web. Scien tific
American, May 1999. http://www.sciam.com/1999/0599issue/
0599bosak.html.
28. Bourret R. XML and Database Products. April 29, 2002. http://
www.rpbourret.com/xml DB/XML Database Products.htm.
29. Bourret R. XML and Databases. 2002. http://www.rpbourret.com/
xml/XMLAndDatabases.htm.
30. Canonical XML. Version 1.0. W3C Recommendation. 19 March 2001.
http://www.w3.org/TR/2001/REC xml c14n 20010319.
Литература к главе 4
235
31. Cascading Style Sheets (CSS1) level 1 Specification. W3C Recommendation 11 January 1999.
http://www.w3.org/TR/1999/REC CSS1 19990111.
32. Chamberlin D., Robie J., Florescu D. Quilt: An XML Query Language
for Heterogeneous Data Sources. Proc. of the WebDB 2000 Intern.
Conf. Dallas, May 2000.
33. Common Warehouse Metamodel (CWM) Specification. Volume 2. XML,
IDL and DTD. Proposal to the OMG ADTF RFP: Common Warehouse
Metadata Interchange (CWMI). OMG Document ad/00 01 02. February 11, 2000.
34. Cover R. Astronomical Instrument Markup Language (AIML). http://
www.oasis open.org/cover/aiml.html.
35. cXML User’s Guide. Version 1.2.006. August 2001. Ariba, Inc. http://
xml.cxml.org/current/cXMLUsersGuide.pdf.
36. DAML (DARPA Agent Markup Language). DARPA. http://www.
daml.org/.
37. DAML+OIL (March 2001) Reference Description. W3C Note 18 December 2001.
http://www.w3.org/TR/2001/NOTE daml+oil reference 20011218.
38. Decription Transform for XML Signature. W3C Candidate Recommendation 02 August 2002.
39. Design Consideration for CML. http://www.xml cml.org/design.html.
40. Document Object Model (DOM) Level 2 Specification. Version 1.0.
W3C Recommendation. 13 November 2000. http://www.w3.org/TR/
2000/REC DOM Level 2 20001113.
41. Dublin Core Metadata Element Set Reference Description, Version 1.1,
1999 07 02. http://purl.org/dc/documents/proposed_recommendations/
pr dces 19990702.htm.
42. Dublin Core Qualifiers. Dublin Core Meta Data Initiative Recommendation.
http://purl.org/dc/documents/rec/dcmes qualifiers 20000711.htm.
43. ebXML – Enabling A Global Electronic Market – Specifications. http://
www. ebxml.org/specs/index.htm.
44. Eisenberg A., Melton J. SQL/XML and the SQLX Informal Group of
Companies. SIGMOD Record, Vol. 30, No. 3, September 2001.
45. Eisenberg A., Melton J. SQL/XML is Making Good Progress.
SIGMOD Record, Vol. 31, No. 2, June 2002.
236
Технологии Web нового поколения
46. Extensible Markup Language (XML) 1.0 (Second Edition). W3C
Recommendation. 6 October 2000. http://www.w3.org/TR/2000/
REC xml 20001006.
47. Extensible Stylesheet Language (XSL). Version 1.0. W3C Recommendation. 15 October 2001.
http://www.w3.org/TR/2001/REC xsl 20011015.
48. Geography Markup Language (GML) 2.0. OpenGIS Consortia Recommendation Paper. 20 February 2001. http://www.opengis.net/gml/
01 029/GML2.html.
49. Goldman R., Widom J. DataGuide: Enabling Query Formulation and
Optimization in Semistructuring Databases. Proc. of Intern. Conf. On
Very Large Databases, 1997.
50. Gruber T. A translation approach to portable ontology specifications.
Knowledge Acquisition, 5(2), 1993, pp. 199–220.
51. Grumbach S., Mecca G. In Search of the Lost Schema. Proc. of Intern.
Conf. on Database Theory (ICDT’99), 1999.
52. ISO 8879:1986. Information Processing – Text and Office Systems –
Standard Generalized Markup Language (SGML), 1986.
53. ISO/IEC 9075 14:200x(E). Information technology – Database
language – SQL – Part 14: XML Related Specification (SQL/XML).
2001 06 18. Working Draft. http://www.sqlx.org/.
54. ISO/IEC 9579:2000. Information technology – Remote Database
Access for SQL (RDA/SQL).
55. Klettke M., Meyer H. XML and Object Relational Database Systems –
Enhancing Structural Mappings Based on Statistics. WebDB 2000,
p. 63–68.
56. Lambrix P. Description Logics. Intelligent Information Systems Laboratory.
Department of Computer and Information Science. Linkoping University,
Linkoping, Sweden. http://www.ida.liu.se/labs/iislab/people/palta/DL/
index.html.
57. Malaika S. Using XML in Relation Database Applications. ICDE
1999.
58. Mathematical Markup Language (MathML) Version 2.0. W3C
Recommendation 21 February 2001. http://www.w3.org/TR/2001/
REC MathML2 20010221.
59. Microsoft BizTalk Server. http://www.microsoft.com/biztalk/.
Литература к главе 4
237
60. Namespaces in XML. W3C Recommendation, 14 January 1999. http://
www.w3.org/TR/1999/REC xml names 19990114.
61. OASIS homepage. http://www.oasis open.org/.
62. Open Information Model. Proposed XML Document Type Definitions.
Meta Data Coalition. http://www.mdcinfo.com/OIM/xmldtds.html.
63. Open Information Model. XML Encoding. Version 1.0. Review Draft 2.
Meta Data Coalition. December 1999.
64. OWL Web Ontology Language 1.0 Abstract Syntax. http://www.w3.org/
TR/owl absyn/.
65. OWL Web Ontology Language 1.0 Reference. http://www.w3.org/TR/
owl ref/.
66. Renner A. XML Data and Object Databases: A Perfect Couple? ICDE
2001.
67. Requirements for a Web Ontology Language. W3C Working Draft 09
July 2002. http://www.w3.org/TR/2002/WD webont req 20020709/.
68. Resource Description Framework (RDF). Model and Syntax Specification.
W3C Recommendation. 22 February 1999. http://www.w3.org/TR/
REC rdf syntax/.
69. Resource Description Framework (RDF). Schemas. W3C Working Draft.
30 April 2002. http://www.w3.org/TR/2002/WD rdf schema 20020430.
70. Robie J., Lapp J., Schash D. XML Query Language (XQL). The
W3C Query Languages Workshop. December 3–4, 1998. Boston,
Massachusets. http://www.w3.org/TendS/QL/QL98/pp/xql.html.
71. Semantic Web Activity: Resource Description Framework (RDF). http://
www.w3.org/RDF/.
72. Shanmugasundaram J., Tufle K., Zhang C., He G., DeWitt D.J.,
Naughton J.F. Relation Databases for Quering XML Documents:
Limitations and Opportunities. VLDB 1999, pp. 302–314.
73. SHOE – Simple HTML Ontology Extensions. Parallel Understanding
Systems Group. Department of Computer Science. University of
Maryland at College Park. http://www.cs.umd.edu/projects/plus/
SHOE/.
74. SOAP Version 1.2 Part 0: Primer. W3C Working Draft in Last Call.
26 June 2002. http://www.w3.org/TR/soap12 part0/.
75. SOAP Version 1.2 Part 1: Messaging Framework. W3C Working Draft
in Last Call. 26 June 2002. http://www.w3.org/TR/soap12 part1/.
238
Технологии Web нового поколения
76. SOAP Version 1.2 . Part 2: Adjuncts. W3C Working Draft in Last Call.
26 June 2002. http://www.w3.org/TR/soap12 part2/.
77. SOAP Version 1.2 Specification Assertions and Test Collection. W3C
Working Draft in Last Call. 26 June 2002. http://www.w3.org/TR/
soap12 testcollections.html.
78. UBL TC Charter. OASIS, 28 August 2001. http://www.oasis open.org/
committees/ubl/charter/ubl.htm.
79. UBL: The Next Step for Global E Commerce. December 26, 2001.
http://www.oasis open.org/committees/ubl/msc/200204/ubl.pdf.
80. Universal Description, Discovery and Integration of Business for Web
(UDDI). OASIS. http://www.uddi.org/.
81. W3C Technical Reports and Publications. http://www.w3c.org/TR/.
82. Web Ontology (WebONT) Working Group. http://www.w3.org/2001/
sw/WebOnt/.
83. Web Services Architecture Usage Scenarios. W3C Working Draft
30 July 2002. http://www.w3.org/TR/ws arch scenarios/.
84. Web Services Description Language (WSDL) Version 1.2. W3C
Working Draft 9 July 2002. http://www.w3.org/TR/wsdl12/.
85. Web Services Description Language (WSDL) Version 1.2 Bindings. W3C
Working Draft 9 July 2002. http://www.w3.org/TR/wsdl12 bindings/.
86. Welcome to OIL. http://www.ontoknowledge.org/oil/.
87. Wireless Markup Language. Version 2.0. Proposed Version 26 June 2001.
Wireless Application Protocol Forum, Inc. 2001.
http://www1.wapforum.org/ tech/documents/WAP 238 WML 20
010626 p.pdf.
88. Workflow Management Coalition. Workflow Standard – Interoperability.
Wf XML Binding. Document Number WFMC TC 1023. Draft 1.0.
20 April 1999.
89. World Wide Web Consortium (W3C). http://www.w3.org/.
90. xCBL – XML Common Business Library. Commerce One Company,
2000. http://www.xcbl.org/.
91. XForms 1.0. W3C Working Draft 18 January 2002. http://www.w3.org/
TR/2002/WD xforms 20020118.
92. XHTML 1.0: The Extensible HyperText Markup Language (Second
Edition). Reformulation of HTML 4 in XML 1.0. W3C Recomendation 1
August 2002. http://www.w3.org/TR/2002/REC xhtml1 20020801.
Литература к главе 4
239
93. XML Base. W3C Recommendation 27 June 2001. http://www.w3.org/
TR/2001/REC xmlbase 20010627.
94. XML Encription Syntax and Processing. W3C Candidate Recommendation 02 August 2002. http://www.w3.org/TR/xmlenc core/.
95. XML Fragment Interchange. W3C Candidate Recommendation 12 February 2001. http://www.w3.org/2001/TR/CR xml fragment 20010212.
96. XML Inclusions (XInclude) Version 1.0. W3C Candidate Recommendation 21 February 2002. http://www.w3.org/TR/2002/
CR xinclude 20020221.
97. XML Information Set. W3C Recommendation, 24 October 2001. http://
www.w3.org/TR/2001/REC xml infoset 20011024.
98. XML Linking Language (XLink) Version 1.0. W3C Recommendation.
27 June 2001. http://www.w3.org/2001/REC xlink 20010627.
99. XML Metadata Interchange (XMI). Version 1.1. OMG Document
ad/99 10 02.
100. XML Path Language (XPath). Version 1.0. W3C Recomendation, 16 November 1999. http://www.w3.org/TR/1999/REC xpath 19991116.
101. XML Pointer Language (XPointer) xmlns() Scheme. W3C Working
Draft in Last Call. 10 July 2002. http://www.w3.org/TR/xptr xmlns/.
102. XML Pointer Language (XPointer) Framework. W3C Working Draft in
Last Call. 10 July 2002. http://www.w3.org/TR/xptr framework/.
103. XML Pointer Language (XPointer) element() Scheme. W3C Working
Draft in Last Call. 10 July 2002. http://www.w3.org/TR/xptr element/.
104. XML Protocol (XMLP) Requirements. W3C Working Draft 26 June
2002. http://www.w3.org/TR/xmlp reqs/.
105. XML Protocol Abstract Model. W3C Working Draft. 9 July 2001. http://
www.w3.org/TR/xmlp am/.
106. XML Query 1.0 Requirements. W3C Working Draft 15 February 2001.
http://www.w3.org/TR/2001/WD xmlquery req 20010215.
107. XML Query Use Cases. W3C Working Draft 16 August 2002. http://
www.w3.org/TR/2002/WD xmlquery use cases 20020816.
108. XML Schema Part 0: Primer. W3C Recommendation. 2 May 2001.
http://www.w3.org/TR/2001/REC xmlschema 0 20010502.
109. XML Schema Part 1: Structures. W3C Recommendation. 2 May 2001.
http://www.w3.org/TR/2001/REC xmlschema 1 20010502.
240
Технологии Web нового поколения
110. XML Schema Part 2: Datatypes. W3C Recommendation. 2 May 2001.
http://www.w3.org/TR/2001/REC xmlschema 2 20010502.
111. XML Signature Syntax and Processing. W3C Recommendation 12 February 2002. http://www.w3.org/TR/2002/REC xmldsig core 20020212.
112. XML Syntax for XQuery 1.0 (XQueryX). W3C Working Draft 11 June
2001. http://www.w3.org/TR/2001/WD xqueryx 20010611.
113. XML:DB Initiative for XML Databases. http://www.xmldb.org/.
114. XQuery 1.0: An XML Query Language. W3C Working Draft 16 August
2002. http://www.w3.org/TR/2002/WD xquery 20020816.
115. XQuery 1.0 and XPath 2.0 Data Model. W3C Working Draft 16 August
2002. http://www.w3.org/TR/2002/WD query datamodel 20020816.
116. XQuery 1.0 and XPath 2.0 Functions and Operators Version 1.0.
W3C Working Draft 16 August 2002.
http://www.w3.org/TR/2002/WD xquery operators 20020816.
117. XQuery 1.0 Formal Semantics. W3C Working Draft 16 August 2002.
http://www.w3.org/TR/2002/WD query semantics 20020816.
118. XSL Transformations (XSLT). Version 1.0. W3C Recommendation
16 November 1999. http://www.w3.org/TR/1999/REC xslt 19991116.
ЗАКЛЮЧЕНИЕ
В этой книге мы попытались показать «с птичьего полета» обширную
проблематику технологий современных информационных систем.
Платформой для их обсуждения стал представленный в первой главе
общий взгляд на современные информационные системы, их ресурсное
обеспечение, функциональные возможности и главные тенденции развития. Вероятно, в некоторых аспектах этот взгляд носит нетрадиционный
характер. В частности, основной акцент в трактовке информационной
системы сделан прежде всего на роли таких систем, как средства моделирования реальности. Поддерживаемая системой информационная модель позволяет пользователям рационализировать свою деятельность,
заменяя «общение» с реальностью для получения информации обращением к ее модели. Такой подход позволил с единых позиций рассмотреть
особенности, состояние и перспективы развития базовых информационных технологий современных информационных систем наиболее распространенных классов – систем баз данных, систем текстового поиска,
а также Всемирной паутины, которую стали называть просто Web.
Весьма важным является обсуждение наиболее актуальных технологических проблем информационных систем различных классов, «точек
роста» основных направлений информационных технологий, используемых в рассматриваемой области.
К сожалению, ограниченность объема книги не позволила детально
рассмотреть многие из обсуждавшихся проблем. Однако читатели могут
обратиться за дополнительной информацией по интересующим вопросам
к источникам из библиографии, сопровождающей каждую главу книги.
Некоторые вопросы, рассмотренные кратко или лишь вскользь упомянутые в книге, заслуживали бы детального обсуждения в более объемном издании. К числу таких вопросов относятся: архитектурные и модельные аспекты систем интеграции неоднородных информационных
ресурсов, в том числе на семантическом уровне; интеллектуальные информационные системы; проблемы создания семантического Web; интероперабельность программных и информационных ресурсов и пути ее обеспечения; компонентные объектные подходы к разработке систем; проблемы
нового класса информационных систем, называемых электронными библиотеками; управление потоками данных и ряд других.
Тем не менее автор надеется, что настоящее издание поможет читателю в формировании общего кругозора в области современных информационных систем, представлений о важнейших используемых в этой
области информационных технологиях и перспективах их развития. Насколько успешна попытка автора решить эту задачу – судить читателю.
ГЛОССАРИЙ
А
Агент
Программа, которая выполняется от имени какой либо другой программы или какого либо лица в автономном от них режиме, может взаимодействовать с другими такими же программами, а также со средой,
где она выполняется, и реагировать на происходящие в ней изменения.
Агент мобильный
Агент, способный мигрировать с одного компьютера сети на другой.
При этом перемещается не только его программный код, но и данные,
представляющие его состояние.
Агент стационарный
Агент, исполняемый на том компьютере, на котором он был активизирован.
Аглет
Мобильный агент Java.
Агрегирование данных
В многомерной базе данных операция над кубом данных, которая
строит новый куб меньшего объема путем замены совокупностей значений элементов одного или нескольких измерений значениями элементов более высоких уровней иерархии и формирования в качестве содержимого ячеек результирующего куба соответствующих агрегированных
значений показателей.
Администратор базы данных
Лицо или группа лиц, ответственных за обеспечение необходимого уровня производительности системы базы данных, сбора и обработки статистики ее функционирования, эффективного использования
ресурсов пространства памяти, надежности функционирования системы, восстановления состояния базы данных при нарушениях ее логической и/или физической целостности.
Администратор безопасности
Лицо или группа лиц, функции которых заключаются в управлении полномочиями пользователей системы базы данных, в определении
ограничений управления доступом к данным в базе данных, в поддержке
технологии обеспечения безопасности данных.
Администратор данных
Лицо или группа лиц, ответственных за информационные ресурсы информационной системы.
Глоссарий
243
Актуализация информационных ресурсов
Обновление информационных ресурсов информационной системы
для приведения ее состояния в соответствие с текущим состоянием предметной области.
Анализ данных глубинный
Технология анализа данных в базах данных или хранилищах данных,
основанная на математических методах и служащая для выявления заранее неизвестных закономерностей. Широко распространена на практике
для поддержки принятия стратегически важных решений. В отечественной литературе соответствующий англоязычный термин Data Mining часто переводится как «добыча данных», «исследование данных», «интеллектуальный анализ данных», «разведка данных» и т.п.
Анализ данных с последовательной детализацией
Метод анализа данных в многомерной базе данных, предусматривающий пошаговый переход к более низкому уровню иерархии элементов
измерений в кубе данных для получения более детализированной информации.
Анализ данных с последовательным агрегированием
Метод анализа данных в многомерной базе данных, предусматривающий пошаговый переход к более высоким уровням иерархии элементов измерений куба данных с целью получения более агрегированной информации.
Анализ текста глубинный
Технологии обработки текстов на естественном языке, направленные
на извлечение из них той информации, которая была заложена автором.
Аплет
Небольшая программа, написанная на языке Java для использования
в среде Web.
Архитектура «клиент сервер»
Архитектурный подход, предусматривающий возложение на некоторую программную систему или компьютер, называемые в таком случае серверами, функций оказания некоторого набора услуг по запросам
других программных систем или компьютеров, называемых клиентами.
Архитектура «клиент сервер» трехзвенная
Современный архитектурный подход к конструированию крупных распределенных информационных систем с большим числом пользователей,
предусматривающий развитие концепций архитектуры «клиент сервер»
за счет дифференциации функций сервера таким образом, что функции
приложения и функции поддержки базы данных реализуются на отдельных серверах.
244
Перспективные технологии информационных систем
Атрибут элемента измерения
Именованный домен значений, соответствующий некоторому элементу измерения в многомерной базе данных (в кубе данных).
Аудиоданные
Данные, представляющие оцифрованные музыкальные произведения,
человеческую речь, различные звуковые сигналы.
Б
База данных
Организованная в соответствии с определенными правилами и поддерживаемая в памяти компьютера совокупность данных, характеризующая актуальное состояние предметной области и используемая для удовлетворения информационных потребностей пользователей.
База данных многомерная
База данных, основанная на многомерной модели данных. Обычно используется для целей анализа. Основным ее структурным компонентом
является куб данных.
База данных распределенная
База данных, составные части которой размещаются в различных узлах компьютерной сети.
База данных реляционная
База данных, организованная в соответствии с реляционной моделью
данных. Представляет собой совокупность взаимосвязанных таблиц.
Связи между таблицами могут поддерживаться с помощью ключа одной
таблицы и ключа либо неключевых столбцов другой таблицы.
База данных сосредоточенная
База данных, полностью поддерживаемая на одном компьютере и доступная по запросам пользователей, работающих непосредственно на
этом компьютере, либо предоставляемая для сетевого доступа.
Байт
Единица объема информации, как правило, равная 8 бит.
Безопасность данных
Обеспечение защиты данных от умышленного или неумышленного
несанкционированного доступа.
Бит
Минимальная единица объема двоичной информации.
Браузер
Программа для навигации в сложной структуре данных и просмотра ее
элементов, например в среде Web.
Глоссарий
245
В
Видеоданные
Данные, представленные в виде зрительных образов – рисунков,
схем, графиков, изображений, возможно, с элементами анимации.
Визуализация данных
Техника, обеспечивающая представление анализируемых данных в разнообразных графических формах для облегчения их понимания и качественной визуальной оценки их свойств. При этом предоставляются также
средства для выполнения различных операций над данными в таком их представлении, например вращения куба данных, «пролистывания» сечений
куба – перехода от одного его сечения к другому путем последовательной фиксации различных значений атрибута какого либо измерения, которым эти сечения соответствуют.
Витрина данных
См. Хранилище данных специализированное.
Витрина данных независимая
Специализированное хранилище данных, базирующееся на собственных источниках данных, а не на едином хранилище данных компании.
Восстановление базы данных
Приведение базы данных в целостное состояние после его нарушения.
Вращение измерений
В хранилище данных операция, обеспечивающая изменение порядка измерений куба данных при его визуализации для представления его
пользователю в другом ракурсе.
Г
Генератор отчетов
Самостоятельный программный продукт или функциональный компонент СУБД, который обеспечивает выдачу сведений из базы данных разрабатываемой прикладной системы в требуемой пользователю форме.
Генератор приложений
Самостоятельный программный продукт или функциональный компонент СУБД, позволяющий полностью или частично автоматизировать
процесс разработки приложений.
Гигабайт
Единица объема данных. Один гигабайт составляет 1024 мегабайта.
Гигабит
Единица объема данных. Один гигабит составляет 1024 мегабита.
246
Перспективные технологии информационных систем
Гиперкуб данных
См. Куб данных.
Гиперкуб плотный
Гиперкуб с большой долей заполненных ячеек.
Гиперкуб разреженный
Гиперкуб с малой долей заполненных ячеек.
Гипермедиа
Обобщение концепции гипертекста, предусматривающее возможность использования в качестве узлов в структуре гипертекста не только
размеченных текстовых документов, но и графических образов, а также
информационных ресурсов в среде аудио и видео.
Гиперссылка
Явно указанная связь между двумя или более ресурсами либо фрагментами ресурсов Web, которая может быть использована для навигации с помощью браузера.
Гипертекст
Представление текстовых документов на естественном языке, которое
позволяет устанавливать и поддерживать предопределенные связи между
документами и/или отдельными их фрагментами, обеспечивая пользователю возможности навигации в такой структуре.
Д
Данные
Представление фактов предметной области информационной системы
в форме, допускающей их хранение и обработку на компьютерах, передачу по каналам связи, а также восприятие человеком.
Данные виртуальные
Данные, которые фактически не хранятся в информационной системе,
но представляются пользователю существующими благодаря тому, что
порождаются или извлекаются из некоторых источников в момент обращения к ним.
Данные исторические
Данные, ассоциированные со временем и представляющие уже состоявшиеся факты.
Данные неструктурированные
Данные, для которых не может быть определена схема, описывающая
их структуру и другие свойства. Примерами таких данных являются текстовые документы в системах текстового поиска.
Глоссарий
247
Данные слабоструктурированные
Данные, не имеющие регулярной структуры, свойственной наборам
их экземпляров. Обычно при этом отсутствуют какая либо определенная система типов и схема. Но если схема задана, то, в отличие от систем
баз данных, она имеет описывающий, а не обязательный (предписывающий) характер. Типичным примером слабоструктурированных данных
являются гипертекстовые данные HTML страниц Web.
Данные структурированные
Данные, обладающие регулярной структурой, которая строго соответствует заданной схеме. Именно такими данными оперируют технологии баз данных.
Дезагрегирование данных
В многомерной базе данных операция над кубом данных, которая
строит новый куб большего объема путем замены значений некоторых
элементов измерений совокупностями значений элементов более низких
уровней иерархии и декомпозиции соответствующих значений исходных
показателей. Метод декомпозиции зависит от природы представленных данных и определяется исследователем данных. Дезагрегирование данных позволяет, например, перейти от рассмотрения годовых
данных по некоторым категориям продуктов к квартальным данным.
Дескриптор
В системах текстового поиска слово или словосочетание, отражающее какое либо понятие предметной области текстовой информационной системы и используемое для характеристики смыслового содержания хранимых в системе документов и информационных запросов
пользователей.
Документ
В системах текстового поиска содержательно законченная и уникально
идентифицируемая единица информации, представленная на каком либо
естественном языке.
Документ релевантный
Документ в системе текстового поиска, соответствующий информационной потребности пользователя, которая представлена в поисковом
запросе.
Документ цифровой
Представление электронного документа, позволяющее оперировать
элементами его содержания.
Документ электронный
Документ, хранимый в памяти компьютера и предназначенный для обработки приложениями и/или для представления пользователю.
248
Перспективные технологии информационных систем
Доступ
Операция в информационной системе, обеспечивающая выполнения
чтения, обновления, вставки или удаления информационных ресурсов.
Доступ санкционированный
Вид доступа, на осуществление которого пользователь наделен необходимыми полномочиями.
З
Запрос
Сообщение, направляемое информационной системе приложением
или конечным пользователем, которое активизирует действия выборки,
вставки, удаления специфицированных данных.
И
Измерение
В многомерной модели данных одна из осей координат куба данных.
Связанные с нею значения характеризуют какое либо классификационное свойство сущностей предметной области, например временные
характеристики (годы, месяцы, кварталы) или административную принадлежность (регион, город, район) и т.п. На совокупности значений,
относящейся к некоторому измерению, могут быть определены иерархические отношения, которые позволяют осуществлять агрегирование данных, представляющих факты, ассоциированные с ячейками куба.
Индекс
Вспомогательная структура данных в базах данных, системах текстового поиска, в файловых системах и различных репозиториях, служащая
для повышения производительности при выполнении операций поиска
информационных ресурсов.
Индексирование данных
Техника, предназначенная для обеспечения быстрого доступа к данным в базах данных, файлах, хранилищах данных и других репозиториях,
которая основана на инверсии значений ключа.
Индексирование документа
Процесс назначения документу индексирующих его свойств.
Инструмент CASE
Программное средство, предназначенное для полной или частичной поддержки технологии проектирования и реализации сложных программных и/или информационных систем, которая основана на тех или
Глоссарий
249
иных CASE методах, процессах, моделях и языковых средствах, а также
на воплощающих их стандартах.
Интеграция данных
Обеспечение для пользователя доступа к нескольким источникам информационных ресурсов в терминах единого материализованного или
виртуального представления, исключающего избыточность информации
на логическом или семантическом уровне.
Интенсионал предметной области
Модель предметной области, отображающая ее свойства, инвариантные во времени. Эта модель представляется в терминах типов сущностей
предметной области, их свойств и типов связей между ними.
Интероперабельность
Способность ресурсов (информационных, программных, аппаратных)
допускать совместное их использование с другими ресурсами в рамках
единой системы.
Интерфейс
Совокупность средств (программных, технических, лингвистических)
и правил для обеспечения взаимодействия между различными программными системами, между техническими устройствами или между пользователем и системой.
Интерфейс пользовательский графический
Пользовательский интерфейс, основанный на применении многооконной технологии, пиктограмм, меню, кнопок, курсоров и других визуальных элементов, а также различных устройств манипуляторов.
Интерфейс прикладного программирования
Совокупность программных средств, обеспечивающая прикладной
программе на некотором языке программирования доступ к системам
баз данных, поддерживаемым в среде конкретной СУБД.
Интранет
Корпоративная сеть, основанная на стандартах и протоколах Internet.
Информация
Новые знания, полученные в результате интерпретации данных.
К
Килобайт
Единица объема данных. Один килобайт составляет 1024 байта.
Килобит
Единица объема данных. Один килобит составляет 1024 бита.
250
Перспективные технологии информационных систем
Клиент
Компьютер или программа в системе с архитектурой «клиент сервер»,
обращающиеся с запросами на выполнение определенных услуг к другому компьютеру или программе, которые выполняют функции сервера.
Ключ
Совокупность столбцов таблицы или элементов данных в записях
базы данных, выполняющая какую либо функцию в операциях, связанных с управлением данными, – идентификацию строк таблицы или экземпляров записей данного типа, их поиск, группирование, сортировку,
индексирование, определение места размещения и т.п.
Ключ внешний
В реляционных базах данных совокупность столбцов таблицы, значения которых являются одновременно значениями ключа какой либо другой таблицы.
Ключ возможный
В реляционных базах данных столбец или совокупность нескольких столбцов таблицы, значения которых уникально идентифицируют
ее строки.
Ключ индексирования
Ключ, определенный для какого либо типа данных, значения которого в экземплярах этого типа используются для их (экземпляров) индексирования.
Ключ первичный
Один из возможных ключей отношения.
Ключ уникальный
Ключ, определенный для какого либо типа данных, каждое значение
которого идентифицирует единственный экземпляр этого типа.
КОИ 8
Один из распространенных вариантов кодировки символьной информации, обеспечивающий представление кириллицы.
Копия страховочная
Копия базы данных, создаваемая персоналом администратора базы
данных с помощью специальных утилит для обеспечения возможности
восстановления базы данных в случае ее разрушении.
Кортеж
Строка таблицы в реляционной базе данных.
Коэффициент точности поиска
Отношение числа выдаваемых системой по запросу релевантных документов к общему числу выданных документов, усредненное по множеству запросов.
Глоссарий
251
Критерий поиска
Условие, которому должны удовлетворять данные, являющиеся результатом поискового запроса.
Критерий смыслового соответствия
Условие принадлежности хранимых в информационной системе документов к множеству документов, релевантных заданному пользовательскому запросу.
Куб данных
Основная структура данных в многомерной модели данных. Имеет несколько независимых измерений – систему координат представляемого пространства данных. Комбинации значений координат по
одному для каждого измерения определяют точки куба, называемые
ячейками. С ячейками ассоциируются значения переменных, называемых показателями и имеющих, как правило, числовые типы.
Л
Локатор ресурса унифицированный
Глобальный уникальный идентификатор ресурса Web, определяющий
его местоположение в Internet.
М
Масштабируемость
Способность программного обеспечения приложения адаптироваться
к наращиванию аппаратных ресурсов системы для сохранения или повышения достигнутого уровня производительности.
Машина баз данных
Специализированное периферийное устройство универсального компьютера, аппаратно программные средства которого предназначены для
эффективной реализации ряда функций управления данными, обычно
возлагаемых на программные средства СУБД.
Машина виртуальная Java
Программный процессор, исполняющий Java программы, которые
представлены в формате мобильных Java байт кодов.
Машина поисковая Web
Сервер с удаленным доступом в среде Web, осуществляющий по запросам клиента поиск релевантных страниц.
Мегабайт
Единица объема данных. Один мегабайт составляет 1024 килобайта.
252
Перспективные технологии информационных систем
Мегабит
Единица объема данных. Один мегабит составляет 1024 килобита.
Метаданные
Данные об информационных ресурсах – их составе и структуре, формате
представления, методах доступа и требуемых для этого полномочиях пользователей, о месте хранения, их семантике, источнике, владельце и т.д.
Метаинформация
См. Метаданные.
Метод проектирования программного обеспечения
Целенаправленная совокупность процедур, позволяющая получить в результате описание разрабатываемой программной системы с такой степенью детализации, которая достаточна для ее реализации. Современные индустриальные технологии проектирования основаны, главным образом, на
методах, использующих структурное или объектное моделирование разрабатываемой системы. Наряду со структурными и объектными методами
используются и более строгие формальные методы спецификации систем.
Мобильность
См. Переносимость.
Модель данных
Инструмент моделирования предметной области информационной
системы, включающий совокупность правил структурирования данных,
допустимых операций над ними и видов ограничений целостности, которым они должны удовлетворять. Для случая объектного подхода можно
сказать, что модель данных – это некоторая система типов данных.
Модель данных многомерная
Модель данных, оперирующая многомерными представлениями данных в виде кубов данных. Такие модели данных стали широко использоваться в середине 90 х годов в связи с развитием технологий OLAP.
Операционные возможности многомерных моделей данных включают,
в частности, операции агрегирования и дезагрегирования данных, построения проекций куба, вращения измерений куба и др.
Модель данных реляционная
Предложенная Э. Коддом модель данных, основанная на математическом понятии отношения и его представлении в форме таблицы.
Модель измерений
См. Модель данных многомерная.
Модель поиска
В системе текстового поиска сочетание способа представления документов, способа представления поисковых запросов, вида критерия релевантности документов.
Глоссарий
253
Модель предметной области
Описание структуры предметной области вместе с совокупностью
связанных с нею ограничений целостности. Такая модель предметной области называется статической. Динамическая модель включает, кроме
того, описание поведения сущностей и связей каждого типа.
Мультикуб данных
Структура многомерной базы данных, состоящая из нескольких кубов
данных.
Мультимедиа
Среда, обеспечивающая интегрированное хранение, предоставление
пользователю и обработку числовой, текстовой, изобразительной, звуковой и представленной в других формах информации.
Н
Навигация
Операция перемещения в структуре информационных ресурсов от одного ее компонента к другому.
Независимость данных логическая
Способность механизмов СУБД поддерживать изменения логического представления данных таким образом, чтобы при этом оставались неизменными пользовательские представления данных.
Независимость данных физическая
Способность механизмов СУБД поддерживать изменения физического представления данных таким образом, чтобы при этом оставалось неизменным логическое их представление.
Неполнота поиска документов
Явление в документальной информационной системе, когда в результате обработки поисковых запросов выдаются не все релевантные пользовательскому запросу документы, хранимые в системе.
О
Образ документа поисковый
См. Представление документа.
Образ запроса поисковый
См. Представление запроса.
Ограничение целостности
Правило, описывающее свойства экземпляров данных или множеств
экземпляров данных и их связей, которые обязательно должны удовлетворяться в информационной системе.
254
Перспективные технологии информационных систем
Ограничение целостности по ссылке
В реляционных базах данных вид ограничений целостности, в соответствии с которым кортеж с заданным значением данного набора атрибутов может быть включен в отношение тогда и только тогда, когда это
значение является актуальным значением первичного ключа указанного
другого отношения.
Окружение платформы XML
Совокупность стандартов, которые формально не относятся к комплексу стандартов платформы XML, поскольку не используют синтаксис
языка XML, однако могут совместно применяться со стандартами платформы, расширяя ее функциональность.
Онтология
Спецификация концептуализации предметной области информационной системы.
Определение типа документов
Определение логической структуры XML документов некоторого типа
в терминах предназначенного для этих целей подъязыка XML.
Отношение
Таблица в реляционной базе данных.
Отчет
Продуцируемый из содержимого базы данных результат обработки запроса, имеющий заданную форму, чаще всего табличную.
Оцифровка данных
Процесс преобразования данных, представленных в различных средах,
в цифровую форму. Суть процесса оцифровки не сводится только к отображению данных из непрерывного пространства в дискретное. Необходимо при этом обеспечить возможность обработки элементов их содержания.
Очистка данных
Процедура предварительной обработки данных, собранных из нескольких источников для загрузки в хранилище данных. Ее целью являются фильтрация данных и их консолидация, верификация и обеспечение логической целостности, устранение несогласованности и различных
ошибок, восполнение пропусков и другие шаги, направленные на улучшение качества данных.
П
Пароль
Строка литер, специфицируемая пользователем приватным образом
при входе в систему с целью его идентификации системными механизмами управления доступом.
Глоссарий
255
Переносимость
Свойство средств программного обеспечения или данных, позволяющее переносить их на другую платформу или в среду другой системы.
Петабайт
Единица объема данных. Один петабайт равен 1024 терабайт.
Платформа
1. Модель вычислительного оборудования. 2. Операционная система.
3. Комбинация аппаратных средств и операционной системы. 4. Комплекс взаимосвязанных стандартов целевого назначения.
Платформа XML
Комплекс основанных на языке XML стандартов консорциума W3C.
Поиск данных
Операция определения местонахождения данных, удовлетворяющих
заданному критерию поиска.
Поиск контекстный
Поиск документов, содержащих заданный контекст.
Поиск логический
Поиск по критерию, заданному в форме некоторого предиката.
Поиск по индексу
Поиск данных по заданному значению ключа индексирования.
Поиск по ключу
Поиск записей в файлах или в базе данных, кортежей в отношениях
и т.д. по заданному значению поискового ключа.
Поиск полнотекстовый
Поиск с использованием содержания полных текстов обрабатываемых документов.
Поиск семантический
Поиск документов на основе их смыслового содержания и описания
семантики информационных потребностей пользователя.
Показатель
В многомерной модели данных переменная, значениями которой являются факты, ассоциируемые с ячейками куба данных.
Показатель аддитивный
В многомерной модели данных показатель, значениями которого являются аддитивные факты.
Показатель неаддитивный
В многомерной модели данных показатель, значениями которого являются неаддитивные факты.
Показатель полуаддитивный
В многомерной модели данных показатель, значениями которого являются полуаддитивные факты.
256
Перспективные технологии информационных систем
Полномочия пользователя
Предоставленные пользователю администратором безопасности информационной системы права на исполнение тех или иных операций над
ее информационными ресурсами.
Полнота поиска
Способность поисковых механизмов информационной системы обеспечивать выдачу всех без исключения хранимых в системе документов,
удовлетворяющих критерию, указанному в поисковом запросе.
Пользователь
Лицо или программа, которые могут обращаться с запросами к информационной системе и получать от нее сообщения и результаты обращения.
Пользователь конечный
Специалист в предметной области информационной системы, использующий систему для удовлетворения своих информационных потребностей.
Пользователь полномочный
Зарегистрированный в системе пользователь, обладающий правами
на выполнение определенных операций над ее информационными ресурсами.
Пользователь случайный
Пользователь системы базы данных, обращающийся к системе с заранее не регламентированными запросами.
Пользователь удаленный
Пользователь информационной системы, получающий доступ к ней
с помощью средств телекоммуникации.
Поток данных
Динамический источник данных, которые передаются по каналу связи, не сохраняются и допускают обработку только «на проходе». Примерами потоков данных являются поток сообщений по электронной почте,
поток финансовой информации, поток телеметрии в космических исследованиях. В последнее время начали зарождаться технологии работы
с такими данными, создаются программные системы управления потоками данных.
Предметная область информационной системы
Часть реального мира, которая моделируется информационной системой.
Представитель документа
См. Представление документа.
Представление
Виртуальная таблица в реляционной базе данных, материализуемая
при явном или неявном обращении к ней.
Глоссарий
257
Представление документа
Структурированное представление содержания документа в системе
текстового поиска, используемое в процессе поиска вместо самого документа.
Представление запроса
Структурированное представление информационных потребностей
пользователя, направляемое информационной системе для выполнения
операции поиска требуемых документов.
Приложение
Программная система, использующая информационные ресурсы данной информационной системы для решения некоторой совокупности задач в какой либо предметной области.
Проектирование баз данных автоматизированное
Технология проектирования базы данных с помощью специально предназначенных для этих целей методологий и программных инструментов.
Проекция куба данных
В многомерной модели данных операция над кубом данных, которая
строит куб меньшей размерности при фиксированных значениях для
каких либо измерений. Этот термин обозначает также результат указанной операции.
Пространство памяти среды хранения
Область внешней памяти, выделенная для хранения информационных
ресурсов информационной системы.
Р
Ранжирование документов
В системах текстового поиска упорядочение множества документов,
выдаваемых пользователю в результате обработки запроса, по убыванию степени релевантности.
Распознавание символов оптическое
Технология оцифровки текстового документа, основанная на использовании сканеров и программ распознавания.
Распределение данных
Способ размещения данных в системах баз данных, функционирующих в сетевой среде, при котором данные размещаются на разных узлах сети.
Реорганизация базы данных
Функция администратора базы данных, обеспечивающая сборку мусора, необходимые изменения размещения хранимых данных в пространстве
258
Перспективные технологии информационных систем
памяти и, возможно, их структуры, в соответствии с проведенной модификацией схемы хранения. Целью реорганизации базы данных является
повышение производительности системы базы данных и/или более эффективное использование ресурсов памяти.
Реструктуризация базы данных
Изменение логической схемы базы данных в связи с изменившимися
потребностями приложений.
Ресурс информационный
Используемые в приложениях данные, которые представлены в базах данных, базах знаний, на Web сайтах, в текстовых системах, в файлах различной природы или в процедурной форме с помощью продуцирующих их программных средств.
С
Санкционирование доступа
Наделение пользователя системы базы данных, приложения или другого субъекта полномочиями, необходимыми для выполнения определенных операций доступа к некоторым данным или ресурсам иного рода.
Свойство документа индексирующее
В системах текстового поиска термы, извлеченные из содержания документа, – слова, словосочетания и т.п., какие либо более сложные
конструкции, вычисленные на основе этих извлеченных термов, либо
внешние ассоциированные с документом атрибуты, которые идентифицируют данный документ, возможно, не уникальным образом.
Связь обратная релевантности
Функциональная возможность системы текстового поиска, позволяющая пользователю возвращать системе оценки релевантности выдаваемых по запросу документов.
Селекция
Одноместная операция над заданным отношением, результатом которой является новое отношение, содержащее только кортежи исходного
отношения, удовлетворяющие заданному критерию селекции.
Сервер
1. Программа, которая предоставляет некоторые услуги по запросам
других программ, называемых клиентами. 2. Компьютер, предоставляющий какие либо услуги другим компьютерам в сети.
Сервер баз данных
1. Совокупность функциональных компонентов СУБД с архитектурой «клиент сервер», относящихся к серверной части системы
и обеспечивающих обработку запросов к базе данных, поступивших
Глоссарий
259
со стороны клиентов. 2. Компьютер в сети, на котором поддерживается
система баз данных.
Сеть
Совокупность аппаратных и программных средств вычислительной
и коммуникационной техники, а также программного обеспечения, обеспечивающая объединение входящих в ее состав компьютеров в единую
систему с целью обеспечения обмена сообщениями и/или обобществления их технических, программных и/или информационных ресурсов для
решения общих задач.
Сечение куба данных
См. Проекция куба.
Сжатие куба данных
В многомерной модели данных операция над кубом данных, обеспечивающая уменьшение используемого для него объема памяти в среде хранения.
Система баз данных
СУБД вместе с одной или несколькими базами данных, управляемыми этой системой.
Система баз данных распределенная
Функционирующая в сетевой среде система баз данных, в которой
данные физически распределены между несколькими узлами.
Система дескрипторная
Система текстового поиска, в которой в качестве индексирующих
свойств документов используются дескрипторы.
Система информационная автоматизированная
Комплекс, включающий вычислительное и коммуникационное оборудование, программное обеспечение, лингвистические средства и информационные ресурсы, а также системный персонал и обеспечивающий
поддержку динамической информационной модели некоторой части реального мира для удовлетворения информационных потребностей пользователей.
Система информационная аналитическая
См. Система информационная руководителя.
Система информационная документальная
См. Система информационная текстовая.
Система информационная оперативная
Информационная система, предназначенная для поддержки деловых операций, составляющих бизнес процессы регулярной производственной и вспомогательной деятельности предприятия. В публикациях встречаются также синонимы «операциональная информационная
260
Перспективные технологии информационных систем
система», «операционная информационная система» (то есть поддерживающая выполнение различных текущих операций компании) и «транзакционная информационная система» (то есть поддерживающая выполнение
бизнес транзакций компании, ее деловых операций или сделок –
в отличие от аналитической системы).
Система информационная руководителя
См. Система поддержки принятия решений.
Система информационная текстовая
Информационная система, служащая для работы с документами,
представленными на естественном языке (языках), и/или с их библиографическими описаниями.
Система информационно поисковая
Термин, который был введен для обозначения ранних систем текстового поиска. Однако он применяется до настоящего времени наряду
с современным термином система текстового поиска.
Система мобильных агентов
Программная система, которая создает и инициирует мобильные агенты, осуществляет их миграцию, уничтожение, обеспечение безопасности
функционирования порожденных ими агентов.
Система неоднородная
Система, какие либо свойства компонентов которой, существенные
для данного рассмотрения, различаются.
Система однородная
Система, свойства компонентов которой, существенные для данного
рассмотрения, не различаются.
Система открытая
Система, способная развиваться за счет технических и/или программных средств на основе технологий, которые не зависят от их производителя благодаря удовлетворению требований ряда международных и индустриальных стандартов.
Система поддержки принятия решений
Система, обеспечивающая возможности изучения состояния, прогнозирования развития и оценки возможных вариантов поведения на основе анализа статистических данных, отражающих результаты деятельности компании на протяжении времени. В таких системах применяются
современные технологии баз данных, OLAP, хранилищ данных, глубинного анализа и визуализации данных.
Система текстового поиска
Текстовая информационная система, обеспечивающая выполнение
только поисковых операций над хранимыми в ней информационными
ресурсами.
Глоссарий
261
Система унаследованная
Система, базирующаяся на морально устаревших технологиях, архитектурах, программном обеспечении, аппаратных платформах, но тем не
менее находящаяся в эксплуатации.
Система управления базами данных
Программная система, предназначенная для создания баз данных
и централизованного управления их ресурсами с целью предоставления
данных пользователям и программным средствам по их запросам.
Система управления документами
Система, предназначенная для поддержки процессов разработки документов на естественных языках, их хранения, поиска по запросам пользователей, различного рода обработки и распространения.
Система управления потоками данных
Программная система, обеспечивающая анализ потока документов,
выполнение обращенных к нему запросов и других операций «на проходе» потока.
Соединение
Операция, порождающая из двух отношений базы данных новое отношение, кортежи которого формируются из пар кортежей отношений операндов, удовлетворяющих заданному критерию соединения.
Срез куба
См. Проекция куба данных.
Станция базовая
Компьютерная система, входящая в состав стационарной сети, являющаяся составной частью мобильной компьютерной среды и обеспечивающая доступ мобильных устройств к сетевым ресурсам.
Степень релевантности документа
Мера близости документа пользовательскому запросу, определяемая
как значение числовой функции, изменяющейся в интервале [0, 1].
Стоп слово
Служебное слово (предлог, союз и т.п.), которое встречается практически в любом документе и тем самым не является информативным.
Стоп слова не могут использоваться в качестве индексирующих свойств
документов.
Страница Web
Порция гипермедийных информационных ресурсов Web сервера, которая доступна клиенту в результате одного его запроса к браузеру.
Страница домашняя
Заглавная страница Web сайта, являющаяся точкой входа в структуру его страниц.
262
Перспективные технологии информационных систем
Структура данных
Совокупность элементов данных и связей между ними.
СУБД
См. Система управления базами данных.
СУБД общего назначения
СУБД, не ориентированная на какую либо определенную сферу применения и обладающая средствами настройки на конкретные условия
работы.
Сущность
Некоторое лицо, существо или предмет, принадлежащие предметной
области рассматриваемой информационной системы, либо связанные
с ними событие или процесс.
Схема базы данных
Описание базы данных средствами языка описания данных.
Схема типа звезды
Схема реляционной базы данных, служащая для поддержки многомерного представления содержащихся в ней данных.