Введение

Btrieve — это программное обеспечение для транзакционных баз данных (навигационных баз данных). Оно основано на методе индексированного последовательного доступа (ISAM), представляющем собой способ хранения данных для быстрого поиска. Было выпущено несколько версий продукта для DOS, Linux, устаревших версий Microsoft Windows, 32-битной IBM OS/2 и Novell NetWare. Изначально это был менеджер записей, разработанный компанией SoftCraft. Btrieve был создан Дугом Вудвордом и Нэнси Вудворд, а первоначальное финансирование частично обеспечил брат Дуга, Лойд Вудворд. Примерно в момент выпуска первых IBM PC, Дуг получил 50% компании в качестве свадебного подарка и впоследствии выкупил оставшуюся долю у своего брата. После завоевания доли рынка и популярности, в 1987 году компания Novell приобрела Btrieve у Дуга и Нэнси Вудворд для интеграции в свою операционную систему NetWare, а также для продолжения разработки версии для DOS. Продукт завоевал значительную долю рынка как встроенная база данных в приложениях среднего уровня, а также благодаря тому, что он был включен в каждую копию NetWare версий 2.x, 3.x и 4.x, поскольку был доступен во всех сетях NetWare. После реорганизации в Novell, в 1994 году было принято решение выделить продукт и технологию Дугу и Нэнси Вудворд вместе с Роном Харрисом для разработки новой компании Btrieve Technologies, Inc. (BTI). Начиная с версии 6.15, Btrieve был модулизирован и стал одним из двух интерфейсов баз данных, подключаемых к стандартному программному интерфейсу MicroKernel Database Engine. Интерфейс Btrieve поддерживал API Btrieve, а другой интерфейс назывался Scalable SQL — реляционная база данных, основанная на MKDE, использующая собственный вариант языка структурированных запросов, известного как SQL. После выпуска этих версий (Btrieve 6.15 и ScalableSQL v4) компания была переименована в Pervasive Software перед выходом на IPO. Вскоре после этого продукты Btrieve и ScalableSQL были объединены в продукты, продаваемые под брендом Pervasive SQL или PSQL, а затем Actian Zen. Btrieve поддерживался еще несколько лет, в то время как ScalableSQL был быстро снят с производства. Клиентам рекомендовалось перейти на Pervasive SQL, который поддерживал как приложения SQL, так и Btrieve.

Архитектура

Btrieve не является реляционной системой управления базами данных (RDBMS). В ранних описаниях Btrieve он назывался менеджером записей (хотя Pervasive первоначально использовал термин "навигационная база данных", но позже изменил его на "транзакционная база данных"), поскольку он оперирует только базовыми операциями создания записей, извлечения данных, обновления записей и удаления данных. В качестве базового механизма индексации и хранения используется ISAM. Ключевой частью архитектуры Pervasive является использование микроядерного движка баз данных (MicroKernel Database Engine), который позволяет модульно структурировать различные серверные компоненты баз данных и легко интегрировать их в пакет DBMS Pervasive SQL. Это позволило им поддерживать как свой навигационный движок Btrieve, так и движок на основе SQL – Scalable SQL. Современные версии Btrieve поддерживают системные и пользовательские транзакции, где системные транзакции представляют собой набор не-транзакционных операций и/или пользовательских транзакций, а пользовательские транзакции – это транзакции, работающие с реальными данными в базе данных. Системные транзакции были разработаны для пакетной обработки нескольких транзакций и упрощения восстановления данных. Формат файла Btrieve состоит исключительно из страниц, которые представляют собой данные, перемещаемые между памятью и хранилищем при выполнении операций ввода-вывода. Версии до 6.0 использовали только страницы данных, индексные страницы и запись управления файлом. Файл содержал индекс для поиска, связанный с физическими страницами. Начиная с версии 6.0, стали использоваться логические страницы, которые сопоставляются с физическими страницами (страницами в фиксированном месте в файле) на диске с помощью таблиц распределения страниц. Запись управления файлом содержит важную информацию о файлах Btrieve, такую как количество страниц, находящихся в текущем использовании. Для предотвращения повреждения базы данных Btrieve использует два метода обновления записей: предварительное копирование страниц в версиях Btrieve до 6.0 и теневое копирование страниц в последующих версиях. Именно переход от предварительного копирования страниц к теневому копированию страниц, потребовавший радикальных изменений формата файла, вызвал проблемы совместимости между версией 6 и предыдущими версиями.

