Btrieve

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 16:39, 30 января 2019.
Btrieve
Btrieve.jpg
Btrieve12.png
Скриншот центра контроля
Создатели: Pervasive Software
Разработчики: Pervasive Software
Выпущена: 1993
Постоянный выпуск: Btrieve 6.15 / 16 December 2015 года; 6 years ago (2015-12-16)
Состояние разработки: активна (ответвление в виде Pervasive PSQL)
Написана на: C и C++
Локализация: Английский
Тип ПО: RDBMS
Лицензия: Shareware
Веб-сайт www.pervasive.com

Btrieveсистема управления базами данных, которая позволяет создавать транзакционные, навигационные и реляционные базы данных. Принадлежит к типу RDBMS (Relational Database Management System) и распространяется по лицензии Shareware. Создана компанией Pervasive Software. Использует ISAM (метод организации данных), который должен обеспечивать высокую скорость поиска и извлечения данных. Выпущен компанией SoftCraft приблизительно в то же время, что и первые IBM PC. Существует несколько версий Btrieve для различных операционных систем: для DOS, Linux, старых версий Microsoft Windows: Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003 и Novell NetWare. Один из вариантов модуля обращения к данным использует SQL.

Архитектура

Btrieve имеет дело только с элементарными операциями создания/обновления записей, извлечения/удаления данных. В качестве внутреннего механизма хранения и индексирования данных используется ISAM. Ключевой частью архитектуры, принятой Pervasive Software, является использование микроядерного механизма построения СУБД (англ. MicroKernel Database Engine (MKDE), который позволяет выполнять различные варианты backend в виде модулей, и довольно просто интегрировать их в общий пакет СУБД Pervasive.SQL. Это позволило поддерживать оба механизма доступа к данным — навигационный Btrieve, и реляционный, основанный на SQL, — Scalable SQL (см. Рис. 1).

Рисунок 1 – MKDE модель позволяет подключать к данному программному продукту Pervasive различные варианты backend.

Текущие версии Btrieve поддерживают два вида транзакций: системные и пользовательские. Системные транзакции являются пакетами не-транзакционных операций и/или пользовательских транзакций, а пользовательские транзакции — транзакциями над реальными данными в базе данных. Механизм системных транзакций был создан для возможности исполнения нескольких транзакций в одном пакете и большей простоты восстановления данных.

Именованные области данных на носителе информации, находящиеся в виде структуры, принятой в системах Btrieve, имеют своим содержанием страницы, которые являются долями блоков информации, передаваемыми между оперативными запоминающими устройствами и долговременным хранилищем информации в процессе операций, осуществляющих ввод или вывод, которые выполняются основной программой системы управления базой данных. В версиях, которые предшествовали появлению шестой версии описываемой системой использовались исключительно страницы данных, объекты базы данных, создаваемые с целью повышения производительности поиска данных и специальная запись FCR (англ. file control record), которая содержала важную информацию о файле, находящемся в базе данных под управлением системы, например, размер страницы, число использованных страниц, количество записей в файле, количество ключей, которые могут осуществить индексацию файла, поисковый индекс, привязанный к страницам на физическом уровне представления данных и прочие детали. В шестой версии было введено понятие, называемое логической страницей. В системе создаётся отображение логических страниц на физические страницы, которые имеют фиксированное положение в файле, которые, в свою очередь, находятся в определённом месте на диске. Отображение осуществляется посредством таблицы распределения страниц PAT (англ. page allocation tables), в которой с помощью множества полей устанавливалось соответствие между физической страницей, имеющей определённый адрес в адресном пространстве, и логической страницей, которая служит для создания концептуальной модели файловой системы, обрабатываемой Btrieve. Для того, чтобы предотвратить нарушения логической целостности в базе данных, Btrieve использует два способа осуществления замены устаревших зависимостей новыми: pre-image paging в версиях, предшествующих шестой и shadow paging в последующих. Процесс перемещения от pre-image paging к shadow paging обусловил неизбежный характер принципиальной трансформации всей системы Btrieve, которая привела к кардинальному изменению общей структуры файлов и утрате совместимости между версиями, которые предшествовали шестой, и остальными.

При доступе к файлам, ядро СУБД может использовать две стратегии, сокращённо именуемые SEFS и MEFS, от англ. Single Engine File Sharing (SEFS); Multi Engine File Sharing (MEFS). SEFS подразумевает, что с файлами будет работать только один экземпляр ядра СУБД, в то время как MEFS позволяет нескольким независимым экземплярам работать с одними и теми же файлами одновременно (причём каждое такое ядро будет обслуживать собственных пользователей).

Btrieve имеет большую скорость, а файлы данных, предназначены для эффективной обработки большого объема данных. Одной из основных причин, по которой многие разработчики программного обеспечения выбирают файлы Btrieve является их способность самовосстановления после неожиданных сбоев. Btrieve файлы нельзя уничтожить, а надежность и производительность делают их комплексным решением для бухгалтерского программного обеспечения издателей.

История

Продуктом Btrieve владели и разрабатывали три различные компании: SoftCraft, Novell и Btrieve Technologies, Inc. (позднее переименованный в Pervasive Software). Они имеют преданное и лояльное сообщество разработчиков и, по всей документации компании остаются полностью привержены продукту; на самом деле Pervasive заставили "Btrieve сообщество" признать существующих разработчиков.

В первой версии продукт выступал в качестве менеджера записей. Выпуск Btrieve компанией SoftCraft хронологически приближается к дате выпуска первых IBM PC. Спустя некоторое время после получения большой популярности и доли сферы обмена систем управления базами данных на деньги она [система] была выкуплена компанией Novell для интеграции в принадлежащую ей операционную систему Netware с одновременным развитием версии для MS-DOS. Этот продукт потерпел коммерческий крах. Вслед за этим событием компанией Novell было принято решение о реорганизации внутри компании: продукт был отделён от операционной системы и перешёл в новое качество, переместившись во вновь созданную компанию Btrieve Technologies, Inc.

После версии 6.14 Btrieve разделяется на несколько зависимых модулей. Теперь Btrieve называется одно из двух средств доступа к данным, которые соединены с программным интерфейсом, носящее название Micro-Kernel Database Engine (MKDE). Второй вариант, Scalable SQL, является средством работы с реляционными базами данных, которое использует язык SQL. По прошествии некоторого времени после выпуска нескольких версий компания была переименована в Pervasive Software. Сейчас компания поставляет продукт под названием Pervasive Zen.[Источник 1]

Под MS-DOS до Btrieve версии 5 работала резидентная программа, которая функционировала в качестве интерфейса прикладного программирования (API) движка базы данных, поддерживая прикладные программы с вызовом функций для реализации многопользовательской базы данных с запретом одновременного доступа к данным. Сетевая версия работает аналогичным образом.

В первые годы продукты до 5 версии для MS-DOS версии продавали за относительно высокую цену, порядка $1000, но исполняемый файл движка базы резидентной программы резидентные (TSR-программа) мог быть распространен вместе приложениями без уплаты каких-либо лицензионных сборов.

Программное обеспечение Pervasive

В 1996 году компания переименована в Pervasive Software, а их продукт в Pervasive.SQL. В 1997 году компания стала публичной. Это было сделано для большего проникновения в рынок реляционных баз данных и чтобы переориентироваться как SQL-разработчик, однако Btrieve они по-прежнему распространяют и разрабатывают. Компания Pervasive завершила IPO в сентябре. Компания продолжала использовать MKDE версии 6.30. В 1997 году Pervasive выпустила ScalableSQL 4.0, реляционную базу данных и Btrieve 7.0.

В 2000 году Novell была подвергнута критике после того, как перестала комплектовать Pervasive.SQL с NetWare (начиная с версии 5.1). Вместо этого она поставляется в виде пробной версии, которая деактивируется через 90 дней. Последняя версия PSQL Summit v11 была выпущена в сентябре 2010 года.

Настройка

В Btrieve существует утилита для настройки параметров MKDE. С её помощью пользователи Btrieve могут настроить параметры, классифицируемые по следующим категориям:

  • File settings: в этой категории находятся настройки, которые имеют отношение к файлам, лексические единицы информационно-поискового языка, служащие для описания основного смыслового содержания документа или формулировки запроса при поиске файлов, блокировкам записей, индексам и журналированию. В этой категории, помимо прочего, можно установить максимальное число одновременно открытых файлов, доступных системе и число блокировок записей доступных одному клиенту; установить балансировку индексов и задать опцию создания файлов в форматах предшествовавших 6.x; здесь же устанавливается будет ли микроядро вести журнал действий над выбранными файлами. В этом разделе выбирается механизм совместного использования файлов (MEFS или SEFS). Пункт «system transaction» содержит ограничение, устанавливающее количество системных транзакций выполняемых в процессе операции записи в совместно-используемые файлы.
  • Memory organisation: — эта категория содержит настройки размеров буферов, резервируемых микроядром для различных нужд.
  • Client/System transactions: — здесь находятся настройки параметров транзакций, включая количество поддерживаемых транзакций, где и как они будут записаны в журнал.
  • System resources/directories: — здесь содержатся настройки количества обслуживаемых клиентов и поддерживаемых потоков, а также места размещения различных системных файлов.
  • Trace operations: — содержит настройки трассировки для различных операций выполняемых Btrieve. (Трассировка — продвинутая функциональность, полезная в основном для отладочных целей.)

Версии

Btrieve выпускается во множестве различных версий, которые предназначены для выполнения под управлением различных операционных систем. Также версии различаются по номеру, то есть имеется несколько последовательных версий для исполнения одной и той же операционной системой.

Btrieve для DOS

Существовала одна клиентская (англ. client-based) конфигурация Btrieve для DOS, созданная в SoftCraft. В этой конфигурации ядро Btrieve исполнялось на отдельной рабочей станции. Ядро менеджера записей взаимодействовало с файлами данных напрямую, через вызовы операционной системы, и изменяло записи, которые находились файлы локально или на сетевом ресурсе. Это ядро позволяло одновременно работать с базой данных пяти пользователям одновременно. Все манипуляции с записями проводились локально, на той рабочей станции, на которой работало ядро СУБД. Btrieve для DOS могла использовать обе стратегии совместного доступа к файлам (SEFS и MEFS).

Btrieve для Netware

Btrieve для Netware, по существу, была той же Btrieve для DOS с некоторыми дополнительными возможностями, доступными в то время только на Netware. На файловом сервере запускался процесс BSERVER, и файловый сервер начинал управлять операциями ввода/вывода данных БД, одновременно продолжая предоставлять сетевую файловую систему. Первоначально серверный процесс был реализован как Netware Value Added Process (VAP) под именем BSERVER.VAP, но вскоре был переделан в NetWare Loadable Module (NLM). В основном BSERVER был ядром СУБД, отвечающим за обеспечение доступа к записям, но кроме этого он ещё принимал и исполнял запросы на передачу данных другим серверам. Эти запросы поступали через отдельный процесс называвшийся BROUTER. Для передача запросов ввода/вывода данных из/в БД, на клиентских рабочих станциях использовались т. н. реквесторы (англ. requester), доступные для DOS, OS/2, Microsoft Windows и UnixWare. Программа BREQUEST.EXE принимала запросы через Btrieve API и перенаправляла их сервису BSERVER, а после этого обрабатывала ответ BSERVER и перенаправляла его обратно соответствующему приложению.

Процесс BROUTER позволял перенаправлять поступающие запросы на другой сервер, содержащий копию БД. Он загружался на сервере Netware и занимался коммуникациями между серверными процессами, запущенными на файловом сервере, руководствуясь при этом двумя FST-таблицами (англ. File Server Tables (FST)). В соответствии с документаций Pervasive, эти таблицы содержат список имён и адреса серверов, и таблицу маршрутизации серверов SRT (англ. Server Routing Table (SRT)). Помимо этого, BROUTER мог перенаправлять коммуникационные запросы на соответствующий сервер по SPX, через BSPXCOM, и занимался координацией блокировок и прочих механизмов, контролирующих доступ к данным в БД. Btrieve для Netware использовала те же стратеги SEFS и MEFS для совместного доступа к файлам, что и под DOS, но поскольку могла функционировать в сети, то могла поддерживать как эксклюзивные, так и конкурирующие транзакции.

Btrieve для Windows

Рисунок 2 – Btrieve 12 Windows

Btrieve для Windows (см. Рис. 2) появилась до того, как компания переписала основной код СУБД с использованием MKDE. В ней использовались SEFS и MEFS механизмы совместного использования файлов, механизм shadow-paging, эксклюзивные и конкурирующие блокировки. Файлы версий 6.x и 6.1 обрабатывались различным образом: в файлах версии 6.x возможно было оперировать фрагментами записей, вместо блокировки всей записи целиком; допускались записи более 64KB; были реализованы variable-tail allocation table (VAT), Alternate Collating Sequence (ACS) и новые типы данных; разрешались долевые операции (операции деления?) (англ. percentage operations) (в которых записи могли быть найдены и обработаны по своему физическому местонахождению в файле); разрешались дублирующиеся поисковые ключи. В версии 6.x появилась возможность добавлять и удалять любые индексы во время работы приложения (до версии 6.0 включительно удалять можно было только дополнительные индексы). Файлы версии 6.1 поддерживали конкурентные и системные транзакции; возможность перенумерации ключей; нечувствительные к регистру ACS-таблицы и усовершенствованные операции блокировок.

Btrieve для Windows могла работать как клиент БД использующей SEFS или MEFS режимы, или могла напрямую работать с сервером Btrieve.

Клиентский Btrieve

Для клиентской Btrieve все файлы БД находились либо на локальном компьютере, либо на сетевом диске, подключённом в этому компьютеру (посредством DOS команды NET USE). Приложение выполняло вызовы функций библиотеки WBTRCALL.DLL, являвшейся интерфейсом к загрузчику/реквестору. Модуль загрузчика/реквестора проверял конфигурационный файл BTI.INI на предмет корректной настройки для загрузки клиентского ядра Btrieve, и в свою очередь загружал локальный интерфейс к ядру Btrieve, библиотеку WBTRLOCL.DLL. При необходимости этот локальный интерфейс загружал в оперативную память ядро Btrieve (WBTR32.EXE) и начинал передавать ему запросы к БД. Для доступа к файлам БД, ядро СУБД пользовалось вызовами разнообразных системных библиотек Win32.

Доступ из клиентского Btrieve к серверному

Клиентская версия Btrieve для Windows могла обращаться к серверной через специальный реквестор для DOS. Этот реквестор требовал использования DPMI (DOS Protected Mode Interface), который обеспечивал программы доступом к расширенной памяти, доступной только через защищённый режим процессоров x86. Также как и в случае клиентского интерфейса, Btrieve приложение выполняло вызов к библиотеке WBTRCALL.DLL, которая проверяла BTI.INI, чтобы определить где находится БД, на локальной системе или на удаленном сервере. Если было необходимо работать с удаленным сервером, она использовала Windows версию DPMI для доступа к реквестору BREQUEST.EXE, запущенному под DOS, который уже и устанавливал сетевое соединение с сервером, обрабатывающим запросы к БД и возвращающим реквестору сообщение по завершении их обработки.

Btrieve для Windows NT/Windows 95

Btrieve для Windows NT и Windows 95 была выпущена в 1995 году, вместе с Btrieve для Netware и для Windows NT Server. Номер версии достиг 6.15 и началось использование микроядерной архитектуры (MKDE). Механизмы совместного использования файлов остались те же (SEFS и MEFS); использовалось shadow-paging, поддерживались эксклюзивные и конкурирующие блокировки. Эта версия Btrieve разрешала использование null для ключей, что позволяло вносить записи в БД даже если ключевая информация отсутствует. Такие ключи не участвовали в индексировании, что сокращало бесполезный поиск по индексу в БД. В этой же версии была введена концепция системных транзакций и пользовательских транзакций. . MKDE разрешало разрывы между автоинкрементными ключами. Variable-tail allocation tables появились в версии 6.15, таким образом они были включены в сборку Btrieve для Windows NT/95. Существовало две конфигурации Btrieve для Windows NT/95: standalone workstation и client/server.

Standalone Workstation

При использовании standalone workstation конфигурации Btrieve, вся обработка записей производилась на локальной рабочей станции, полагаясь на локальные механизмы Windows, пользуясь которыми MKDE (W32MKDE.EXE) получало доступа к файлам БД и накладывало файловые блокировки, для синхронизации параллельных операций. В такой конфигурации приложение выполняло вызовы к Btrieve API или интерфейсу микроядра (WBTRV32.DLL), а этот интерфейс передавал запросы самому MKDE (W32MKDE.EXE), которое уже напрямую работало с файлами БД средствами файловой системы (локальной или сетевой).[8] Однако такой подход имеет неприятные побочные следствия. Если Btrieve использует сетевой механизм Windows, а ядро СУБД открывает файлы напрямую с сетевого ресурса, и возникает сбой локальной сети, в процессе обновления полей связывающих файлы Btrieve (или просто отключается сетевой кабель), может наступить рассинхронизация, нарушатся связи между данными (потеряются или будут установлены неправильно), и файлы БД будут испорчены. (Хотя вероятность этого и уменьшается технологией pre-image paging.)

Client/Server

При использовании конфигурации клиент/сервер (англ. client/server' или 'Server edition), обработка записей в основном выполняется на файловом сервере Windows, через отображение сетевых ресурсов в диски (под Windows, сетевые ресурсы отображаются в виртуальные сетевые диски командой NET USE). При этом используются полномочия пользователя полученные при аутентификации, либо при входе в систему, либо при исполнении команды NET USE. Под Windows 95, интерфейс MKDE (Windows DLL WBTRV32.DLL) в действительности определяет способ доступа к БД через конфигурационный файл. Если он обнаруживает, что на компьютере установлены оба варианта ядра СУБД (клиент/сервер и standalone workstation), то производится проверка, какой из них предписано использовать. При работе под Windows NT, если одновременно запущены серверный процесс NTMKDE.EXE и процесс от standalone workstation (W32MKDE.EXE), указание на использование того или другого должно быть сделано в реестре. В обоих случаях, если интерфейсу MKDE указано использовать режим standalone workstation, он будет использовать W32MKDE.EXE для прямого доступа к файлам. Если же указано использовать режим сервера, то MKDE-интерфейс на клиенте будет использовать отдельный коммуникационный модуль (W32BTICM.DLL Windows 95 , NTBTICM.DLL на Windows NT) который будет взаимодействовать с сервером. Сам сервер имеет свой собственный коммуникационный модуль (W32BTICM.DLL или NTBTICM.DLL), находящийся на отображённом сетевом диске. Далее, серверная DLL взаимодействует с серверным MKDE (NTMKDE.EXE), которое обновляет записи и возвращает клиенту подтверждение об успешном завершении, через тот же коммуникационный модуль. Преимущества такого подхода в том, что при сбое локальной сети, MKDE на сервере способно обнаружить это и более аккуратно выполнить восстановление, чем в конфигурации standalone workstation.

Pervasive.SQL 7

Pervasive SQL 7 был выпущен в марте 1998 и включал в себя Scalable SQL 4 и Btrieve 7.0. Btrieve 7.0 запускалась на тех же платформах, что и Btrieve 6.x: Windows 95, Windows NT 3.51 & 4, Netware и DOS. Тем не менее компания изменила компонентную архитектуру именуемую SmartComponents для решения вопросов совместимости при переходе на новую версию. Она использовала схему идентификации компонентов с одновременным указанием идентификатора внутри файла и кодированием в его имени, совместно с динамическим связыванием «склеивающих модулей» (DLL загружаемых в память только при необходимости в них). Динамическое связывание компонентов выполнялось с применением нового подхода, «Abstract OS Services DLL», в соответствии с которым выбиралась самая последняя версия необходимого компонента, посредством информации закодированной в его имени файла. Далее, этот «склеивающий модуль» загружался в память и начинал использоваться.[11] Старый формат файла журнала событий, существовавший в Btrieve 6.x, был заменён новым централизованным журналом PVSW.LOG, имеющим усовершенствованный и унифицированный формат. Также были улучшены сами сообщения об ошибках и механизм их порождения. MKDE сохранилось в Pervasive.SQL 7. Тем не менее, его внутренняя архитектура изменилась, вследствие появления новой архитектуры динамического связывания компонентов.

«Склеивающий» модуль (DLL) загружается в память и становится интерфейсом к MKDE. Далее MKDE определяет, каким образом оно настроено, для работы на отдельной рабочей станции или для взаимодействия с сервером, и начинает транслировать запросы на сервер БД (через специальный коммуникационный модуль) или напрямую работать с файлами БД, если оно настроено на режим «рабочая станция».

Pervasive.SQL 2000/2000i

Pervasive.SQL 2000 и 2000i используют по существу ту же архитектуру, что и Pervasive.SQL 7, но 2000i и включает дополнительный сервер i*Net (видимо - веб-сервер). Используется та же компонентная модель, позволяющая использовать оба механизм доступа к данным, и Btrieve и Scalable SQL; продолжается использоваться архитектура MKDE. Эта версия включает поддержу Red Hat Linux, Caldera OpenLinux, SUSE и Solaris. Также была улучшена интеграция с Terminal Services, хотя воможно запускать только один экземпляр ядра СУБД на любой платформе. То есть невозможно запустить отдельные копии СУБД в двух или более терминальных сеансах.

Pervasive.SQL V8

Представленный в декабре 2002 г. Pervasive.SQL V8 имеет улучшенные характеристики производительности для приложений использующих любой из механизмов доступа (Btrieve или SQL), что достигнуто использованием нескольких новых технологий:

  • Кеширование данных на стороне клиента существенно повышает производительность чтения, благодаря динамической поддержке на локальном компьютере клиента фрагментов БД.
  • Механизм Turbo Write Acceleration (TWA) группирует операции записи в пакеты, что минимизирует обращение к диску.
  • Механизм журналирования транзакций обеспечивает несколько меньшую устойчивость к сбоям, по сравнению с гарантированной записью на диск, однако улучшает общую производительность.

Пакет обновлений V8 Security Feature Pack (выпущенный как промежуточное обновление до версии 8.5) внёс важные изменения в модель безопасности, направленные на ограничение доступа к файлам данных. До версии 8.5 доступ к данным Btrieve контролировался механизмами безопасности ОС, что означало буквально: «Пользователь осуществляющий чтение/запись данных, должен иметь доступ на чтение/запись к соответствующим файлам с данными». В новой версии реализована новая модель безопасности, позволяющая администратору контролировать доступ к данным Btrieve используя собственный механизм разграничения доступа СУБД. После активации нового механизма, пользователь более не нуждается в доступе к файлам данных. В дополнение, конфигурации с архитектурой клиент/сервер более не нуждались в использовании общих сетевых ресурсов или их отображении в виде виртуальных дисков. Теперь приложения могли ссылаться за защищённые данные Btrieve посредством URI-строк соединения.

Pervasive PSQL v9

Pervasive PSQL v9 включает новый Java GUI, на основе Eclipse, доступный как для Microsoft Windows, так и для Linux. Также, v9 содержит множество обновлений SQL, как по части производительности, так и по части синтаксиса, способствующих повышению скорости и улучшению функциональности всех средств доступа, использующих SQL - ADO.Net, JDBC, ODBC и OLE DB. И в заключение, PSQL v9 увеличивает максимальный размер файла БД с 64GB, в 8.x и более ранних версиях. до 128GB в 9.0 и 256GB в 9.5.

Совместно с выпуском PSQL v9, была вновь реализована утилита DDF Builder, а кроме того добавлена поддержка полнотекстового поиска, обеспечиваемая дополнением Full Text Search (FTS) (позже, однако, исключённым из продуктовой линейка). DDF Builder предоставляет возможность пользователям Btrieve задать метаданные для существующих файлов формата Btrieve, чтобы сделать их доступными для SQL утилит.

Все версии MKDE сохраняют обратную совместимость с предыдущими версиями Btrieve на уровне чтения данных. В том числе поддерживаются версии выпущенные до появления MKDE, и формат файла не изменяется до тех пор, пока это специально не запрошено. Однако, файлы от версий 5.x и более ранних должны быть перестроены заново, в формат версии 6.x или более поздней, для обеспечения возможности их изменения ядром СУБД версии 9.0 или более поздней. Перестройка выполняется из графического интерфейса или консольной командой Rebuild.

Pervasive PSQL v10

В сентябре 2007 Pervasive Software выпустила Pervasive PSQL v10[Источник 2]. Как сообщает основной релиз, в десятой версии реализовано множество улучшений и новых функций. Основное внимание уделено производительности и функциональности запросов (англ. query). Основные возможности v10:

1. Большее количество доступной RAM. RAM становится менее дорогостоящей.

2. Возрастает важность аналитических (в противоположность транзакционным) технологий.

(e)Xtreme I/O (XIO)

В десятой версии выпускается новый драйвер ввода-вывода. Он использует сжатие данных, и с его помощью можно получить два преимущества:

1. Меньше данных загружается с диска. Таким образом, системе требуется использовать меньше операций ввода-вывода. Это относится к аналитической, а не к транзакционной технологии.

2. Больше данных помещается в кеш. Из этого следует, что зачастую системе не требуется совершать никаких операций, связанных с вводом-выводом.

Функциональность отношений (DDF Builder)

Функциональность, связанная с отношениями, является важной частью системы управления базами данных. Разработчики Pervasive PSQL v10 доработали технологию работы с отношениями, внедрив аналитическое решение DDF Builder. DDF Builder делает функциональность отношений более доступной. Он позволяет разработчику приложения создавать гибкую реляционную структуру поверх связанного списка. Физическая структура может быть нетрадиционной для реляционных систем, но почти для всех целей существует логичная реляционная структура. DDF Builder может быть применён по крайней мере четырьмя различными способами:

1. Разработчики могут создавать модули дополнений для PSQL-приложений с большей эффективностью.

2. Разработчики могут более эффективно интегрировать бизнес-логику и другие аналитические средства с помощью их PSQL-приложений.

3. Конечные пользователи, которые являются организациями, могут самостоятельно написать дополнения для PSQL-приложений.

4. Конечные пользователи, которые являются организациями, могут самостоятельно интегрировать аналитические средства с помощью их PSQL-приложений[Источник 3].

Pervasive PSQL v11

Релиз Pervasive PSQL v11 состоялся в сентябре 2010 года. Одним из ключевых факторов, над которым сосредоточились инженеры Pervasive PSQL v11, был редизайн движка базы данных для повышения производительности и масштабируемости на многоядерных процессорах. Pervasive PSQL v11 оптимизирует параллельные потоки, осуществляющие аналогичную деятельность, позволяя базе данных обрабатывать задачи на нескольких ядрах. PSQL v11 также обеспечивает усовершенствование низкоуровневых механизмов синхронизации в навигационном интерфейсе. Несколько пользователей одновременно могут читать одни и те же кэшированные страницы файлов и их операции могут обрабатываться на независимых ядрах. Такая активность, как точки восстановления, логи журнала безопасности могут обрабатываться на отдельных ядрах, точно так же, как и запросы от нескольких пользователей, имеющих доступ к независимым файлам.

Поддержка многоядерной обработки доступна со всеми версиями PSQL v11: 32- и 64-разрядные версии Windows и Linux, и 32-битный для Workgroup. Внутреннее тестирование в Pervasive показало прирост производительности на 300% при сравнении Psql v10 v11 и Psql на 8-ядерном сервере Microsoft 2008 Enterprise Server с пакетом обновления 2 (64-бит). Поддержка IPv6 на Windows вошла в Pervsive PSQL v11 с дальнейшей поддержкой IPv4. Pervasive PSQL v11 поддерживает IPv6 как с Btrieve, так и с DTI (Distributed Tuning Interface). 64-разрядные серверные версии PSQL v11 включают 64-разрядный реляционный/ SQL - движок и 64-разрядный навигационный/ Btrieve-движок, вместе с 64-разрядным драйвером ODBC. Драйвер устанавливается с 64-разрядными версиями of PSQL Server и PSQL Client.

Pervasive обновили комплект разработки программного обеспечения PSQL с дополнением Pervasive PSQL ADO.NET Data Provider 3.5. Data Provider 3.5 совместим с .NET Framework версий 2.0, 3.0, 3.5, 3.5 и 4.0 SP1, и работает под .NET Framework 4.0 с поддержкой возможностей Entity Framework 1.0. Pervasive в PSQL v11 также обновили метод доступа PDAC (Pervasive Direct Access Components) с поддержкой RAD Studio 2009 компании Embardacero и RAD Studio 2010.

Авторизация продукта была продлена в Pervasive PSQL v11 для привлечения OEM клиентов, наряду с введением OEM веб- портала для генерации ключей и управления лицензиями PSQL v11. Телефонная авторизация (метод авторизации PSQL без необходимости подключения к Интернету) впервые была введена в PSQL v11 и доступна для всех клиентов Pervasive. Pervasive PSQL v11 продолжает работать форматом файлов 9.5, сохраняя обратную совместимость с предыдущими версиями.

Поддержка Windows 2000 была исключена с Pervasive PSQL v11.

Pervasive PSQL v12

В Pervasive PSQL двенадцатой версии выявляются инструменты дефрагментации базы данных, локализация с поддержкой Unicode, а также приостанавливается поддержка Windows XP, Windows 2003 и драйвера Xtreme.

Дефрагментация базы данных

Со временем интенсивно используемая база данных может стать фрагментированной, по мере того, как записи создаются, обновляются или удаляются. Вследствие этого время доступа к файлам и время транзакций увеличивается. Эта фрагментация отличается от фрагментации файловой системы на жёстком диске, так как происходит с самими данными. Дефрагментатор (англ. Defragmenter) появился в версии 12 Pervasive PSQL. Это новое средство, которое позволяет разработчикам решить проблему фрагментации в базе данных. Оно находит и корректирует фрагментацию данных, меняя местами записи и пересоздавая индексы в файлах данных. Дефрагментатор также удаляет неиспользуемое место таким образом, что данные могут быть снова эффективно прочитаны. Дефрагментация не изменяет данные, и записи могут быть созданы, прочтены, обновлены или удалены во время того, как их файлы дефрагментируются. Существует возможность использовать функции дефрагментатора во время исполнения движка базы данных без необходимости прерывания бизнес-операций в большинстве случаев[Источник 4].

Локализация (поддержка Unicode)

Локализация применяется для адаптации программного обеспечения к различным языкам. В двенадцатой версии поддержка кодировки Unicode, символы которой включают большинство возможных символов, была существенно расширена. Также были добавлены новые типы данных, такие как широкие символы.

Приостановленные возможности

PSQL v12 on Windows XP и Windows 2003 больше не поддерживаются. Драйвер Xtreme I/O (XIO) исключён из PSQL v12. Утилита pvmdconv исключена.

Pervasive PSQL и сопутствующие продукты

В настоящее время Pervasive поставляет набор дополнительных продуктов, расширяющих базовые возможности СУБД PSQL. Pervasive AuditMaster предоставляет средство аудита всех взаимодействий с БД в реальном времени, как через Btrieve, так и посредством SQL. Журнал действий над данными можно просмотреть, чтобы отследить изменения чувствительных данных. Также он может порождать события-предупреждения, информирующие соответствующих сотрудников или запускающие связанные с этим событием процессы. Pervasive Backup Agent — обеспечивает непрерывное функционирование PSQL, позволяя ПО резервного копирования выполнять копирование работающий БД. Pervasive DataExchange — осуществляет синхронизацию и репликацию данных между двумя и более инсталляциями PSQL, обеспечивая постоянную доступность критических данных.

Установка

Источники

  1. Btrieve//Википедия. [2016—2017]. Дата обновления: 02.12.2018. URL: https://ru.wikipedia.org/wiki/Btrieve (дата обращения: 02.12.2018).
  2. Pervasive Summit PSQL v10//Actian community. [2016—2017]. Дата обновления: 02.12.2018. URL: http://www.dbms2.com/2007/09/24/pervasive-summit-psql-v10-xtreme/ (дата обращения: 02.12.2018).
  3. Pervasive PSQL Summit v10 Highlights//Monash. [2016—2017]. Дата обновления: 02.12.2018. URL:  http://www.monash.com/PSQLv10.pdf  (дата обращения: 02.12.2018).
  4. What's New in PSQL v12 SP1 Release 12.10//Actian Community. [2016—2017]. Дата обновления: 02.12.2018. URL: https://communities.actian.com/servlet/fileField?entityId=ka3f3000000PT3PAAW&field=Attachment1__Body__s  (дата обращения: 02.12.2018).

Список литературы