Данная статья посвящена одному из наиболее распространенных и функционально богатых семейств программных продуктов для управления базами данных - DB2 фирмы IBM.


Введение
Продукты семейства DB2
DB2 как сервер поддержки OLTP
Объектно-реляционные свойства DB2
DB2: построение информационных хранилищ данных
DB2: доступ к данным через Internet
Литература

Введение

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

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

Прикладные системы, для которых используется DB2, - это прежде всего стандартные OLTP (on-line transaction processing) системы. Кроме того, DB2 широко применяется для информационных систем различного назначения, для построения информационных хранилищ данных и для систем поддержки принятия решений.

Еще некоторое время назад IBM рассматривала DB2, в первую очередь, как необходимое средство поддержки для аппаратных платформ, производимых и продаваемых IBM (DB2 для MVS, VM, VSE, AIX, OS/400, OS/2), и не выпускала DB2 для серверных операционных систем других фирм. Бурное развитие программного рынка в последние годы дало жизнь версиям DB2 для разнообразных вариантов ОС Unix и Windows NT.

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

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

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

Появление работы E. Кодда в 1970 г. с предложением реляционного подхода для создания баз данных положило начало исследовательской активности в области реляционных баз данных в ряде лабораторий IBM. Первые проекты и прототипы были затем консолидированы в лаборатории Санта-Тереза, Калифорния в середине семидесятых годов и завершились созданием System R. Эта система во многом определила архитектуру современных реляционных баз данных, в частности использование непроцедурного языка запросов SQL. После исследовательской стадии, в 1981 г. появился коммерческий продукт SQL/DS для VM, а в 1983 г. - собственно DB2 для мэйнфреймов под MVS и MVS/ESA. Другим интересным проектом, влияние которого ощутимо в DB2, был Starburst на рубеже 80-90-x.

Многочисленные современные проекты, ведущиеся в настоящее время вокруг семейства DB2 в Альмадене, Санта-Тереза и Торонто позволяют судить о том, в каких направлениях видят развитие баз данных разработчики DB2.

Значительная часть ведущихся проектов касается расширения сферы применения реляционных баз данных для новых задач, связанных с хранением и использованием новых сложных типов данных, поддержки объектно-ориентированных расширений и реализаций новых методов поиска и анализа данных. Другая часть исследований касается вопросов повышения производительности и масштабируемости, использования методов распараллеливания в работе серверов баз данных. Часть результатов этих проектов уже воплотилась в текущей версии DB2, другие проекты должны получить развитие в следующей DB2 Universal Server (DB2 версия 5, согласно новой унифицированной нумерации).

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

Программные решения IBM, наряду с DB2, включают и другие программные средства, например: транзакционные продукты CICS, Encina, MQSeries, которые вместе с DB2 могут образовывать более гибкую и подходящую для конкретного случая архитектуру, чем основанное только на использовании СУБД решение.

Продукты семейства DB2

Как и соответствующие аппаратные платформы, серверы семейства DB2 имеют разное позиционирование. Оставляя за рамками статьи очень интересный продукт DB2 для AS/400, в котором многие функции сервера баз данных тесно интегрированы с функциями операционной системы и аппаратного обеспечения, далее более часто будут упоминаться DB2 для MVS, DB2 Common Server и DB2 Parallel Edition.

DB2 для MVS и ее новая версия DB2 для OS/390 чаще всего выступает в качестве центрального корпоративного сервера данных.

DB2 Parallel Edition ориентирована на технологию распараллеливания запросов к очень большим базам данных (VLDB), размещенным на системах с массовым параллелизмом (MPP), а серверы из семейства DB2 Common Server представляют общее решение для рабочих групп, малых и средних организаций, переносимое и масштабируемое на серверах, работающих под управлением OS/2, Windows NT, AIX, HP-UX, Sun Solaris, SCO, SINIX.