История

Btrieve принадлежала и разрабатывалась четырьмя разными компаниями: SoftCraft, Novell, Btrieve Technologies, Inc. (позже переименованная в Pervasive Software) и Actian Corporation. У продукта есть преданная и лояльная база разработчиков, и, согласно информации от компании, они по-прежнему полностью поддерживают его развитие. Pervasive Software учредила "Сообщество Btrieve" для признания заслуг существующих разработчиков. Под DOS, Btrieve до версии 5 была программой, остающейся в памяти (TSR), которая функционировала как движок базы данных, предоставляющий интерфейс прикладного программирования (API), снабжая приложения функциями для реализации многопользовательской базы данных с блокировкой записей. Сетевая версия работала по аналогичному принципу. В первые годы DOS-версии до версии 5 продавались по цене около 1000 долларов США, но исполняемый файл движка базы данных TSR можно было распространять вместе с приложениями бесплатно.

Годы SoftCraft

Продукт был выпущен в феврале 1982 года компанией SoftCraft, расположенной в Остине, штат Техас, Дугом и Нэнси Вудворд. Дуг стал вице-президентом и отвечал за разработку программного обеспечения, а Нэнси – президентом компании. В течение следующих нескольких лет они выпустили ряд версий: в феврале 1983 года – серию Btrieve 2.x, а после того как MS DOS 2.0 получила поддержку дескрипторов файлов и каталогов, они выпустили Btrieve 3.0. Когда MS DOS 3.1 стандартизировала свои внутренние интерфейсы в марте 1985 года, через месяц они выпустили Btrieve 3.1 C/S с поддержкой сети и клиент-серверной архитектуры. В феврале 1986 года был выпущен Btrieve 4.0, а обновление 4.1 добавило поддержку расширенных типов ключей и дополнительных индексов. Несмотря на то, что Btrieve была довольно популярна, это был программный интерфейс (API) для работы с базами данных. Ведущей программой для управления базами данных на ПК, dBase II и её последователи, были системами управления базами данных (СУБД), которые можно было использовать как самостоятельное приложение общего назначения или как язык программирования баз данных. Btrieve также стоила дороже, чем dBase, хотя лицензия на время выполнения была бесплатной. Сообщество разработчиков Btrieve выросло до более чем 5000 пользователей, и она широко использовалась в финансовой сфере. Компания потратила некоторое время на создание пользовательского интерфейса для продукта, и в 1984 году они выпустили Xtrieve – программу с меню, которая использовала новый словарь данных DDF для обеспечения соблюдения правил реляционных баз данных.

Новое приобретение

В 1987 году Novell начала диверсифицироваться и приобретать компании для расширения функциональности операционной системы NetWare. Одной из приобретенных компаний стала SoftCraft. Нэнси Вудворд была назначена вице-президентом и генеральным директором подразделения Novell в Остине, а Дуг Вудворд – вице-президентом по передовым технологиям баз данных. В начале следующего года была выпущена версия Btrieve 5.0, предназначенная для работы как нативное приложение NetWare или Value Added Process. По словам Джима Кайла, она включала в себя ключи с автоматическим инкрементом, сетевой процесс-сервер BROUTER, файлы, содержащие только данные или только ключи, а также опциональное сжатие данных. Последняя версия, Pervasive PSQL Summit v11, была выпущена в сентябре 2010 года.

Корпорация "Акция"

В 2013 году корпорация Actian приобрела Pervasive Software. В феврале 2016 года Actian выпустила Btrieve 12.

Btrieve для DOS

