Pervasive.SQL
Pervasive.SQL — это реляционная система управления базами данных (СУБД), разработанная компанией Pervasive Software (ныне часть корпорации Actian). Система ориентирована на встраиваемые решения, малый и средний бизнес, а также на приложения, требующие высокой производительности при работе с данными на локальных компьютерах или в небольших сетях. Основная особенность Pervasive.SQL — сочетание реляционной модели с навигационным доступом к данным, что позволяет использовать её как в традиционных SQL-запросов, так и в приложениях, работающих с файлами формата Btrieve (Bitrieve).
История
Создание и развитие
Pervasive.SQL ведёт свою историю от технологии Btrieve, разработанной в 1980-х годах компанией SoftCraft. Btrieve представляла собой систему управления данными на основе индексов (ISAM — Indexed Sequential Access Method), которая обеспечивала быстрый доступ к записям без использования SQL. В 1994 году компания Pervasive Software приобрела права на Btrieve и начала интеграцию с реляционным языком запросов SQL. Первая версия Pervasive.SQL была выпущена в 1995 году.
В 2000-х годах продукт получил поддержку транзакций, триггеров, хранимых процедур и репликации. В 2011 году Pervasive Software была приобретена компанией Actian, специализирующейся на облачных и аналитических решениях. После этого Pervasive.SQL стал частью линейки Actian Zen, сохранив совместимость с предыдущими версиями.
Современное состояние
На 2025 год Pervasive.SQL продолжает поддерживаться в рамках продукта Actian Zen (версии 15 и выше). Система используется в legacy-приложениях, а также в новых разработках, где требуется лёгкая, быстрая и надёжная СУБД для встраивания в прикладное ПО.
Архитектура и принципы работы
Двухрежимная архитектура
Pervasive.SQL работает в двух основных режимах:
- Двигатель Btrieve (навигационный доступ) — прямой доступ к записям через индексы, без SQL. Этот режим обеспечивает максимальную скорость для операций вставки, обновления и чтения по ключу.
- Реляционный движок (SQL-доступ) — поддержка стандартного языка SQL (DDL, DML, DCL), включая JOIN, подзапросы, агрегатные функции. Реляционный движок использует Btrieve в качестве низкоуровневого хранилища, преобразуя SQL-запросы в навигационные операции.
Хранение данных
Данные хранятся в файлах формата .DAT (Btrieve) и .DDF (словарь данных). Файлы .DDF содержат метаданные: описание таблиц, индексов, представлений, хранимых процедур. Каждая таблица может быть представлена одним или несколькими файлами данных. Индексы хранятся в виде B-деревьев, что обеспечивает логарифмическую сложность поиска.
Сетевые протоколы
Для доступа к данным по сети Pervasive.SQL использует собственный протокол Pervasive.SQL Server (PSS). Клиентские приложения могут подключаться к серверу через TCP/IP, NetBIOS или IPX/SPX. В современных версиях поддерживается только TCP/IP.
Классификация и версии
Редакции
Pervasive.SQL делится на несколько редакций, ориентированных на разные сценарии использования:
- Workgroup Engine — для однопользовательских или малых рабочих групп (до 5 пользователей). Включает только навигационный доступ.
- Client/Server Engine — для многопользовательских приложений с выделенным сервером. Поддерживает SQL и транзакции.
- Enterprise Server — для крупных организаций с высокой нагрузкой. Включает репликацию, кластеризацию и расширенные средства администрирования.
Версии
Основные версии:
- Pervasive.SQL 2000 (V8) — первая версия с полноценной поддержкой SQL.
- Pervasive.SQL 2000i (V9) — улучшенная производительность и поддержка Unicode.
- Pervasive.SQL 2003 (V10) — добавлены триггеры и хранимые процедуры.
- Pervasive.SQL 2008 (V11) — поддержка 64-битных систем.
- Pervasive.SQL 2012 (V12) — интеграция с облачными сервисами.
- Actian Zen (V15+) — современное название, поддержка Docker и Kubernetes.
Применение
Встраиваемые системы
Pervasive.SQL широко используется в приложениях, где СУБД должна быть встроена непосредственно в исполняемый файл или поставляться как компонент. Примеры: бухгалтерские программы, системы управления складом, торговые терминалы, медицинские информационные системы.
Малый и средний бизнес
Благодаря низким требованиям к ресурсам и простоте администрирования, Pervasive.SQL популярен в компаниях, где нет выделенного администратора баз данных. Система может работать на обычных офисных компьютерах без серверного оборудования.
Legacy-приложения
Многие старые программы, написанные на языке C/C++ или Delphi, используют Btrieve/Pervasive.SQL в качестве основного хранилища. Миграция на другие СУБД часто затруднена из-за специфических функций навигационного доступа.
Преимущества и недостатки
Преимущества
- Высокая производительность при операциях с записями по ключу (навигационный доступ).
- Малый размер дистрибутива (от 50 до 200 МБ в зависимости от редакции).
- Простота развёртывания — не требует установки сложных серверных компонентов.
- Совместимость с Btrieve-приложениями без переписывания кода.
- Низкие требования к оперативной памяти и процессору.
Недостатки
- Ограниченные возможности по сравнению с полноценными СУБД (Oracle, Microsoft SQL Server, PostgreSQL): отсутствие полнотекстового поиска, ограниченная поддержка сложных запросов, слабая масштабируемость.
- Закрытый исходный код — полная зависимость от вендора.
- Устаревший интерфейс администрирования (Pervasive Control Center) в версиях до 2012 года.
- Сложность миграции на другие СУБД из-за привязки к навигационному доступу.
Интересные факты
- Pervasive.SQL является одной из немногих СУБД, которая поддерживает два различных способа доступа к данным (навигационный и реляционный) одновременно, что позволяет использовать её в гибридных приложениях.
- Технология Btrieve, лежащая в основе Pervasive.SQL, была одной из первых систем управления данными для персональных компьютеров, появившейся ещё до эпохи Windows.
- В России Pervasive.SQL использовался в ряде крупных корпоративных систем, включая автоматизированные системы учёта в торговле и логистике, однако с 2010-х годов его популярность снизилась из-за распространения открытых СУБД (PostgreSQL, MySQL) и облачных решений.
Источники
- Actian Corporation. «Actian Zen Product Documentation». 2024.
- Pervasive Software. «Pervasive.SQL 2000 User’s Guide». 2000.
- «Pervasive.SQL: A Relational Database for Embedded Applications». Database Journal, 2005.
- «Btrieve: The History of a Database Technology». Computer History Museum, 2010.
- «Сравнительный анализ СУБД для малого бизнеса». Журнал «Открытые системы», 2012.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →