Современные базы данных верхнего ценового диапазона полностью соответствуют вычислительным потребностям крупных организаций. Однако небольшим и средним предприятиям и отдельным подразделениям больших компаний нужны более дешевые базы данных, простые в установке, эксплуатации и обслуживании. Pervasive.SQL 2000i компании Pervasive Software — именно такая СУБД среднего уровня, подходящая для решения проблем данной категории пользователей, численность которой постоянно растет.

Pervasive.SQL пришла на смену СУБД Btrieve, которая использовалась в качестве встроенной базы данных в тысячах приложений и за долгие годы приобрела репутацию высокопроизводительной и надежной системы, работающей даже в отсутствие высококвалифицированных администраторов БД. В Pervasive.SQL 2000i производительность обработки транзакций и надежность Btrieve соединились с мощью и гибкостью реляционной СУБД.

Сведения о программном продукте

Pervasive.SQL 2000i

Производитель:: Pervasive Software, http://www.pervasive.com

Минимальные требования:

Версии Workstation и Workgroup: Windows 2000/NT 4.0 (SP3 или более поздний), Windows 9x/Me (поддерживаются приложения DOS, Win16 и Win32); процессор -- начиная с Intel 486, 35 Мбайт свободного пространства на жестком диске, 10 Мбайт оперативной памяти.

Версия Server, сервер базы данных: Windows 2000/NT 4.0 (SP3 или более поздний), Netware 3.2, 4.11, 5.0; Linux (версия ядра 2.2, библиотека Glibc 2.0); процессор Intel 486 или старше, 8035 Мбайт свободного пространства на жестком диске, 32 Мбайт оперативной памяти; Sun Solaris 7, 8 или более поздняя на SPARC.

Версия Server, клиент: Windows 2000/NT (SP3 или более поздний), Windows 9x/Me (поддерживаются приложения DOS, Win16 и Win32), Windows 3.11, DOS 5.0 или более поздняя; процессор Intel 486; Windows: жесткий диск, 10 Мбайт оперативной памяти; DOS: 1 Мбайт свободного пространства на жестком диске, 640 Кбайт оперативной памяти.

Совместимость: ODBC, JDBC, классы Java, ADO, OLE DB, элементы управления ActiveX, компоненты PDAC, Btrieve и интерфейс DTI.

Цена: пользовательская лицензия на версию Workstation — 25 долл.; версия Workgroup — 125 долл. за первые три пользовательские лицензии; версия Server — 1195 долл. за 10 пользовательских лицензий, 11 995 долл. за неограниченное число лицензий; пакет SDK — 149 долл.; I*net Data Server — 495 долл.; Интернет-лицензия — 2495 долл.

Возьмем отовсюду самое лучшее

На рынке баз данных Pervasive конкурирует с такими поставщиками, как Oracle, IBM, Microsoft и Sybase. Однако Pervasive.SQL 2000i предназначена потребителям корпоративных систем начального уровня, которым не по карману развертывание и эксплуатация крупных высокопроизводительных баз данных. Преимущества Pervasive заключаются в более низкой совокупной стоимости владения и возможности поддерживать систему, не прибегая к услугам высококвалифицированных администраторов БД.

С другой стороны, Pervasive сравнима с такими базами данных среднего уровня, как FoxPro и Access корпорации Microsoft, а также dBase, MySQL и PostgreSQL. Продукт компании Pervasive обладает многими традиционными функциями БД уровня предприятия, в частности, межплатформенной переносимостью, масштабируемостью вплоть до тысяч пользователей, надежными процедурами резервного архивирования и восстановления, развитыми механизмами оптимизации и поддержкой популярных программных интерфейсов. Наиболее примечательная особенность Pervasive.SQL 2000i — это, несомненно, ее способность обеспечить как транзакционный, так и реляционный метод доступа к данным.

Единство в разнообразии

Pervasive.SQL 2000i поставляется в трех вариантах. Версия Workstation представляет собой однопользовательскую, «настольную» систему, подходящую для разработки и тестирования приложений. Версия Workgroup может развертываться без сетевого сервера и обслуживать группу численностью до 10 пользователей. Версия Server предназначена для высокопроизводительных сред, в которых требуется вся мощь настоящего клиент-серверного решения. В эту версию входит клиентский компонент, который устанавливается на всех клиентских рабочих местах и служит для связи выполняемых на них приложений с сервером. Масштабирование приложений при переходе от одной версии к другой выполняется без проблем, так как один и тот же исходный код работает на всех версиях. В этом обзоре мы рассмотрим версию Server.