Существуют также более специализированные серверные продукты типа DataJoiner, который предоставляет клиентам-приложениям оптимизированный доступ к распределенным данным, управляемым Oracle, Sybase, MS SQL Server, DB2, и предлагает единую базу-образ гетерогенной среды.

Разнообразие серверов позволяет использовать DB2 как решение для систем разного масштаба и разной архитектуры, а также организовать перенос и масштабирование систем на другие платформы. Поддержка существующих международных отраслевых стандартов, таких как SQL 92 EntryLevel, ODBC, XA, JDBC, новых версий SQL и корпоративных стандартов фирмы IBM, является необходимым качеством семейства DB2, обеспечивающим взаимодействие разнообразных программных и аппаратных средств.

Вокруг базовой группы продуктов существует разнообразная инфраструктура комплектующих и дополнительных продуктов, предназначенных для администрирования баз данных - DataHub и компоненты Tivoli, для обеспечения интероперабельности, такие как DDCS (Distri-buted Database Connection Services), для репликации данных - DataPropagator, семейство средств разработки VisualAge для различных языков программирования (С++, Smalltalk, 4GL, Java, Basic) c CASE-средствами IBM DataAtlas и VisualAge PackBase, пакеты средств формирования запросов и создания отчетов Intelligent Decision Server и QMF, комплексное решение для построения локальных информационных хранилищ данных - Visual Warehouse, средства анализа и поиска информации в базах данных Intelligent Miner, средство для работы с метаданными и построения каталога информационных ресурсов DataGuide, решения для поддержки OLAP-приложений - DB2 OLAP Server and IDS, и так далее.

DB2 как сервер поддержки OLTP

На сегодняшний момент большинство реляционных баз данных занято хранением операционных данных, полученных от OLTP (On-Line Transaction Proccesing) приложений. Такие приложения предназначены для поддержки текущей деловой активности финансовых, административных и промышленных организаций, где данные, в основном, числовые и символьные.

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

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

До появления реляционных СУБД задачи поддержки OLTP решались с использованием дополнительного программного обеспечения - мониторов транзакций, например CICS. Однако практика внедрения архитектуры клиент-сервер без применения промежуточного монитора транзакций потребовала универсализации сервера баз данных и оснащения его некоторыми свойствами мониторов транзакций для внешнего взаимодействия и повышения производительности.

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

DB2 для OS/390 как корпоративный сервер

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

DB2 предназначалась для взаимодействия с приложениями, работающими под MVS-TSO, транзакционными продуктами CICS, IMS, и поддержки пакетной обработки больших объемов данных. Последующие версии DB2 стали поддерживать архитектуру клиент-сервер.

Более высокая надежность платформы OS/390 по сравнению с вычислительными системами других типов вместе с развитием и удешевлением технологий хранения данных и высокопризводительных коммуникаций определяет использование DB2 для OS/390 как корпоративного сервера баз данных и центра массивной обработки данных.

Для DB2/390 основными тенденциями развития являются, с одной стороны, стремление к наращиванию производительности, что связано с тенденцией физического роста корпоративных баз данных, а с другой стороны, укрепление интеграции с прочими программными средствами на различных платформах.

DB2 для MVS версии 3, появившаяся в 1992 году, обладала серьезными улучшениями в области производительности, на основе распараллеливания операций ввода/вывода и работы с независимыми разделами дисковых устройств, использования возможностей аппаратного обеспечения и операционной системы, например методов компрессии данных и аппаратной поддержки сортировки.

В DB2 для MVS версии 4 важные добавления были сделаны в поддержку архитектуры клиент-сервер, использования DB2 в масштабируемой архитектуре Parallel Sysplex, возможности распараллеленного исполнения запросов.

Появились также хранимые процедуры как важное средство снижения сетевого трафика и перенесения бизнес-логики приложений на сервер баз данных. В отличие от поддержки хранимых процедур, реализованной другими производителями, хранимые процедуры DB2 (и для DB2/MVS, и для DB2/Common Server) могут быть написаны на многих обычных языках программирования, а не на специальном, приоритетном для данного производителя процедурном расширении SQL.

