Pervasive SQL — что такое и чем хорош

2010-06-11 papirosnik Базы данных

Размышления по поводу использования Pervasive SQL  с точки зрения программирования под него и не только.

В своей фрилансовой деятельности довольно часто мне встречались задачи по разработке приложений "настольных" баз данных. При этом надо было учитывать, что ресурсы ПК, для которых эти приложения предназанчены, весьма ограничены. Много лет назад для таких целей использовалсяBDE (Borland Database Engine). Скорости было более чем достаточно и спектр задач им покрывался. Из минусов — отсутствие транзакций как таковых. В каком-то виде они в этом движке они конечно присутствовали, но не соответствовали польностью тем целям, для которых транзакции используются. В частности, при сбое питания в 50%  базу надо было лечить.

Затем на глаза попался Pervasive (PSQL) SQL сервер. Установка, регистрация ) — всё в одно касание. Запускался и работал на тех же машинах, где  использовался BDE без проблем (32мБ ОЗУ, Windows 98)…. В сравнении с Interbase и бесплатным Firebird тех времён — выигрыш в скорости примерно в 2 раза.

Первое, чем покорил этот сервер —  двойственный подход к использованию данных. Можно было пользоваться этим сервером, как файл-сервером, т.е. теми же традиционными сопособами, что и BDE, благо имелись фирменные компоненты для организации такого доступа из Delphi, C++ Buider'a — PDAC(Pervasive Data Access Components). И можно было обращаться к серверу PSQL как к полноценному SQL-серверу, т.е. по схеме "Client-Server",  со всеми вытекающими отсюда плюсами: полноценная поддержка целлостности данных, внешние ключи, язык SQL, лишь в деталях отлицающийся от стандарта и мн. другое. В одном приложении можно комбинировать два этих подхода как угодно. С переходом на PSQL за два года не пришлось ни разу ремонтировать базу…

Во-вторых, сервер оказался легко расширяемым и переносимым. База данных физически реализована в виде словаря метаданных и таблиц в отдельных файлах. Перенос на другой компьютер мог сводится к простому копированию файлов. Например, телефонный справочник в одном моём проекте находился в 2-х файлах (KatStreet, Kattels). Для использования программы в другом городе достаточно было подменить два этих файла и всё — локализация произведена ). PSQL оказался  применим как для приложений "настольных" баз данных, так и для распределённых баз, в т.ч и в Интернет. Можно строить 3-х звенные приложения.

Существует несколько видов поставок PSQL:

  1. Собственно Pervasive SQL server — легковесный, быстрый, простой в настройке и использовании. +PSQL Client'ы. Клиенты ещё легковеснее, из обязательных настроек — требуется указать только имя сервера. На той же машине, где установлен сервер, можно запускать и клиентское приложение — отдельно установка PSQL Client не требуется. Ну соттвественно, выделенный сервер не требуется. Вполне возможно поставить PSQL Server например на компютер главного бухгалтера….
  2. …Но для таких случаев существует ещё одно прекрасное решение — PSQL for Workgroups. В случае небольшой локальной сети (рекоменудется не более 5-ти машин) или одиночного компьютера  сервер вообще можно не ставить. На каждой машине запускаем PSQL for Workgroups и прописываем путь к данным, которые лежат на какой-то одной из них. Всё — работает.
  3. PDAC — инструменты для разработчика приложений баз данных. Повторюсь, для моих нужд (Delphi, C+++ Builder) есть всё необходимое. Для других сред тоже видел (в частности дял Microsoft Visual Studio), но не использовал. Использование — на высшем уровне — всё делается в пару кликов мыши.

Для моих задач наличие PSQL оказалось манной небесной. Иногда правда использую в некоторых  случаях Interbase/FireBird (это тема отдельной статьи), но связано это с вопросами совместимости с существующими сторониими данными. На данный момент существует Pervasive SQ 11, в котором ного вкусного, полезного, удобного. Найти где взять в гугле — не проблема. Скорость разработки приложений баз данных и скорость их выполнения — выше всяких похвал.

PS. Улыбнуло, когда я выкачивал года три назад PSQL 9.5 c официального сайта разработичка (США). Там нужно заполнить регисрационные данные, и я честно указал свою страну — Беларусь. Мне пришёл ответ, что поскольку вы проживаете в стране с тоталитарным режимом, мы с Вам не поделимся ядерными, нано- и другими высокими технологиями… и.т.д. и т.п.  🙂  Но мы не гордые — пришлось брать там, где дают, а не о политике заморачиваются… Плюсы от использования PSQL перевешивают.  Сейчас они  уже избавились от этих предрассудков — пользуйтесь на здоровье, тем более что такой хороший продукт почему-то не получил широкого признания.

BDE, Pervasive SQL, SQL, Базы данных,


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Powered by WordPress. Designed by elogi.