Т.Г. Лаврентьева
Red Square Software, (+7 095) 200-67-40
И.Г. Шабаев
VMARK Russia, (+7 095) 135-70-13
За последние годы произошел качественный скачок в области разработки коммерческих приложений, обусловленный быстрым ростом объемов обрабатываемой информации. Эта тенденция, очевидно, сохранится в ближайшее время. Причем, если раньше внимание в основном уделялось построению систем вычислительного характера, то теперь наиболее важны задачи аналитические, изменения в которых наиболее часты.
В такой ситуации рассчитывать на успех могут только те приложения, которые могут легко адаптироваться к быстро меняющимся требованиям клиентов. Для обеспечения подобной гибкости программные продукты должны удовлетворять основным требованиям открытых систем: независимость от конкретных платформ, соответствие стандартам, возможность использования уже готовых приложений. Сегодня существует большое количество компьютерных систем, интерфейсов, протоколов связи, позволяющих выбрать оптимальный вариант, который является в каждом конкретном случае. С другой стороны, за годы развития информационных технологий разработано огромное количество разного рода приложений, отказываться от использования которых нецелесообразно. Поэтому один из важнейших аспектов при выборе тех или иных программных продуктов - их совместимость с другими системами.
Все разработчики программных систем начали осознавать, что они должны предложить своим клиентам надежную основу для создания архитектуры информационных систем. В связи с этим движение в сторону стандартизации становится все более активным. Недаром одним из основных критериев выбора инструментов при построении приложений "клиент-сервер" является их соответствие стандартам. Одим из лидеров в области производства баз данных, поддерживающих стандарты открытых систем - компания VMARK Software, Inc.
Основные продукты компании - постреляционная СУБД UniVerse и семейство программных продуктов HyperStar, обеспечивающих возможность работы пользователей в технологии "клиент-сервер".
Постреляционная модель данных представляет собой расширенную реляционную модель данных, называемую не первой нормальной формой NF2. Поддержка этой модели в СУБД UniVerse позволяет объединять большинство функций реляционной модели (особенно язык запросов SQL) с дополнительными возможностями поиска, манипулирования и хранения данных. Таким образом, постреляционная модель обеспечивает инфраструктуру, наилучшим образом обеспечивающую решение сложных аналитических задач, требующих обработки больших объемов информации. Она сокращает требуемые размеры памяти и позволяет на той же самой конфигурации связать больше пользователей с базой данных, чем реляционные базы данных.
Постреляционная модель является естественным развитием реляционной модели, появление которой без сомнения было событием в истории развития баз данных. Более того, это позволило создавать программы, независимые от данных, упростить программный интерфейс для конечного пользователя и, наконец, обеспечить безопасность и целостность данных, что очень важно для каждой компании. Но реляционная модель имеет некоторые недостатки. Например, она не обеспечивает достаточную полноту описания реального мира. Возможно, это не очень важно для большинства вычислительных приложений, но существенно для аналитических задач, где объемы обрабатываемой информации так велики, что выполнение операций объединения таблиц (JOIN) превращается в настоящую проблему. Постреляционная модель решает эту проблему путем использования трехмерных структур, позволяющих хранить таблицу в таблице. Вложенность таблиц делает структуру базы данных более наглядной, эффективной и уменьшает ее размеры. При этом сокращается потребность СУБД в памяти для хранения данных, и уменьшаются затраты времени CPU на выполнение приложений за счет исключения операций объединения таблиц. Кроме того, разработчики могут использовать словари для описания взаимосвязей между полями, записями и файлами. Эта возможность хранения описаний в отдельных словарях также позволяет оптимизировать время выполнения приложений. Функция динамического переопределения размеров файлов существенно сокращает затраты на администрирование в системе.
Важное условие для широкого распространения базы данных - возможность ее функционирования на различных Unix-платформах. СУБД UniVerse поддерживает 70 вариантов Unix-систем 20 производителей компьютеров в том числе Hewlett-Packard, Sun Microsystems, Digital Equipment, IBM, Data General, Siemens Nixdorf, может работать под управлением ОС UnixWare фирмы Novell и Windows NT корпорации Microsoft. Некоторые из этих фирм продают программные продукты VMARK как интегрированную часть их компьютерных систем. Особого внимания заслуживает тот факт, что приложения, разработанные с помощью программных продуктов VMARK, легко переносимы с одной платформы на другую.
Ключевым стандартом для баз данных является их поддержка языка структурированных запросов (SQL), на котором основано 90% существующих приложений "клиент-сервер". База данных UniVerse поддерживает стандарт ANSI SQL, причем развитие UniVerse идет в направлении превращения базы данных в SQL-ориентированный сервер, где обработка SQL-запросов приобретает первостепенное значение. Последние версии UniVerse поддерживают расширение SQL для многозначных полей, без предварительной нормализации данных. SQL UniVerse включает в себя все основные операторы SQL и стандартные SQL-функции. Постреляционная модель упрощает написание запросов к базе данных, уменьшая количество правил синтаксиса SQL. Следующий пример показывает, как может упроститься написание SQL-запроса к базе данных UniVerse по сравнению с традиционными реляционными базами данных:
Реляционная СУБД:
SELECT INV_NUMBER, CUST_NUMBER, PART_NUMBER, QTY FROM INVOICES, INVOICE_ITEMS WHERE INVOICES.INV_NUMBER = INVOICE_ITEMS.INV_NUMBER;
Постреляционная СУБД UniVerse:
SELECT INV_NUMBER, CUST_NUMBER, PART_NUMBER, QTY FROM INVOICES;
Упрощение запроса происходит из-за того, что вся необходимая информация содержится в одной основной таблице, куда вложены все вспомогательные таблицы. Поскольку SQL является широко распространенным языком, пользователям, знакомым с ним, нет необходимости изучать другой язык для построения запросов к базе данных.
Структура организации СУБД UniVerse позволяет расширять ее за счет включения в систему новых библиотек функций. Примером такого расширения может служить продукт NewLook, представляющий из себя библиотеку графических функций, которые позволяют строить приложения для OSF/MOTIF, Microsoft Windows, Apple Macintosh, используя все возможности этих систем: окна, цвет, каскадные меню и т.п. Кроме того, разработчики приложений имеют большой набор средств, позволяющий самим расширять возможности системы, программируя нужные им действия. С этой целью могут быть использованы встроенные средства системы: язык BASIC UniVerse, механизм хранимых процедур, установка семафоров и широко используемые в OC Unix языки программирования C и FORTRAN, дополненные функциями, позволяющими работать с файловой системой UniVerse.
Развитие информационных систем требует расширения их возможностей за счет подключения новых компьютеров, поэтому современные СУБД должны поддерживать общепринятые стандарты сетевого обмена. СУБД UniVerse дает возможность доступа к файлам системы как удаленной, так и локальной сети через сетевой протокол TCP/IP с обработкой распределенных транзакций.
Важное место среди продуктов компании VMARK занимает семейство объектно-ориентированных программ HyperStar, обеспечивающих быструю разработку приложений в архитектуре "клиент-сервер". При этом подразумевается, что серверная часть будет функционировать в среде Unix. HyperStar - является набором продуктов для создания приложений в архитектуре "Клиент/Сервер", полностью соответствующих требованиям интероперабельности. Собственно говоря, HyperStar представляет собой набор взаимосвязанных интерфейсов, собранных в единую оболочку. Пользователь может работать с различными базами данных, не вмешиваясь в особенности их хранения, не зная о том, в какой СУБД они хранятся, а представляя данные в виде таблиц. Использование "табличной парадигмы" позволяет избежать различий в SQL разных СУБД; пользователь имеет возможность вообще не использовать SQL при построении приложений. Вместо этого он может пользоваться набором функций для манипуляций над таблицами. Несмотря на то, что HyperStar имеет возможность работать со множеством СУБД одновременно, его не нужно путать с менеджерами транзакций, в данном случае он скорее выступает в роли менеджера ресурсов баз данных, скрывая от прикладной программы их физическое расположение.
HyperStar состоит из пакета программ для Windows (клиентская часть) и набора программ для Unix, каждая из которых взаимодействует с тем или иным сервером баз данных (Oracle, Sybase, Informix, DB2 и др.) Клиентская часть HyperStar состоит из четырех основных компонент. Две первых поставляются только под Windows 3.xx, остальные и для Unix.
STAR/View - интерактивная оболочка для создания и выполнения запросов по шаблонам (QBE). Эта программа MS Windows, благодаря которой неискушенный пользователь, не зная SQL, может просматривать базы данных, указывая критерии выборки, выбирая с помощью "мышки" таблицы и их колонки. У пользователя есть возможность просматривать выбранные данные, переходить в другие таблицы, "проваливаясь" по реляционным ссылкам, интерактивно изменять данные, содержащиеся в таблицах. Если же элемент таблицы содержит много значений, пользователь, нажав кнопку "мышки" на данном элементе увидит, эти значения как небольшую "вложенную" таблицу. При этом он проводит все операции с данными на "клиентской" машине и в конце своих операций должен либо подтвердить все изменения, либо отказаться от них.
STAR/DDE - представляет собой DDE-сервер (DDE - динамический обмен данными - протокол корпорации Microsoft) в MS Windows, выступающий в роли "виртуального сервера" базы данных. К этой программе могут обращаться любые программы MS Windows, поддерживающие DDE механизм для осуществления запросов к базам данных. Это могут быть MS Word, MS Excel, Lotus 1-2-3, WordPerfect, Quatro Pro, Forest & Trees и др. При этом могут использоваться стандартные запросы, созданные с помощью STAR/View. Эту компоненту удобно использовать вместе с Excel или MS Word для быстрого создания отчетов или для разработки системы часто меняющейся отчетности, такой как банковская или бухгалтерская отчетность.
STAR/API - представляет собой библиотеку функций для С, С++, Visual Basic и других языков для доступа к базам данных. Данные для программиста выступают в виде таблиц, и он с помощью обширного набора функций, не используя SQL, может осуществлять различные манипуляции над ними. Имеется возможность включать SQL-команды в программы для их исполнения на сервере.
STAR/ODBC - драйвер ODBC для подключения таких средств разработки, как PowerBuilder, MS Access, и др. Может быть использован один драйвер для доступа к различным базам данных.
STAR/Config - процедура, используемая для подключения серверов баз данных, описания необходимых данных для соединения через TCP/IP или SLIP-протокол. С помощью этой компоненты задается информация для авторизованного доступа к серверам, информация о типах баз данных (GUPTA, INFORMIX, ORACLE, INGRES, UNIVERSE и др.), права доступа пользователя и другая информация. Имеется возможность использовать одновременный доступ к нескольким серверам данных, в том числе и к локальному.
Для обеспечения взаимодействия с другими базами данных компанией VMARK был создан продукт SQLLINK, позволяющий приложениям UniVerse иметь доступ к другим СУБД (Oracle, Informix, Sybase). В новой версии появится возможность доступа в обе стороны, то есть предложения Oracle, например, будут иметь возможность доступа к данным UniVerse. А для того, чтобы приложения реляционных СУБД могли распознать множественные значения, данные будут приводиться в первую нормальную форму (1NF), автоматически, при выполнении запроса. Этот процесс получил название динамической нормализации.
Постреляционная модель - возможная альтернатива для тех компаний, которые не удовлетворены реляционной моделью или хотят перейти от традиционной модели непосредственно к оптимальной модели архитектуры клиент-сервер. Как пишет Джон Моррел (John Morrell), консультант корпорации IDC, "компании выбирают реляционную модель, не давая себе труда поискать более производительный способ обработки данных. Как только пользователи начинают анализировать свои проблемы, выясняется, что эффективность постреляционной технологии в управлении большими массивами быстро изменяющейся информации, например, в бизнес-приложениях, гораздо выше".
Придерживаясь стандартов открытых систем, постреляционная модель в тоже время оказывает свое влияние на их развитие. Версия стандарта SQL3, выход которой запланирован на 1995 год, включает в себя основные характеристики, связанные с концепцией многозначных полей.
В 1994 году VMARK осуществила локализацию UniVerse для российского рынка. Были выявлены все основные проблемы, и сейчас UniVerse поддерживает две таблицы кодировок - ISO-5589/5 и "альтернативную". Поскольку все сообщения, имена таблиц и описания словарей UniVrerse хранятся в отдельных файлах, то больших проблем при этом не возникало. В новых версиях СУБД будет поддерживаться стандарт Unicode, включающий в себя практически все символы национальных алфавитов.
Литература:
- Smith David, Post-Relational Databases: Revitalizing Relational Technology for New Applications, IDC White Paper, March 1994.
- Vaskvitch David, Two Steps Foward, One Step Back, BYTE, May 1992, McGraw-Hill, Inc., NY.