Среди улучшений в последних версиях DB2 для OS/390, касающихся производительности, стоит упомянуть новый тип индексов, известных как индексы 2-го типа, позволяющих улучшить конкурентный доступ к индексу при изменении данных.

Также увеличились возможности DB2 по поддержке клиентов до 25 тысяч на один сервер, а с учетом возможности параллельной работы в группе до 32 узлов DB2 в Parallel Sysplex - до 800 тысяч клиентов.

Для архитектуры клиент-сервер наиболее важные улучшения связаны с поддержкой клиентов в сетях TCP/IP, хранения данных в ASCII-форматах, более развитых механизмов хранимых процедур, стандартизацией DB2 SQL и появлением продукта DB2 WWW Connection для доступа к данным из Internet.

Архитектура DRDA

При изначальной ориентации DB2 на платформах MVS, VM, VSE на централизованные приложения впоследствии, в условиях распространения архитектуры клиент-сервер, потребовалась дополнительная поддержка удаленного доступа для PC- и Unix-рабочих станций к базам данных на мэйнфреймах и на системах типа AS/400.

Решая проблему поддержки архитектуры клиент-сервер, IBM предложила архитектуру DRDA (Distributed Relational Database Archi-tecture) в виде открытой спецификации, описывающей протоколы взаимодействия удаленного клиента с базами данных. Реализация DRDA должна была позволить продуктам от разных производителей баз данных прозрачно взаимодействовать и, в частности, образовывать единую распределенную базу данных.

Подход DRDA позволяет решить многочисленные проблемы кросс-платформенного взаимодействия, в частности конвертацию ASCII- и EBCDIC-данных, различия в диалектах SQL, командах, типах данных, строении каталогов. В настоящее время архитектуру DRDA поддерживают прежде всего все серверы семейства DB2; остальные производители реализовали продукты типа DRDA-реквесторов, которые позволяют прикладным программам-клиентам иметь доступ к базам DB2, например к DB2/390.

Типичный пример такого DRDA-реквестора производства IBM - продукт DDСS (рис. 1), работающий на OS/2, AIX, Windows, Windows NT, служащий многопользовательским шлюзом к DB2 для пользователей локальной сети или, в случае однопользовательского варианта, работающий на компьютере клиента. Реализация поддержки DRDA по протоколам TCP/IP, в добавление к традиционной поддержке протоколов SNA, в новых версиях серверов DB2 и шлюзов DDCS значительно упрощает многочисленным пользователям доступ к базам данных DB2 на мэйнфреймах и AS/400.

Picture 1

Рисунок 1.

DB2 Common Server

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

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

Целью проекта IBM Starburst в конце восьмидесятых годов было создание такой расширяемой системы управления реляционными базами данных. Под расширяемостью при этом понималась возможность поддерживать новые методы хранения данных, добавлять новые методы доступа к данным, предоставить пользователям возможность определять свои операции над данными и встраивать новые методы оптимизации. Практическим результатом проекта Starburst и его продолжения проекта Starwings было появление семейства DB2 Common Server в 1993 г.

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

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

Оптимизатор DB2 является одним из наиболее важных компонентов, обеспечивающих DB2 высокую производительность и адаптацию к различным задачам. DB2 строит так называемую QGM (Query Graph Model) для внутреннего представления запросов и использует ее на этапах проверки семантики запросов, преобразования запросов к оптимальному виду и построения плана исполнения запроса.

Расширяемость QGM позволяет легко добавлять к SQL DB2 новые конструкции и, в частности, объектно-ориентированные расширения.

При анализе плана исполнения запроса оптимизатор, используя статистику каталогов и параметры аппаратной части, оценивает эффективность (иногда готорят стоимость) того или иного плана исполнения запроса и выбирает наилучший. Один из административных компонентов DB2, Visual Explain, позволяет наглядно представить выбранный план исполнения запроса и даже оценить его эффективность при изменении параметров системы, например при удвоении объема данных в таблице.