Существовала одна клиентская конфигурация Btrieve, разработанная компанией SoftCraft. Под клиентской версией в понимании SoftCraft подразумевался "движок Btrieve, работающий на конкретной рабочей станции". Это означало, что подсистема управления записями подключалась непосредственно к файлам через функции операционной системы и соответствующим образом изменяла записи, независимо от того, находились ли файлы локально или в сети. Клиентский движок обеспечивал одновременный доступ к базе данных для пяти пользователей. Вся обработка записей выполнялась на рабочей станции, на которой был установлен движок. В последующих версиях Btrieve для DOS можно было использовать один из двух режимов: SEFS (Single Engine File Sharing) или MEFS (Multi Engine File Sharing).

Btrieve для NetWare

Btrieve для NetWare был по существу таким же, как и Btrieve для DOS, с некоторыми дополнительными функциями, доступными только в NetWare в то время. Он запускал серверный процесс, называемый BSERVER, на сервере файлового обмена, который управлял вводом-выводом данных совместно с сетевой файловой системой. Серверный процесс был впервые реализован для NetWare 2.x как процесс добавленной стоимости NetWare (VAP) под названием BSERVER. Позже он был реализован как загружаемый модуль NetWare (NLM) для NetWare 3.x (и последующих версий). BSERVER являлся движком базы данных, отвечающим за доступ к записям, но также принимал запросы на передачу запрошенных данных на другой сервер через процесс BROUTER. Btrieve использовал запрашивающие модули для выполнения запросов ввода-вывода базы данных с клиентских рабочих станций. Запрашивающие модули были доступны для DOS, OS/2, Microsoft Windows и UnixWare. Программа BREQUEST.EXE принимала запросы ввода-вывода через API Btrieve и пересылала их в BSERVER. Затем она обрабатывала ответы от BSERVER и пересылала их обратно в соответствующее приложение. Процесс BROUTER позволял "маршрутизировать" входящие запросы к копии базы данных на другом сервере. Он загружался на сервер NetWare и обеспечивал связь между несколькими серверными процессами, работающими на файловом сервере, с использованием двух таблиц файлового сервера. Согласно Pervasive, эти таблицы содержат список "имен и адресов серверов, а также таблицу маршрутизации серверов". BROUTER также обеспечивал маршрутизацию запросов на связь к нужному серверу через SPX, обращаясь к загружаемому модулю BSPXCOM NetWare и координируя блокировки и другие механизмы, контролирующие доступ к данным в базе данных Btrieve. Btrieve для DOS использовал режимы SEFS и MEFS для файлового обмена, и благодаря возможности работы в сети мог использовать эксклюзивные и параллельные транзакции.

Btrieve для Windows

Btrieve для Windows был создан до того, как компания переписала кодовую базу с использованием MKDE. В нем были реализованы механизмы обмена файлами SEFS и MEFS, использовалась теневая страница и поддерживались эксклюзивные и конкурентные блокировки. Он по-разному обрабатывал файлы версий 6.x и 6.1. Файлы версии 6.x могли выполнять операции над частью записи, а не блокировать всю запись целиком. Он поддерживал работу с записями размером более 64 КБ, внедрял VAT, ACS, новые типы данных, позволял выполнять операции с процентами (когда запись можно было находить и обрабатывать по ее физическому расположению в файле) и обрабатывал дубликаты ключей. Версия 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

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

Btrieve для Windows NT/Windows 95

Btrieve для Windows NT и Windows 95 был выпущен в 1995 году вместе с Btrieve для Netware и Btrieve для Windows NT Server. Он достиг версии 6.15 и начал использовать MKDE. Механизмы совместного доступа к файлам остались прежними, поскольку по-прежнему использовались режимы SEFS и MEFS, теневое копирование страниц и поддерживались эксклюзивные и совместные блокировки. Эта версия Btrieve допускала использование нулевых значений в ключах, что позволяло вводить записи в базу данных даже при отсутствии информации по ключу. В этом случае ключ не включался в индекс, что уменьшало ненужный поиск по базе данных через индекс. Также была введена концепция системной и пользовательской транзакций (см. Системные и пользовательские транзакции). MKDE также позволял наличие промежутков между автоматически инкрементируемыми ключами. Переменные таблицы выделения хвостовой части были представлены в версии 6.15 и, следовательно, включены в сборку Btrieve для Windows NT/95. Существует две конфигурации Btrieve для Windows NT/95: автономная рабочая станция и клиент-серверная.

Самостоятельная рабочая станция

При использовании автономной конфигурации рабочей станции Btrieve вся обработка записей выполняется на локальной рабочей станции. Рабочая станция использует базовые механизмы Windows для обеспечения прямого доступа MKDE (программы W32MKDE.EXE) к файлам базы данных и применяет файлы блокировки для управления конкурентным доступом. В этой конфигурации приложение выполняет вызовы к API Btrieve или интерфейсу микроядра (WBTRV32.DLL). Вызов обрабатывается интерфейсом и передается в MKDE (W32MKDE.EXE), который, используя базовую файловую систему операционной системы (будь то сетевая или локальная), получает прямой доступ к файлам базы данных. Это может приводить к некоторым необычным проблемам. Например, если Btrieve использует сетевые папки Windows и движок базы данных открывает файлы непосредственно в сетевой папке, а во время обновления происходит нестабильность сети (например, отключение сетевого кабеля), поля, используемые для связи между файлами Btrieve, могут рассинхронизироваться (фактически, данные теряют связи или ссылки на другие данные), а сам файл базы данных может быть поврежден (хотя вероятность этого снижается благодаря предварительной записи образов страниц).

Клиент/сервер

При использовании клиент-серверной (или серверной) конфигурации Btrieve обработка записей обычно выполняется на файловом сервере Windows через подключенный сетевой диск (способ отображения сетевой папки как "виртуального" диска в Windows с помощью команды NET USE). Она использует права доступа, назначенные вам при аутентификации, либо права входа в систему, либо права, предоставленные при использовании NET USE. В Windows 95 интерфейс MKDE (динамическая библиотека Windows (DLL) с именем WBTRV32.DLL) определяет используемый метод доступа к базе данных на основе файла конфигурации. Если он обнаруживает, что на одной машине установлены как клиент-серверный, так и рабочий станции движки, он проверяет, для чего настроена целевая система – для рабочей станции или сервера. Если система работает под управлением Windows NT и серверный процесс NTMKDE.EXE запущен вместе с автономным процессом рабочей станции W32MKDE.EXE, он обращается к реестру, чтобы определить, является ли целевой системой сервер или рабочая станция. В обоих случаях, если интерфейс MKDE настроен на рабочую станцию (конфигурация "Автономная рабочая станция"), он использует MKDE (W32MKDE.EXE) для прямого доступа к файлу. Если он настроен на сервер, интерфейс MKDE на клиенте использует модуль связи (в Windows 95 это W32BTICM.DLL, в Windows NT – NTBTICM.DLL), который взаимодействует с сервером. Сам сервер имеет соответствующий модуль связи (также W32BTICM.DLL или NTBTICM.DLL), расположенный на подключенном сетевом диске. Серверная DLL взаимодействует с серверным MKDE (NTMKDE.EXE), который обновляет записи, а затем отправляет подтверждение об успешном выполнении операции через модуль связи обратно клиенту. Преимущество этой системы заключается в том, что в случае сбоя сетевого соединения MKDE на сервере сможет обнаружить его и восстановиться более корректно, чем в конфигурации рабочей станции.

Конфигурация

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

Настройки файлов: эта категория содержит параметры, связанные с файлами, дескрипторами файлов, блокировками записей, индексами и журналами. Здесь задавалось количество открытых файлов и логических дескрипторов файлов, а также количество блокировок записей на клиент; в этой категории находились параметры балансировки индексов и возможность создания файлов в формате, предшествующем версии 6.x. Она также контролировала, ведет ли микроядро журнал операций, выполняемых с выбранными файлами. В этом разделе можно было установить метод совместного доступа к файлам – MEFS или SEFS. Предел удержания системных транзакций определяет количество системных транзакций, выполняемых во время операций записи для общих файлов.

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

