div.main {margin-left: 20pt; margin-right: 20pt}
Бывают ли СУБД быстрее Velocis?
Большаков Сергей Алексеевич, к.т.н., доцент
Прошло более десяти лет в истории SQL языка и, соответственно,
профессиональных СУБД, ориентированных на его поддержку. В результате развеялись
многие иллюзии, связанные с оценкой сверхуниверсальности такого подхода. Не
вдаваясь в детали, а многие это усвоили на практике, отметим, что существует
целый ряд задач и способов организации данных, для которых SQL технология не
дает ожидаемых результатов. Главными факторами в этих случаях являются
производительность и оперативность доступа к данным. В конечном итоге, из-за
недостаточного удовлетворения пользовательских требований в ряде разработок, не
был получен результат внедрения и распространения создаваемых информационных
бизнес систем. Косвенным подтверждением сказанного выше является и тот факт, что
многие группы разработчиков, работающих в частности на CA Clipper, до сих пор не
нашли приемлемого варианта платформы реализации приложений для перевода своих
систем, в настоящее время успешно функционирующих под ДОС.
В данной статье рассматривается, на наш взгляд, достойная альтернатива
традиционным платформам для реализации информационных систем - Centura/Raima -
Velocis СУБД.
Основной отличительной чертой этой системы является возможность поддержки SQL и
NON SQL технологий взаимодействия с данными из приложений. Под NON SQL
технологией принято понимать такие механизмы доступа к данным, которые
обеспечивают: во-первых, простую навигацию по таблицам - типа "первый",
"последний", "следующий" и т.д., и, во-вторых, сетевую организацию данных для
построения эффективных и наглядных связей между объектами БД. Другим свойством
этой СУБД, которое заложено в самом названии (velocity - скорость, в переводе с
английского языка), является высокое быстродействие доступа к данным. Последние
проведенные измерения показывают (к сожалению, не из официальных источников),
что сервер БД успешно работает при числе пользователей от 300 до 350. Velocis
СУБД обеспечивает работу с базами данных, построенными для RDM++ и интеграцию как
со стороны клиентской, так и со стороны серверной части с ROM (Raima Object
Manager - объектно-ориентированным интерфейсом для RDM и Velocis).
Velocis СУБД - это полнофункциональная, профессиональная СУБД,
ориентированная на значительное число платформ операционных систем, причем как
для клиентской части, так и для сервера БД. Несмотря на свою новизну на
отечественном рынке, этот программный продукт имеет давнюю историю создания и
использования, по своей сути являясь развитием RDM и, для тех, кто любит
историю, - Raima db_Vista. Поэтому тем, кто очень осторожен в выборе новых
программных средств, ответим, что накоплен уже достаточный опыт применения этих
продуктов, причем, несмотря на некоторые нарекания (их избежать никто не может),
в целом, является положительным. Мобильность, которая всегда была "коньком"
продуктов Centura/Raima обеспечивается на следующих платформах операционных
систем: Windows NT - 3.5, 4.0, 2000; Windows 3.1х, 95,98; NetWare 3.x, 4.x;
UNIX; Solaris, OS/2, Linux и других. Поддерживаемые сетевые протоколы: TSP/IP;
SPX; NETBIOS и другие. Со стороны клиента поддерживаются практически любые
системы программирования на языке СС++, MS VB, Java и Delphi.
В состав программного продукта входят: сервер БД, утилиты администрирования,
контроля и проверки БД, компиляторы описаний БД, примеры программ для разных
систем и документация. Для компактных систем и для отладки программного
обеспечения предусматривается локальная полнофункциональная версия сервера
(Standalone). Рассмотрим схему работы СУБД, представленную ниже на рисунке.
Рисунок условно разделен на две части, одна из которых показывает клиентскую
сторону (левая) и другая серверную (правая). Коммуникация между ними
осуществляется на основе выбранного сетевого протокола. Клиенты работают с
приложениями, написанными на языках программирования с использованием API,
которое содержит несколько сотен функций для организации данных и доступа к
данным. Специальные модули NCP для клиента и сервера обеспечивают взаимодействие
с модулями: диспетчера, расширения, сервера БД, библиотеками поддержки. Отметим,
что СУБД Velocis построен по модульному принципу, в него могут быть добавлены и
другие модули, например модуль поддержки ROM, или пользовательские модули
расширения ("модули, специфичные для приложений" - на рисунке), для написания
которых в API предусмотрены специальные средства и функции.
Взаимодействие с БД выполняется сервером БД - RDS (Raima Data Server). В
специальном каталоге хранятся описания БД и описания устройств (Device), на
которые разбито все пространство хранения данных для СУБД. Эти устройства
являются логическими, им соответствуют каталоги и диски, они должны быть видны
серверу для обслуживания БД. Устройства могут быть двух типов: SQL и NON SQL.
Для работы с SQL базами данных пользователь применяет стандартный SQL язык (за
некоторым исключением не поддерживается пока возможность UNION в SELECT),
который расширен для работы с сетевыми моделями данных. Для работы с NON SQL
базами данных используется API, с функциями навигации по данным, ключам, наборам
и так далее. При работе с SQL БД обеспечивается возможность работы в NON SQL
режиме одновременно, к сожалению пока нельзя работать наоборот (такая
возможность есть в RDM).
СУБД Velocis имеет модульную структуру, этого обеспечивает возможность
добавления новых функций и его настройку. Модули расширения СУБД Velocis
управляют базами, обеспечивают защиту данных и их шифрование, делают доступными
из программы административные функции, обеспечивают возможности пользовательских
функций (UDF) и процедур (UDP). В частности одним из модулей является модуль
обработки SQL запросов, и если он не нужен, его можно отключить.
В таком случае пользователь может использовать SQL запросы (выдача,
компиляция и выборка данных) и использовать функции навигации по таблицам в БД.
С точки зрения пользователя это очень удобно, так как для узких мест, где
требуется высокая производительность, он может воспользоваться эффективными
способами доступа, а в тех случаях, где необходим сложный поиск данных,
применять SQL технологию.
Конечно в данной статье невозможно дать характеристику всех качеств этой
сложной, с точки зрения построения, системы. Поэтому мы ограничимся главными
особенностями СУБД Velocis. В целом можно выделить следующие главные свойства
СУБД (отметим еще раз, что это полнофункциональный сервер БД):
Разнородные клиентские и серверные платформы
Усиленная система защиты, и возможность кодирования данных
Блокировки уровня записи и таблицы
Наличие изолированной и многопользовательской конфигурации СУБД
Полный набор утилит для администрирования и сопровождения БД.
Возможность управления ходом выполнения SQL запроса
Поддержка UNICODE и локализация.
Создание редактируемых VIEW (добавление строк)
Исчерпывающая документация и справочная система
Для СУБД Velocis разработана система классов и поддержки
объектно-ориентированного программирования - ROM. Это позволяет не только
эффективно строить программы, но и использовать расширенные возможности:
например, в базовой версии RDM допустимы сетевые связи типа 1:М, а при
использовании ROM обеспечиваются, посредством скрытых механизмов, Структуры со
связями N:M. В планах компании Centura стоят задачи интеграции Velocis и
популярных продуктов Centura (CTD и SQLBase). Уже сейчас существует возможность
доступа к данным под управлением СУБД Velocis, как напрямую через функции API
(любая DLL доступна) из CTD, так и посредством драйверов ODBC, которые
поставляются вместе в СУБД Velocis.
Выбирая СУБД Velocis для своих разработок, Вы получите хорошую основу для
создания эффективных и современных информационных бизнес систем.
|