Объектно-реляционные свойства DB2

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

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

Не имея возможности указать сроки и полноту реализации в новой версии DB2 Universal Database, появляющейся во второй половине 1997 года, новых объектно-ориентированных возможностей, таких как абстрактные типы данных, сошлемся на то, что уже есть в предыдущей версии DB2 Common Server.

DB2 Сommon Server, появившаяся в 1995 году, уже содержит инфраструктуру для реализации объектно-ориентированных функций, на основании которой построены реляционные расширения DB2 (relational extenders). Расширения позволяют определять структуру, атрибуты и поведение новых типов данных, сохранять эти данные в таблицах DB2 и затем использовать их в SQL-выражениях (рис. 2). В общем случае при создании новых типов данных используется UDT (User Defined Type - определяемые пользователем типы данных) DB2, часто основанные на применении больших объектов DB2, поведение новых типов данных определяется с помощью нескольких UDF (User Defined Function - определяемая пользователем функция). При этом механизмы триггеров (triggers) и ограничений (constrains), предлагаемые DB2, оснащающие базу данных возможностями хранить правила поведения данных, могут использоваться для управления внутренней структурой новых сложных типов данных.

Picture 2

Рисунок 2.

Большие объекты

Подобно некоторым другим базам данных, DB2 Common Server позволяет хранить данные в больших бинарных (BLOB) и символьных (CLOB) объектах. Размер объекта может достигать 2 Гбайт.

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

Кроме того, IBM предлагает специализированные программные и аппаратные решения, такие как Digital Library, ориентированные на хранение и высокопроизводительную обработку мультимедийных данных и на взаимодействие с DB2.

Определяемые пользователем функции

Кроме многочисленных встроенных функций пользователи могут создавать свои новые функции на С, C++, Basic. Определяемые пользователем функции (UDF) могут принимать параметры и использоваться в любом SQL-выражении. После написания и компиляции программы, реализующей новую функцию, она регистрируется на сервере базы данных при помощи оператора CREATE FUNCTION. DB2 поддерживает перегрузку имен функций, позволяя применять несколько функций с одинаковыми именами и различными наборами параметров.

Определяемые пользователем типы данных

DB2 Common Server позволяет разработчикам на основании базовых типов данных определять новые, свои собственные типы данных, имеющие внутреннее представление, аналогичное базовым, и свой собственный набор разрешенных операций, при помощи оператора CREATE DISTINCT TYPE. Источником таких операций могут быть как встроенные функции, так и определенные пользователем.

Relation Extenders

Реляционные расширения (relational extenders) предназначены для использования объектной инфраструктуры DB2 для приложений определенного типа. Например, Text Extender предназначен для работы с текстовыми документами, хранящимися в больших объектах базы данных и организации в них поиска информации. Кроме объектно-ориентированных возможностей DB2 Text Extender использует технологию IBM для высокопроизводительного лингвистического поиска. Для работы с Text Extender пользователь DB2 получает в свое распоряжение ряд дополнительных административных команд, при помощи которых определяется, для каких баз данных, таблиц и колонок будет поддерживаться текстовый поиск, какой тип поискового индекса будет создан - лингвистический или точный, какой режим обновления индекса будет поддерживаться и так далее. Функции CONTAINS, NO_OF_ MATCHES, RANK, используемые в SQL-выражениях, возвращают результаты поиска образцов в документах, количество найденных образцов в каждом документе, оценку частоты повторяемости образца по сравнению с другими документами. Набор API для разработчика позволяет писать клиентские приложения, оперирующие с найденными в процессе поиска документами.

Другие расширения Image Extender, Video Extender, Audio Extender предназначены соответственно для работы с изображениями, видео- и аудиозаписями.