Транзакции клиент/система: эта категория содержит параметры, связанные с транзакциями, включая количество поддерживаемых транзакций, а также порядок и время их регистрации.

Системные ресурсы/каталоги: эта категория содержит параметры, связанные с количеством поддерживаемых клиентов и потоков, а также расположением различных системных файлов.

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

Всепроникающий.SQL 2000/2000i

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

Внедряющий.SQL V8

Внедренная в декабре 2002 года, Pervasive. SQL V8 повышает производительность приложений Btrieve и SQL, используя ряд новых технологий. Кэширование на стороне клиента значительно улучшает скорость чтения, поддерживая часть содержимого базы данных на локальном компьютере. Turbo Write Acceleration (TWA) группирует операции записи на диск, минимизируя обращения к диску. Журналирование транзакций обеспечивает несколько меньшую защиту от сбоев, чем надежность транзакций, но повышает общую производительность. Пакет безопасности V8 Security Feature Pack (промежуточное обновление продукта, обозначенное как 8.5) добавил важные новые функции безопасности, предназначенные для защиты файлов данных Pervasive. SQL. До версии 8.5 доступ к данным Btrieve контролировался механизмом безопасности операционной системы. Это означало, что любому пользователю, которому требовался доступ к базе данных для чтения/записи, также требовался доступ для чтения/записи к лежащим в основе файлам данных. Версия 8.5 представила новые модели безопасности, позволяющие администраторам контролировать доступ к данным Btrieve с помощью безопасности базы данных. После активации безопасность базы данных больше не требует, чтобы у пользователя был доступ к базовым файлам. Кроме того, в конфигурациях клиент/сервер больше не требуется использование сетевых ресурсов или сетевых дисков. Приложения могут обращаться к защищенным данным Btrieve, используя строку подключения URI.

Проникающий PSQL v9

Pervasive PSQL v9 включает в себя новые графические интерфейсы Java, созданные на базе Eclipse. Эти графические интерфейсы доступны для Microsoft Windows и Linux. Кроме того, в версии 9 было внесено множество обновлений производительности и синтаксиса SQL, что повысило скорость и гибкость всех SQL-интерфейсов: ADO.Net, JDBC, ODBC и OLE DB. Наконец, PSQL v9 увеличил максимальный размер файла Btrieve с 64 ГБ в файлах форматов 8.x и более ранних до 128 ГБ в файлах формата 9.0, и снова до 256 ГБ для файлов формата 9.5. Вместе с PSQL v9 компания Pervasive вновь представила утилиту DDF Builder и добавила поддержку текстового поиска с помощью дополнения Full Text Search (FTS), которое впоследствии было исключено из продуктовой линейки. DDF Builder предоставляет пользователям Btrieve механизм для определения метаданных существующих файлов Btrieve, обеспечивая доступ к данным Btrieve через SQL-инструменты и утилиты. Все версии MKDE сохраняют полную обратную совместимость с более ранними версиями Btrieve, включая те, что предшествовали появлению самого MKDE, и не изменяют версию файла, если это специально не запрошено. Файлы Btrieve в форматах 5.x или более старых ДОЛЖНЫ быть перестроены (с использованием графического интерфейса или утилит Rebuild из командной строки) в формат 6.x или более новый для поддержки записи в базу данных движком версии 9.0 или более поздней.

Проникающий PSQL v10

