8.1.2. Насколько возможности серверов баз данных соответствуют потребностям приложений?
Как мы отмечали в вводной части этого раздела, реляционные базы данных обладают достоинствами и недостатками. Для некоторых приложений перевешивают достоинства, для других - недостатки. Можно сказать, что современные серверы реляционных баз данных (такие как Infor- mixOnLine версии 6 и выше, Oracle 7.x, SybaseV.11) обладают качествами, близкими к предельно возможным при использовании традиционной технологии. Еще возможны совершенствование оптимизации запросов, применение более эффективных методов распараллеливания, реализация более высоких уровней стандарта SQL и т.д., но принципиально при этом ничего не изменится. Реляционные СУБД могут управлять очень большими базами данных; эффективно используют возможности симметричных и массивно параллельных компьютеров; позволяют хранить в таблицах текстовую и графическую информацию произвольного размера; поддерживают достаточно развитое подмножество языка SQL; обеспечивают возможности частичного переноса логики приложений на сторону сервера за счет использования ограничений целостности, триггеров и хранимых процедур.
Существует масса приложений, для которых возможностей современных серверов баз данных хватает с запасом. Это традиционные банковские приложения, системы резервирования билетов и мест в гостиницах, системы управления предприятиями, библиотечные информационные системы и т.д. Основными претензиями со стороны разработчиков таких систем к поставщикам СУБД является не то, что СУБД не может что-то сделать, а то, что она может сделать слишком много, в том числе вещи, абсолютно ненужные данному приложению.
Например, очевидно, что библиотечная информационная система должна быть в состоянии обслуживать одновременно многих пользователей. Но эти пользователи почти всегда только читают информацию, а изменения данных происходят сравнительно редко и не обязательно на фоне продолжающегося оперативного доступа к данным. Конечно, требуется развитый механизм эффективно реализуемых запросов. Тем не менее, используемая СУБД будет включать общие средства управления транзакциями со всеми разновидностями блокировок. И это общая ситуация. Чем большими возможностями обладает СУБД, тем большему числу приложений не потребуется хотя бы часть этих возможностей. При этом сервер остается монолитом, стоит одних и тех же денег и требует для своего использования практически одни и те же ресурсы.
Существует много приложений, для которых средства, предоставляемые традиционными реляционными серверами баз данных, недостаточны. Основной характеристикой таких приложений является потребность в обработке сложноструктурированных объектов, для представления которых средствами реляционных систем требуется использование многочисленных таблиц, над которыми при выполнении приложения приходится выполнять операции соединения. Классическими примерами подобных приложений являются системы автоматизированного проектирования, системы поддержки принятия решений и т.д. Известно, что операция соединения является наиболее трудоемкой в реляционных системах. Время выполнения операции и количество требуемых операций возрастают нелинейно при увеличении размера и числа соединяемых таблиц. Кроме того, и для приложений этой категории часто не требуются все возможности, поддерживаемые сервером баз данных.
Таким образом, мы видим, что несмотря на наличие высокопроизводительных серверов реляционных баз данных, обладающих развитыми возможностями в соответствии с реляционным подходом, в мире информационных приложений существует определенная неудовлетворенность. Компании, производящие СУБД, ощущают эту неудовлетворенность, и чтобы не потерять рынок в будущем, пытаются придать своим продуктам новые качества.
8.1.3. Преобразование реляционного подхода к организации баз данных в объектно-реляционный подход
Мы уже отмечали в начале этого раздела, что радикальным решением всех проблем, свойственных реляционным системам, был бы революционный переход к объектно-ориентирован- ной организации как баз данных, так и систем управления ими. Мы перечислили ряд причин, по которым массовых потребителей баз данных не устроила эта возможная революция. Но дело не только в этом. В конце 1989 г. группа ведущих специалистов в области объектно-ори- ентированных баз данных опубликовала "Манифест объектно-ориентированных баз данных" (перевод на русский язык опубликован в журнале "СУБД", N 4, 1995 г.).
В этом манифесте утверждается, что современная ситуация с ООБД напоминает ситуацию с реляционными системами середины 1970-х гг. При наличии большого количества экспериментальных проектов (и коммерческих систем) отсутствует общепринятая объектно-ориенти- рованная модель данных, и не потому, что нет ни одной разработанной полной модели, а по причине отсутствия общего согласия о принятии какой-либо модели. На самом деле, имеются и более конкретные проблемы, связанные с разработкой декларативных языков запросов, выполнением и оптимизацией запросов, формулированием и поддержанием ограничений целостности, синхронизацией доступа и управлением транзакциями и т.д.
Объектно-реляционный подход возник как эволюционная альтернатива революционному объектно-ориентированному подходу. Заметим, что термин "объектно-реляционные СУБД" вошел в обиход далеко не сразу, и даже сейчас системы соответствующего класса часто характеризуются другими терминами. Точкой отсчета можно считать опубликование в 1990 г. "Манифеста систем баз данных третьего поколения" (перевод на русский язык опубликован в журнале "СУБД", N 2, 1995 г.). В этом манифесте выдвигалась идея и обосновывались преимущества эволюционного развития возможностей СУБД без коренной ломки предыдущих подходов и с сохранением преемственности с системами предыдущего поколения. Частично требования к системам следующего поколения включали просто необходимость реализации давно известных свойств, которые отсутствовали в большинстве текущих реляционных СУБД (ограничения целостности общего вида, триггеры, модификация БД через представления и т.д.). В число новых требований входили полнота системы типов, поддерживаемых в СУБД; поддержка иерархии и наследования типов; возможность управления сложными объектами и т.д.
Другим термином, используемым по отношению к СУБД третьего поколения является термин "расширяемые СУБД". Под этим словосочетанием понимается то, что компания-производи- тель поставляет некоторый базовый остов системы, функции которой в дальнейшем могут на- ращиваться сторонними компаниями или даже пользователями.
Термин "объектно-реляционная СУБД" был внедрен в обиход Майклом Стоунбрейкером, идейным руководителем проектов свободно распространяемых систем Ingres и Postgres и основателем компании Illustra, выпустившей одноименный коммерческий продукт. (На самом деле, система Illustra является хорошо отлаженным и документированным вариантом Postgres). В Postgres были реализованы многие интересные средства, свойственные системам третьего поколения: поддерживалась темпоральная модель хранения и доступа к данным и в связи с этим был абсолютно пересмотрен механизм журнализации изменений, откатов транзакций и восстановления БД после сбоев; обеспечивался мощный механизм ограничений целостности; имелась возможность хранения в столбцах таблицы вложенных таблиц. Допускалось хранение в полях таблицы данных абстрактных, определяемых пользователями типов, что обеспечивало возможность внедрения в базу данных поведенческого аспекта.
Наконец, ведущие компании-производители СУБД стали использовать для идентификации своих серверных продуктов нового поколения термин "универсальный сервер", имея в виду, что в этих продуктах используется объектно-реляционный подход, а также обеспечиваются возможности расширяемости, интеграции с Internet и т.д.
8.1.4. Первые серверные продукты, поддерживающие объектно-реляционный подход
С конца 1996 г. три компании объявили о выпуске серверных продуктов, соответствующих названию "универсальный сервер": Oracle с продуктом Oracle 8, Informix с продуктом InformixUniversalServer и IBM с продуктом DB2 UniversalDatabase. Далее мы приведем краткие характеристики этих систем.
8.1.4.1. Oracle 8
Компания Oracle заявляла, что Oracle 8 будет уметь делать с объектами все, что умеет делать InformixUniversalServer, и даже больше. Однако это не так в первом выпуске Oracle 8 (этот выпуск был официально объявлен 24 июня 1997 г.). В фокусе Oracle 8 находятся расширенная система типов и поддержка бизнес-объектов; появление других возможностей расширяемости ожидается в версии 8.1. Oracle концентрируется на реализации своей сетевой вычислительной архитектуры (NCA - NetworkComputingArchitecture), и в Oracle 8 вносятся улучшенные возможности производительности, масштабируемости, доступности, репликации, разделения дан- ных и т.д.
NCA - это трехзвенная архитектурная структура, основанная на CORBA (CommonObjectRequestBrokerArchitecture - Общая архитектура брокера объектных заявок). В NCA используются расширяющие компоненты, называемые "картриджами", которые могут разрабатываться Oracle или сторонними поставщиками. Впервые использование картриджей приложений и картриджей баз данных потребовалось в OracleWebApplicationServer для организации связи на основе CORBA. В контексте расширяемой среды данных Oracle обеспечивает компоненты на уровне промежуточного программного обеспечения приложений (например, компонент управления транзакциями в WebApplicationServer) и на уровне универсального сервера (Oracle 8). На объектном уровне Oracle 8 поддерживает объектные представления данных с использованием новых объектных типов и существующих реляционных данных. Кроме того, Oracle 8 поддерживает объектный кэш на стороне клиентов и навигацию между объектами по ссылкам. Транслятор объектных типов отображает объекты базы данных в соответствующие конструкции языка Си.
Далее приводится сводка свойств, имеющихся в Oracle 8 и ожидаемых в версии 8.1:
Как видно, в Oracle 8 компания главным образом сосредоточилась на реализации собственных расширений, которых может оказаться достаточно для начала моделирования бизнес-объектов. Возможности реализации расширений сторонними компаниями менее развиты, чем в продуктах Informix и IBM. Это означает, что пользователи Oracle будут вынуждены более долго ожидать наличия полных наборов строительных блоков для построения новых или улучшения существующих приложений. С другой стороны, развитие продуктов Oracle происходит на основе единой архитектуры NCA, которая закладывает базу расширяемости.
8.1.4.2. InformixUniversalServer
Компания InformixSoftware приобрела реальные шансы стать лидером сектора объектно-реляционных систем после приобретения компании Illustra в начале 1996 г. (Заметим, что сотрудниками компании стали все основные разработчики СУБД Illustra, включая М.Стоунбрейкера.) Многие авторитетные специалисты компьютерной индустрии скептически относились к решению компании произвести слияние продуктов Informix-OnLine 7.2 и IllustraServer к концу того же года. Однако компания Informix действительно смогла выпустить в конце декабря устойчивую версию InformixUniversalServer, работающую на трех платформах. К лету 1997 г. UniversalServer был доступен на 10 платформах.
Компания сконцентрировалась прежде всего на общей архитектуре универсального сервера. Внимание обращается на средства, обеспечивающие интеграцию с технологией Internet/Web (с применением продукта WebConnect). Затрагиваются вопросы поддержки сложных данных в средствах разработки и приложениях с использованием недавно объявленного продукта DataDirector (приобретенного вместе с компанией CenterViewSoftware в начале этого года). Этот продукт обеспечивает возможность использования развитых сред разработки (Java, PowerBuilder, VisualBasic и др.), доступ к расширениям в духе SQL-3 и, кроме того, доступ к новым типам данных и функциям UniversalServer.
В своем первом выпуске UniversalServer объединяет средства сервера InformixOnLine 7.2 с расширениями, обеспечиваемыми механизмом DataBlade сервера, и языковыми расширениями, основанными на идеях SQL-3. Новые возможности включают следующее:
Одной из проблем компании Informix, связанной с форсированным внедрением объектно-реляционных средств, является сохранение позиции на бизнес-рынке, которую компании удалось занять на основе InformixOnLine 7.x. До слияния с Illustra основное внимание уделялось производительности и масштабируемости на основе разных видов параллелизма, и именно это определяло лицо Informix на рынке. С появлением UniversalServer эти важные качества продуктов отошли на второй план. Кроме того, компания должна принимать во внимание наличие трех разных серверов баз данных - UniversalServer, OnLine и ExtendedParallelServer.
Однако компании первой удалось продемонстрировать возможность эволюционного перехода к объектно-реляционной технологии с сохранением надежного и высокоэффективного управления базами данных. UniversalServer является развитием OnLine, и именно так следует представлять его на рынке.
8.1.4.3. IBMDB2 UniversalDatabase
Компания IBM ведет исследования в области инфраструктуры расширяемых реляционных баз данных в течение более чем десяти лет. Компания была первой из основных поставщиков, выпустившим на рынок реляционный сервер баз данных с объектными расширениями: DB2 CommonServer 2 (в июле 1995 г.). Теперь IBM готова начать поставки обновленного продукта с новым названием - DB2 UniversalDatabase, представляющего собой слияние начальных объектно-реляционных свойств DB2 CommonServer 2.1 с возможностями параллельной обработки DB2 ParallelEdition 1.2 и доступного на разнообразных мультипроцессорных платформах (симметричных, кластерных и массивно-параллельных). Ключевым моментом является то, что продукты IBM основаны на едином исходном тексте сервера. Это обеспечивает основу новых разработок, тем более что расширения с самого начала базируются на полностью параллельных средах.
Стратегия IBM в области объектно-реляционных баз данных включает четыре основных компонента. Во-первых, универсальная база данных DB2 (UniversalDatabase) находится в стадии бета-тестирования и должна начать поставляться в третьем квартале 1997 г. Во-вторых, разновидность определяемых пользователями типов данных - сильные связи с файлами (robustfilelinks) позволяет DB2 UniversalDatabase активно управлять внешне хранимыми данными с соблюдением требований безопасности и целостности. Реализация этой возможности ожидается к концу 1997 г. Третий компонент стратегии компании - DataJoiner - промежуточное программное обеспечение для доступа к неоднородным базам данных. Этот компонент включает все функциональные возможности сервера DB2, глобальный оптимизатор с расширяемыми знаниями о поддерживаемых источниках данных, возможность компенсировать функциональные различия между этими источниками. В планы компании входит расширение возможностей DataJoiner для работы с объектно-реляционными расширениями. Наконец, IBM разрабатывает компонент объектного слоя, называемый ClientObjectSupport, который обеспечит единое логическое представление всех доступных данных, а также их транзакционную согласованность, управление кэшами клиентов и интеграцию с объектно-ориентированными языками.
Вот сводка расширенных возможностей DB2 UniversalDatabase и средств, которые планируется включить в будущие выпуски:
Текущее состояние продуктов и стратегические планы IBM могут позволить ей занять лидирующие позиции на рынке объектно-реляционных систем. Для этого прежде всего требуется добиться признания и высокого уровня продаж в секторе платформ других компаний (в настоящее время DB2 UniversalDatabase готовится к выпуску на всех платформах IBM, а также HewlettPackard и SunMicrosystems).
8.1.5. Решения ведущих производителей серверов баз данных для их интеграции с технологией Internet/Intranet
Широкое внедрение в практику технологий Internet и, в особенности, Web-технологии существенно повлияло на общую организацию современных информационных систем. Простой и легко осваиваемый универсальный интерфейс Web-браузеров в ряде случаев позволяет не задумываться о программном обеспечении клиентских рабочих мест. Особенности организации Web-серверов позволяют достаточно естественно расширять их возможности, перенося на сторону сервера логику приложений.
Естественной потребностью информационных систем является использование баз данных. Присущие Web-технологии возможности гипермедийной организации документов, естественно, нужны и полезны, но недостаточны. Конечно, новые требования заказчиков не могли не учесть производители СУБД. Сегодня каждая компания ведущей шестерки предлагает собственные решения для интеграции технологии баз данных и Web-технологии. Имеется масса соответствующих продуктов, производимых другими софтверными компаниями, но мы ограничимся кратким обзором средств интеграции, предлагаемых ведущей шестеркой. Заметим, что иногда средства интеграции включаются в состав сервера баз данных, а иногда предлагаются в виде отдельных необязательных компонентов.
8.1.5.1. Решения компании Oracle
Компания Oracle предлагает семейство продуктов WebSystem, предназначенных для облегчения разработки приложений, в которых используются средства Web и базы данных. Семейство включает следующие продукты: OracleWebServer, OracleWebServerOption и OraclePowerBrowser. Продукты основаны на стандартах Web-технологии (HTML, HTTP, SHTTP - SecureHypertextTransferProtocol), сетевых стандартах (TCP/IP, ISDN и т.д.) и стандартах объектных технологий (OLE, CORBA, OpenDoc).
WebServer объединяет сервер баз данных, сервер HTTP и OracleWebAgent. Для поддержки мультимедийной информации WebServer имеет интерфейсы с OracleTextServer и OracleMediaServer. В совокупности эти продукты создают полную среду мультимедиа для построения корпоративных Web-приложений.
Ключевой частью OracleWebServer является WebAgent, который дает возможность Web-клиентам вызывать хранимые процедуры и создавать "на лету" динамические HTML-страницы. Фактически, WebAgent представляет собой шлюз, подключаемый к Web-серверу через CGI (CommonGatewayInterface) и обеспечивающий расширяемые возможности формирования страниц HTML.
Компания уделяет большое внимание безопасности, поддерживая в WebServer развитый механизм аутентификации. В будущем будут поддерживаться все расширения HTML, относящиеся к безопасности.
WebServerOption содержит только сервер HTTP и WebAgent и предназначен для тех заказчиков, у которых уже имеется сервер баз данных и которые желают пользоваться Web-техно- логией.
Наконец, OraclePowerBrowser представляет собой среду разработки Web-приложений на рабочих станциях. Пакет включает развитый браузер, реляционную СУБД Blaze, средства разработки HTML-страниц, локальный Web-сервер и другие средства. Доступны версии PowerBrowser для платформ Microsoft, Macintosh, OS/2 и Motif/UNIX.
8.1.5.2. Решения компании Informix
Компания Informix предлагает продукт UniversalWebConnect, обеспечивающий возможность разработки Web-приложений, которые могут иметь доступ к любой информации, хранимой в базах данных Informix. Для разработки приложений на стороне клиента или сервера промежуточного уровня могут использоваться различные языки: Си, Си++, Java, ActiveX и т.д. Кроме того, WebConnect позволяет обеспечивать широковещательную рассылку информации подписавшимся на нее пользователям.
Для построения интеллектуальных Web-приложений WebConnect обеспечивает следующие сервисы:
8.1.5.3. Решения компании Sybase
Компания Sybase и ее дочерняя компания Powersoft поставляют несколько продуктов, предназначенных для производства Web-приложений, которые имеют доступ к базам данных. Кратко охарактеризуем некоторые из них. (Заметим, что в силу общей ориентации Sybase на компонентную архитектуру, в большинстве случаев эти продукты представляют собой компоненты, которые могут встраиваться в разные продукты.)
NetImpactDynamo - компонент, содержащий средства для построения сложных, динамических, связанных с базами данных Web-узлов. В настоящее время этот компонент поставляется в составе продукта SybaseSQLAnywhereProfessional.
jConnect - полная реализация на языке Java стандарта JDBC. Продукт дает возможность непосредственного доступа к базам данных (без использования промежуточного Web-сервера) из Java-приложений.
PowerSite - полная среда разработки в среде Web. Продукт обеспечивает разнообразные средства разработки, управления и тестирования динамических управляемых данными Web-приложений. PowerSite состоит из редактора и браузера HTML, персонального Web-сервера и средств поддержки активных языков сценариев.
Продукт Sybaseweb.sql дает возможность встраивать операторы SQL и скрипты, написанные на языке Perl, в HTML-страницы, что позволяет создавать персонализированные и кастомизированные страницы.
8.1.5.4. Решения компании IBM
Для интеграции технологии баз данных и Web-технологии компания IBM предлагает продукт DB2 WorldWideWebConnection. Этот продукт представляет собой шлюз с Internet и предназначен для работы с семейством серверов реляционных баз данных DB2 и семейством Web-серверов и защитных экранов (firewall). Кроме того, DB2 WWWConnection работает с продуктами IBM категории промежуточного программного обеспечения, что дает возможность Web-доступа к другим источникам данных.
Web-приложения для DB2, построенные с помощью DB2 WWWConnection, позволяют пользователю использовать для доступа к базам данных из стандартного браузера без потребности в каких бы то ни было изменениях в существующих структурах данных. На основе стандартных языков HTML и SQL строятся приложения, которые взаимодействуют с DB2 с помощью обычных операторов SQL.
Возможно построение двух- или трехзвенных архитектур "клиент-сервер". При двухзвенной организации используются клиентские рабочие места с Web-браузерами и Web-сервер, на котором и производится доступ к DB2. В трехзвенной среде Web-сервер обращается к другим серверам баз данных. Связующие возможности обеспечиваются средствами DistributedDatabaseConnectionServices (DDCS), ClientApplicationEnabler (CAE) и DistributedRelationalDatabaseArchitectureApplicationRequester (DRDAAR).
В трехзвенной организации допускается использование продукта DataJoiner, при применении которого обеспечивается возможность Web-доступа к базам данных Oracle, Sybase, MicrosoftSQLServer и другим реляционным и нереляционным источникам данных. Для повышения уровня безопасности приложений используется криптография.
В настоящее время продукт DB2 WWWConnection доступен на платформах OS/2, AIX, OS/400, MVS/ESA, WindowsNT, Solaris, HP/UX.
8.1.5.5. Решения компании ComputerAssociates
Компания ComputerAssociatesInternational включила средства интеграции с Web-технологией в новый выпуск OpenIngres 2.0. В дополнение к существовавшей в предыдущих версиях системы возможности устанавливать связь между Web-сервером и сервером баз данных на основе CGI, в выпуске 2.0 реализованы встроенные интерфейсные средства для связи с Web-серверами компаний Microsoft, Netscape и Spyglass. Новый макропроцессор позволяет встраивать операторы SQL прямо в HTML-страницы. Во время работы Web-сервер обращается с такими операторами к OpenIngres.
8.1.5.6. Решения компании Microsoft
Компания Microsoft поставляет целый ряд продуктов, предназначенных для разработки Web-приложений, работающих с базами данных. Большая часть этих продуктов входит в состав крупных серверных средств.
В состав MicrosoftSQLServer входит средство SQLServerWebAssistant. Основное назначение этого средства - формировать динамическую HTML-страницу на основе результата SQL-оператора выборки из базы данных.
Внутренним компонентом MicrosoftInternetInformationServer является InternetDatabaseConnector (IDC). Фактически, этот компонент является встроенным шлюзом с SQL-сервером. Получая от браузера HTML-страницу (например, заполненную форму), IDC обращается к SQL-серверу с соответствующим запросом. После получения результатов IDC формирует возвращаемую пользователю HTML-страницу. Другим ключевым компонентом InformationServer является ActiveServerPages (ASP). Это средство позволяет встраивать в HTML-страницы скрипты, написанные на языках VisualBasicScriptingLanguage и Jscript, которые могут производить доступ к ресурсам (приложениям, базам данных и т.д.), расположенным на локальном InformationServer или на других серверах.
Назад | Содержание | Вперед