Pervasive.SQL 2000i совместима со многими платформами, в том числе с Novell NetWare, Microsoft Windows NT, Sun Solaris и Linux. Поскольку файлы базы данных для всех перечисленных ОС совместимы между собой на двоичном уровне, при переходе на другую платформу достаточно просто скопировать их.

Pervasive.SQL 2000i предоставляет приложениям как транзакционный, так и реляционный доступ к базе данных. При доступе на основе транзакций используется интерфейс Btrieve API. Это низкоуровневый API, который взаимодействует непосредственно с процессором базы данных. Доступ к данным на основе транзакций — самый прямой и поэтому быстрый. Этот подход идеален для объемных транзакций, в которых чрезвычайно важно быстродействие отдельных операций ввода-вывода.

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

Правильные связи

Взаимосвязь между разными БД долго была ахиллесовой пятой приложений БД. Pervasive предоставляет ряд интерфейсов для подключений к базе данных из приложений. В частности, поддерживаются механизмы ODBC, JDBC, классы Java, ActiveX Data Object (ADO), OLE DB, элементы управления ActiveX, компоненты Pervasive Direct Access Components (PDAC), Btrieve и интерфейс Distributed Tuning Interface (DTI).

Подключение по протоколу ODBC, как правило, не отличается высокой скоростью, поскольку ODBC-интерфейсы обычно реализуются как надстройка поверх фирменных реляционных API. В Pervasive.SQL 2000i эта проблема решена путем реализации полностью интегрированного ODBC-интерфейса как на клиентском, так и на серверном уровне. Приложения, разработанные для этого интерфейса, получают непосредственный доступ к процессору базы данных, и им не требуется «проходить» через дополнительные иерархические уровни.

Программистам, работающим с языком Java, Pervasive.SQL 2000i предоставляет как реляционный интерфейс JDBC, так и транзакционные интерфейсы классов Java. Драйвер JDBC соответствует концепции Pure Java, а значит, приложения, в которых применяется этот интерфейс, способны работать на любой платформе, поддерживающей виртуальную машину Java и средства разработки Java Development Kit версии 1.1. Библиотеки Java Class Libraries — это набор классов Java, которые предоставляют программистам доступ к высокопроизводительному интерфейсу Btrieve API.

PDAC обеспечивает транзакционный и реляционный доступ из таких сред разработки Borland, как Delphi и C++ Builder.

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

Автоматическое администрирование

Pervasive.SQL 2000i обладает и другими особенностями, призванными обеспечить автоматизацию работы с БД. В частности, следует упомянуть фоновое архивирование, не требующее перерыва в работе базы данных; ведение журнала архивирования с возможностью восстановления с повтором всех завершенных транзакций (roll-forward); ведение журнала транзакций, динамическое кэширование, динамическое выделение файлов, балансировку индексов и новый, основанный на учете загрузки оптимизатор для автоматической подстройки системы.

Утилита Pervasive Control Center, напоминающая модуль Enterprise Manager в Oracle, — графический инструмент управления базой данных. С его помощью разработчик может создавать, изменять или удалять базы данных и отдельные объекты в них. Утилита применяется для настройки политики безопасности БД, для экспорта или импорта данных, конфигурирования параметров клиентских и серверных компонентов Pervasive, а также для проверки непротиворечивости и ссылочной целостности базы данных.

С помощью Pervasive Control Center можно запускать и другие полезные утилиты, например, Monitor (для наблюдения за деятельностью ядра сервера), Function Executor (интерфейс Btrieve), Maintenance (для выполнения операций с файлами и данными), SQL Data Manager (интерфейс SQL), User Count Administrator (для управления счетами пользователей), ODBC Administrator (для задания имен источников данных) и System Analyzer (для анализа системных компонентов и восстановления предыдущей версии базы данных). Правда, было бы удобнее, если бы эти функции непосредственно входили в состав Pervasive Control Center — тогда у пользователя был бы единый центр управления, позволяющий решить все задачи администрирования.

Pervasive вблизи

Я устанавливал Pervasive.SQL 2000i Server на компьютере под управлением Windows 2000. Установка прошла очень легко и заняла менее пяти минут.

Pervasive поддерживает многие функции реляционных баз данных класса high-end, в частности, триггеры, представления, хранимые процедуры и связанные подзапросы. В синтаксисе SQL реализовано большинство функций ANSI SQL-92 и ODBC версии 2.5. Множество поддерживаемых типов данных включает long varchar и varbinary, что позволяет хранить объекты размером до 2 Гбайт. Pervasive.SQL 2000i поддерживает блокировку ключей и страниц данных на уровне строк.