Pervasive PSQL v10 был выпущен в сентябре 2007 года и стал первой версией Pervasive PSQL Server и Client, обеспечивающей поддержку 64-битных операционных систем. API Btrieve и интерфейс распределенной настройки (DTI) были усовершенствованы для поддержки 64-битных систем. Pervasive PSQL Workgroup и другие компоненты SDK не были адаптированы для поддержки 64-битных систем. Выпуск Pervasive PSQL v10 был приурочен к поддержке недавно выпущенных Windows Vista и ожидаемых Windows Server 2008. Pervasive PSQL v10 Server, Workgroup и Client поддерживают Windows Vista. Pervasive PSQL v10 Server сертифицирован для Windows Server 2008. В Pervasive PSQL v10 также был включен Xtreme input/output (XIO) – 32-битный ускоритель баз данных Windows, обеспечивающий доступ к расширенной памяти для увеличения кэша базы данных сверх обычного лимита в 2 ГБ на 32-битных системах Windows. Xtreme input/output также включал алгоритмы сжатия обновлений и оптимизированные методы записи для повышения производительности ввода-вывода базы данных. С Pervasive PSQL v10 для линейки продуктов Pervasive PSQL была внедрена система принудительной активации цифровых лицензий, называемая Product Authorization. Первоначально Product Authorization была реализована для ознакомительных загрузок и заказов через интернет-магазин. Продукты, продаваемые через партнеров Pervasive Distributor и ISV, были обновлены для включения Product Authorization с выпуском Pervasive PSQL v10 SP3 в ноябре 2009 года. Pervasive PSQL v10 SP3 также был выпущен как приложение, совместимое с Windows 7. Pervasive PSQL v10 сохранил обратную совместимость, используя формат файлов 9.5, при этом максимальный размер файла данных был увеличен до 256 ГБ, а максимальный размер страницы – до 16 384 байт. Поддержка NetWare, Windows NT, Windows 98, Windows ME, DOS 6.22 и 16-битных приложений была прекращена с Pervasive PSQL v10. Хотя версии Pervasive PSQL v9 для Windows и Linux больше не продаются, Pervasive продолжает продавать и поддерживать Pervasive PSQL v9 для NetWare. В 2010 году Pervasive Software выпустила Pervasive PSQL v11, позволяющую пользователям в полной мере использовать многопоточность для ускорения обработки баз данных.

Проникающий PSQL v11

В сентябре 2010 года была выпущена Pervasive PSQL v11. Одним из ключевых факторов, определивших инженерные усилия при разработке Pervasive PSQL v11, стала переработка движка базы данных для повышения производительности и масштабируемости на многоядерных процессорах. Pervasive PSQL v11 оптимизирует параллельные потоки, выполняющие схожие задачи, позволяя базе данных использовать несколько ядер при выполнении операций. PSQL v11 также включает улучшения механизмов синхронизации низкого уровня в навигационном интерфейсе. Несколько пользователей могут одновременно читать одни и те же страницы кэшированных файлов, а их операции могут выполняться на независимых ядрах. Фоновые задачи, такие как контрольные точки и управление журналами, могут выполняться на отдельных ядрах, а несколько пользователей, обращающихся к независимым файлам, могут работать на разных ядрах. Поддержка многоядерных процессоров доступна во всех версиях PSQL v11: 32- и 64-разрядных версиях Windows и Linux Servers, а также 32-разрядной версии Workgroup. Внутреннее тестирование в Pervasive показало увеличение производительности на 300% при сравнении PSQL v10 и PSQL v11 на 8-ядерном сервере под управлением Microsoft 2008 Enterprise Server SP2 (64-разрядная версия). Поддержка IPv6 в Windows включена в Pervasive PSQL v11, при этом сохраняется поддержка IPv4. Pervasive PSQL v11 поддерживает IPv6 как с методом доступа Btrieve, так и с DTI (Distributed Tuning Interface). 64-разрядные серверные версии PSQL v11 включают 64-разрядный реляционный/SQL-движок, а также 64-разрядный навигационный/Btrieve-движок и 64-разрядный драйвер ODBC. Драйвер устанавливается вместе с 64-разрядными версиями 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 SP1 и 4.0 и работает под управлением NET Framework 4.0 с поддержкой функций Entity Framework 1.0. Компания Actian заявляет, что Btrieve 12 имеет новые функции, совместим с Microsoft Windows Vista – 10, а также Windows Server 2008 и 2012, и сохраняет совместимость форматов файлов и API с Btrieve 6.15, позволяя читать и записывать файлы Btrieve 6.15 из старых 16-разрядных и DOS-приложений.