СУБД
Десять лет разрабатывает Сергей Савушкин (фирма Technopoles-M, http://sites.netscape.net/savtechno/) объектно-реляционную СУБД Sav Z. Рейтинговое агентство SoftBase (http://softbase.hypermart.net/), оценивающее тысячи программных продуктов разных категорий, поместило Sav Z на 48-49-е места (ОРСУБД и объектный Web-сервер) в списке 60 самых популярных баз данных и средств разработки для Web. Sav Z обогнала, например, File Maker Pro 4.0 и MS Visual Basic Enterprise Edition 6.0 и отстала на две позиции от MS SQL Server Enterprise Edition/Windows NT 7.0 (данные на 25 марта 2000 г.).
Так выглядит работа Web-сервера БД Sav Z
Сначала эта СУБД разрабатывалась на PL/1 для ЕС ЭВМ, затем была переписана на Си, а потом перенесена на платформу Java. В 1997 г. на Java был реализован процессор Sav Associative Processor - набор библиотек, предоставляющих доступ к данным по модели Sav Z. На следующий год фирма Technopoles-M выпустила интерпретатор языка Z - придуманного им объектного языка, позволяющего описывать структуру БД и формировать к ней запросы (по мнению г-на Савушкина, SQL - слишком “низкоуровневый” язык для работы с СУБД, писать на нем - примерно то же самое, что программировать на ассемблере).
Внутренняя структура СУБД Sav Z представляет собой семантическую сеть - узлы и связи между ними, а процессор поддерживает возможность навигации между узлами.
На языке Z (в специальном интерактивном редакторе) конкретный экземпляр “Иванов” класса “Сотрудник” с полями “Зарплата” и “Возраст” может быть записан так:
Сотрудник : Иванов ( Зарплата : 100, Возраст : 25 );
В дальнейшем допускается изменение этого описания - например, чтобы добавить новое поле “Должность”, надо выполнить команду:
Сотрудник : Иванов ( Должность : программист );
Чтобы получить список всех сотрудников со значениями полей “Зарплата” и “Должность”, надо выполнить оператор
$x = { = Сотрудник : ( Зарплата : , Должность: ) };
В переменной x окажется соответствующий набор записей.
При формировании запросов допускается применение основных операций над множествами (объединение, пересечение, исключение), использование условий И, ИЛИ, НЕ и т. д.
По словам автора, Sav Z на тестовой БД объемом 70 Мб (200 тыс. записей) по быстродействию примерно в два раза обгоняет настольную СУБД MS Access. Это достигается благодаря оригинальной системе индексации: при первоначальной загрузке табличного файла в БД индексация происходит медленно, но не требует повторного переиндексирования при добавлении новой записи. Такая возможность полезна при работе со справочными СУБД, не нуждающимися в частом и полном обновлении БД. Немаловажно, что с ростом объема БД время доступа Sav Z к данным растет медленнее (зависимость близка к логарифмической).
Следующим логическим шагом стало создание на основе Sav Z в 1999 г. Web-сервера баз данных. Он может работать с любым сервером, поддерживающим сервлеты (выполнение Java-модулей на сервере) и сам представляет собой сервлет.
Схема работы Web-сервера такова: сервер на основе данных, хранимых в БД, описанной на языке Z или импортированной из табличного файла, формирует HTML-страницы, которые предлагают пользователю различные режимы навигации по БД (информация при этом представляется в привычной табличной форме). БД также может содержать ссылки и быть промежуточным звеном для навигации в Интернете.
В ближайших планах Technopoles-M - возможность корректировки данных в БД из браузера.
Процессор, ОРСУБД, интерпретатор и Web-сервер распространяются как shareware.
Technopoles-M: (095) 330-9999, доб. 9741.