It is based on Indexed Sequential Access Method (ISAM), which is a way of storing data for fast retrieval.
Around the same time as the release of the first IBM PCs, Doug received 50% of the company as a wedding gift and later purchased the remainder from his brother.
After gaining market share and popularity, it was acquired from Doug and Nancy Woodward by Novell in 1987, for integration into their NetWare operating system in addition to continuing with the DOS version.
After these versions were released (Btrieve 6.15 and ScalableSQL v4) the company was renamed to Pervasive Software prior to their IPO.
The Btrieve file format consists entirely of pages, which are the data that move between memory and storage when the engine performs an input/output operation.
The product was launched in February 1982 by SoftCraft, a firm located in Austin, Texas, by Doug and Nancy Woodward.
When MS-DOS 3.1 standardised its internal interfaces in March 1985, they released Btrieve 3.1 C/S one month later, which had network and client/server support.
[2] The company took some time to create a user interface for the product, however in 1984 they released Xtrieve, a menu-driven program that used a new .DDF data dictionary to enforce relational database rules.
Early the next year, Btrieve 5.0 was released to run as a native NetWare application, or Value Added Process.
According to Jim Kyle, "it had auto-increment key types, the BROUTER network process server, data-only and key-only files, and optional data compression".
[2] Version 5.1 was released in 1990 with increased file-handling transaction capability, logging and roll-forward operations, along with several API enhancements.
However, it was not promoted extensively by Novell, and due to enhancements, (such as the change from pre-imaging to shadow-paging) it was incompatible with previous versions of Btrieve.
By 1994, Novell had largely given up on attempting to make NetWare into a complete alternative operating system, and started selling off many of the companies it had acquired only a few years earlier.
[6] BROUTER also enabled communication requests to be routed to the correct server via SPX by looking up the BSPXCOM NetWare Loadable Module and coordinated locks and other mechanisms that controlled access to the data in the Btrieve database.
Btrieve for DOS used the SEFS and MEFS modes for file sharing, and because it was able to run on a network it was able to use exclusive and concurrent transactions.
It featured SEFS and MEFS file sharing mechanisms; used shadow-paging and allowed for exclusive and concurrent locks.
Version 6.1 files allowed for concurrent and system transactions, the optional renumbering of keys, case insensitive ACS tables, and enhanced locking operations.
The client-based version of Btrieve has all the database files either directly on the local computer or via a mapped network drive (set up via the DOS NET USE command).
The loader and requester module verify the BTI.INI configuration file is correctly set up to load the client-based Btrieve engine.
When using the client/server (or Server edition) configuration of Btrieve, processing of records is generally done on a Windows file server via a mapped drive (a way of mapping a file share to a "virtual" disk drive in Windows via the NET USE command).
[10] The advantage of this system is, if a network connection failure occurs, the MKDE on the server will be able to detect it and recover in a more graceful manner than the workstation configuration is able to.
However, the company changed to a component-based architecture called SmartComponents to resolve compatibility issues with upgrades.
The application using Btrieve calls a services manager which then searches through various configured directories for specific encoded filename.
This version included support for Red Hat Linux, Caldera OpenLinux, SUSE and Solaris.
Xtreme input/output also included update compression algorithms and streamlined writing techniques to improve database input/output performance.
Pervasive PSQL v11 optimizes parallel threads performing similar activities, allowing the database to engage multiple cores during task execution.
Multiple users can read the same cached file pages simultaneously and their operations can proceed on independent cores.
Pervasive PSQL v11 supports IPv6 with both the Btrieve and DTI (Distributed Tuning Interface) access methods.
Pervasive PSQL v11 continues with the 9.5 file format, maintaining backward compatibility with previous releases.
Pervasive now offers a number of add-on products which extend the basic features of the PSQL DBMS.