Кроме предлагаемых IBM реляционные расширения для DB2 могут быть разработаны самостоятельно.

DB2: построение информационных хранилищ данных

Информационные хранилища данных

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

Для использования хранимых данных как исходного материала для аналитических исследований структура этих данных и их содержание должны быть переориентированы с задачи фиксации текущего делового процесса на задачу представления и анализа предметной области.

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

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

Качественное изменение характера данных в информационных хранилищах и изменение характера работ, производимых над базой данных, требуют определенных технологических изменений в ядре самой СУБД, в частности поддержания новых методов хранения и размещения данных и новых методов поиска.

DB2 кроме естественной роли быть источником операционных данных для пополнения хранилищ обеспечивает хранение самих информационных данных и эффективное выполнение сложных запросов, включающих многочисленные соединения таблиц, вычисления и методы группировки данных. В частности, уже сейчас оптимизатор DB2 Common Server поддерживает оптимизацию запросов к базам данных, смоделированным по принципу звезды (Star Schema), широко используемым для OLAP (Online Analitical Processing) приложений и состоящим из большой таблицы фактов и нескольких таблиц размерностей.

Остановимся только на некоторых опорных пунктах, а именно на поддержке выполнения сложных запросов к очень большим базам данных (VLDB) и продукте Visual Warehouse.

Для поддержки очень больших баз данных объемом в сотни гигабайт и даже терабайт семейство DB2 предлагает два решения, основанные на технологиях распараллеливания - DB2/390 в Parallel Sysplex и DB2 Parallel Edition.

DB2 в Parallel Sysplex:
Архитектура Data Sharing

DB2 для MVS хорошо известна как система, обеспечивающая хранение очень больших баз данных для OLTP-приложений.

Тенденция к децентрализации и распространение вычислительных систем на уровне отделов и рабочих групп вызвали перенос части OLTP-приложений с централизованных систем и появление в организациях многоуровневой системы серверов баз данных различного масштаба. При этом для DB2 для OS/390 появилась новая роль централизованного корпоративного хранилища данных и информации для широкой распределенной структуры.

На сегодняшний день размер одной таблицы в DB2 может достигать 1 Tбайт, или 254 независимых разделов по 4 Гбайт. Возможности независимой работы с многочисленными разделами при выполнении запросов и утилит позволяют достичь значительной производительности системы.

Смена процессорной базы текущего поколения мэйнфреймов IBM с биполярных процессоров на CMOS-процессоры сделала актуальным использование комплексов из нескольких систем ОS/390, связанных в единый Parallel Sysplex.

Parallel Sysplex предоставляет возможность нескольким экземплярам DB2 образовать группу, имеющую общий доступ через высокоскоростные каналы к дисковому массиву и возможности эффективной координации работ между членами группы через специальные программно-аппаратные компоненты, так называемые Coupling Facility.

При помощи Coupling Facility для всех серверов DB2, входящих в группу, организуется доступ к глобальной информации о блокировках и контроль конкурирующих операций на запись и чтение данных, единый групповой пул для часто используемых данных, доступ к единому каталогу базы данных, коммуникации между членами группы (рис. 3).

Picture 3

Рисунок 3.

Архитектура DataSharing позволяет масштабировать решения путем подключения дополнительных серверов и при увеличении объемов данных, и при увеличении количества и сложности запросов. При выполнении сложных запросов поддерживается техника разделения запроса на отдельные задачи и выполнение этих задач параллельно несколькими серверами DB2, входящими в Sysplex.

DB2 Parallel Edition

DB2 Parallel Edition создана на основе DB2 для RS/6000 и предназначена для поддержки приложений, требующих выполнения сложных запросов к большим массивам данных. DB2 Parallel Edition использует технологию Sharing Nothing, позволяющию почти линейно масштабировать систему до сотен и даже тысяч параллельно работающих узлов.

DB2 Parallel Edition разработана для работы на различной аппаратной архитектуре, на системах POWERparallel SP2, на комплексах HACMP/6000 и группе рабочих станций RISC/6000, связанных локальной сетью.

