Pervasive sql - що таке і чим гарний

Роздуми з приводу використання 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 за два роки не довелося жодного разу ремонтувати базу ...

Існує кілька видів поставок 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 переважують. Зараз вони вже позбулися цих забобонів - користуйтеся на здоров'я, тим більше що такий хороший продукт чомусь не отримав широкого визнання.