База данных имеет определенные ограничения, так как в ней присутствует интерфейс процессора ODBC. В частности, общее число столбцов, индексов и ограничений в базе данных не может превышать 65 535. Длина имен таблиц и столбцов ограничена 20 знаками. Это несущественные ограничения, если учесть, что Pervasive стремилась создать систему среднего уровня, и все же они способны сузить применимость данной БД в приложениях уровня предприятия.

Комплект для разработчиков Pervasive.SQL 2000i SDK включает полный набор интерфейсов программирования, компонентов и методов доступа к данным, а также типовые приложения, документацию и обучающие пособия для программистов. Вместе с комплектом SDK поставляется модуль I*net Data Server — уникальное средство, дающее разработчикам возможность, однажды создав приложение на какой-либо платформе, затем без переписывания кода развертывать его на других платформах, в том числе в сетях LAN/WAN, в Интернете и интрасетях.

Pervasive — значит всепроникающий

У Pervasive.SQL 2000i огромный потенциал для роста по всем направлениям. С одной стороны, эта система способна занять определенную долю рынка встроенных баз данных, если разработчики освоят быстро растущий сегмент мобильных вычислений. С другой стороны -- у нее есть возможность обогатиться реляционными функциями и превратиться в конкурентоспособную базу данных класса high-end. В частности, добавление OLAP-расширений к синтаксису SQL позволило бы Pervasive занять свою долю рынка витрин данных (data mart).

Если вы ищете дешевую базу данных с функциями класса high-end, обратите внимание на Pervasive.SQL 2000i — возможно, это именно то, что вам нужно.

Ганеш Вариар (Ganesh Variar) — менеджер проектов в консалтинговой фирме Saama Technologies, базирующейся в Кремниевой долине. Обладает 8-летним опытом управления и проектирования решений на основе средств бизнес-аналитики (business intelligence).

С ним можно связаться по e-mail: ganesh_variar@yahoo.com.

Письмо в редакцию

Уважаемая редакция!

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

Хотел бы прокомментировать публикацию «Информационный фундамент предприятия» (автор — Тим Куинлан), Enterprise Partner № 2'2002, посвященную СУБД IBM DB2 Universal Database v. 7.2 и Oracle9i. В целом статья взвешенная, но во врезке на стр.26, на наш взгляд, допущено неточное (недетализированное) утверждение: «IBM лидирует в плане производительности. Продукт Oracle пока не участвует в тесте TPC-W (поддержка операций электронной коммерции) и показывает неудовлетворительные результаты в тесте TPC-C (OLTP)...».

Здесь явная неточность. Дело в том, что Oracle занимает лидирующие позиции (второе, третье и далее места) именно по тесту TPC-C для некластерных (non-clustered) архитектур (см. http://www.tpc.org, раздел Top Ten TPC-C Results by Performance). Для кластерных архитектур (clustered) лидером является Microsoft и занимает первые три места (IBM DB2 на четвертом), далее все места за Microsoft. Но здесь нужно иметь в виду, что в кластерных архитектурах Microsoft использует архитектуру federated databases (федеративные БД), Oracle — кластерную технологию shared disk (разделяемые диски), а IBM — кластерную технологию shared nothing. Принципиально эти технологии различны, и проводить по ним сравнение, на наш взгляд, не очень корректно.

Видимо, автор имел в виду, что Oracle не показывает удовлетворительных тестов на кластерных архитектурах, а именно о них и говорит автор (далее в абзаце «...В этом отношении Oracle придется существенно поработать над RAC»). Но все дело в том, что пока на RAC таких тестов и не проводилось (вы их не увидите в общем списке результатов тестов), т. е. для RAC пока нет вообще никаких результатов — ни положительных, ни отрицательных.

Согласитесь, что это звучит существенно иначе. Нам бы очень не хотелось, чтобы читатели были введены в заблуждение утверждением о неудовлетворительных результатах Oracle и лидерстве IBM. Если Вы посмотрите результаты TPC-C тестов, то в категории non-clustered лидирует продукт Fujitsu SymfoWARE Server Enterprise Edition VLM 3.0, а в категории clustered — продукт Microsoft SQL Server 2000, Enterprise Edition.

С уважением,

Глеб Ладыженский, менеджер по техническому консалтингу представительства Oracle в России и странах СНГ