Данные любой базы данных распределяются между несколькими узлами DB2 Parallel Edition с использованием схемы хеширования. При этом алгоритмы распределения данных обеспечивают сбалансированность работы между узлами, позволяющую избежать перегрузки одних узлов и простоя других, и минимизирование передачи данных между узлам во время исполнения запросов, например, при соединении таблиц.

Запросы в DB2 Parallel Edition автоматически разделяются на подзапросы оптимизатором координирующего узла, и план исполнения запроса рассылается другим узлам, конечные результаты запроса возвращаются координирующему узлу и затем передаются клиенту. На производительность DB2 PE решающее влияние оказывают быстродействие каналов обмена между узлами и правильное распределение данных между узлами.

Пополнение хранилищ

IBM предлагает набор продуктов для репликации данных между серверами семейства DB2, а также между DB2 и базами данных других производителей. Решение от IBM DataReplication состоит из двух типов компонентов Capture и Apply для всех платформ, где функционирует DB2. Компоненты Capture предназначены для выборки из базы данных источника измененных данных и организации таблиц для промежуточного хранения и обработки реплицируемых данных. Компоненты Apply ответственны за передачу реплицируемых данных между серверами баз данных и добавление их в целевые таблицы.

Visual Warehouse: готовое решение для групповых хранилищ

Сложность построения хранилища данных, охватывающего все источники данных большой корпорации или предприятия, заставляет иногда предпочесть локальные и более дешевые варианты внедрения небольших информационных хранилищ (datamarts) для отдельного подразделения или конкретной предметной области. Продукт IBM Visual Warehouse (рис. 4) использует в качестве основы административной базы данных для хранилища DB2 для OS/2 или Windows NT и серверы из семейства DB2 для самого хранилища.

Picture 4

Рисунок 4.

Компоненты собственно Visual Warehouse обеспечивают процесс преобразования данных из баз данных DB2, Oracle, Informix, Sybase, ODBC - источников в информационные данные, и организуют семантически значимые представления (business view) для разнообразных аналитических, статистических и отчетных приложений клиентов.

В центре процессов построения хранилища находятся метаданные. Visual Warehouse получает метаданные из словарей данных и каталогов баз-источников, из моделей данных CASE-средств или использует определения администратора и определяет элементы данных, правила их преобразования из различных форматов в базы хранилища, расписания для пополнения хранилища из источников, шаблоны для представления данных конечным пользователям.

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

Результирующие данные Visual Warehouse организованы в наборы, отвечающие уже сути предметной области, а не оперативному документообороту, обслуживающему эту область.

Другой важнейшей функцией, которую выполняют административные компоненты Visual Warehouse, является автоматизация непрерывных процессов создания и управления хранилища.

Data Mining

Продукт IBM Intelligent Miner (рис. 5) представляет собой интегрированное средство для сложного анализа данных, хранящихся в реляционных базах данных и файлах. Он позволяет добывать из баз данных ранее неизвестную и содержательную информацию, предоставлять ее для анализа и принятия решений.

Picture 5

Рисунок 5.

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

В отличие от других средств анализа данных, в частности от OLAP-средств, когда пользователь может проверять готовые гипотезы о закономерностях в данных, средства data mining позволяют выявлять скрытые закономерности в данных, включающие такие факторы, которые могут отсутствовать в гипотезе, сформулированной самим пользователем.

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

Набор API для приложений-клиентов позволяет разработчикам создавать свои собственные приложения, использующие алгоритмы Intel-ligent Miner. Для конечных пользователей Intelligent Miner имеет функцию подготовки данных к поиску и представления найденной информации в графическом виде. Серверные компоненты Intelligent Miner функционируют в настоящее время под AIX, OS/390, OS/400.

QMF

По сравнению с многочисленными средствами создания отчетов и запросов для персональных компьютеров и рабочих станций, аналогичных средств для хост-систем не так много, поэтому упомянем QMF (Query Management Facility) как решение для DB2/390. В своем составе QMF имеет средство формирования запросов, редактор таблиц, средство составления отчетов и обеспечивает интерфейсы для поддержки приложений. QMF поддерживает несколько методов формирования интерактивных запросов. Результаты запроса могут быть выведены на экран в самых разных форматах, включая табличный, матричный, свободный и графический.

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

Клиентский компонент QMF для работы в среде Windows, который известен под названием Shuttle, дает пользователям возможность выполнять запросы QMF к центральному хост-компьютеру и выводить результат на экран рабочей станции для встраивания в другие программные продукты для рабочих станций, например в электронные таблицы Lotus 1-2-3 или Microsoft Excel.

DB2: доступ к данным через Internet

Стремительное развитие Internet и рост популярности WWW, наблюдаемые в настоящее время, открывают новые возможности использования баз данных.

С одной стороны, многое обещает организация доступа огромного числа пользователей Internet к коммерческим OLTP-системам. Распространение intranet как технологии для корпораций делает эту задачу еще более актуальной.

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

Использование в Internet потребовало создания определенных дополнений для DB2, таких как поддержка JDBС, приложений, хранимых процедур и UDF, написанных на Java, и дополнительных программных средств для взаимодействия с серверами Inter-net, такими как DB2 WWW Connection и являющимся его развитием Net.Data.

Net.Data

DB2 WWW Connection представляет собой CGI-приложение, по запросу пользователя динамически формирующее HTML-страницы на основе данных DB2 и позволяющее просматривать и обновлять их с использованием Web-броузера.

DB2 WWW Connection работает с любым CGI совместимым Web-сервером, в том числе с IBM Internet Connection Server. Конкретное описание того, как данные будут преобразовываться для данного приложения, содержится в макрофайлах DB2 WWW Connection. Макрофайлы содержат описание вводных и отчетных HTML-форм, определения переменных и SQL-команды. Использование стандартных языков HTML и SQL вместо гибридных диалектов позволяет применять при написании макрофайлов любые визуальные редакторы HTML и средства генерации запросов к базам данных.

Развитием DB2 WWW Connection стал продукт Net.Data (рис. 6), который может действовать как CGI-приложение или взаимодействовать с серверами Internet различных производителей через их интерфейсы (поддерживаются NSAPI, ISAPI, ICAPI). Net.Data существенно расширяет возможность применения различных языков (из макрофайлов возможен вызов дополнительных программ, написанных на Perl, REXX, Java) и баз данных. Он может взаимодействовать с DB2, Oracle и Sybase, а также с любым ODBC-совместимым источником данных.

Picture 6

Рисунок 6.

Одной из проблем, возникающих при доступе к базам данных через WWW, является отсутствие постоянного соединения между сервером баз данных и клиентом. Для решения этой проблемы Net.Data оснащена менеджером коммуникаций (connection manager), который организует систему специальных процессов (cliettes) для поддержания постоянного соединения с базой данных. Это позволяет избегать многочисленных переподсоединений к базе во время выполнения серии запросов, организовать одновременный доступ к нескольким базам данных и построить, в случае большой результирующей выборки, механизм постраничного скроллируемого просмотра данных на экране пользователя.

Применение Net.Data позволяет использовать всю функциональность сервера DB2 через Internet.


Литература

1. DB2 for MVS/ESA Version 4 Data Sharing Performance Topics.

2. Donald D. Chamberlin. Anatomy of an Object-Relational Database. DB2 Magazine. Vol. 1, # 1.

3. DB2 Text Extender. Administration and Programming.

4. The IBM Visual Warehouse Solution. IBM White Paper.

5. Net.Data Programming Guide.


Николай Игнатович, IBM East Europe/Asia, Москва,
тел.: (095)940-20-00, ignatovitch?@at.ibm.com