* Added Performance event monitoring support for DTrace and SystemTap which can
be enabled during configuration. Static probes have been defined where
statistics values are updated, where mutex or transactional consistency lock
waits occur, and where some other potentially lengthy operations may be
initiated.
* Added a new acknowledge policy - DB_REPMGR_ACKS_ALL_AVAILABLE.
* Added transactional bulk loading optimization for non-nested transactions.
* Added exclusive transaction support for the SQL API.
* Added support for bulk update and delete in C# API.
* Added a db_replicate utility.
* Added an implementation of the Online Backup API.
* Added support in Berkeley DB SQL for the vacuum and incremental vacuum
pragmas.
* Added an option to automatically convert SQLite databases to Berkeley DB on
opening.
* Added BDBSQL_SHARE_PRIVATE, an option to enable inter-process sharing of
DB_PRIVATE environments using multiple-reader.
* Added database-level locking to optimize single-threaded operations and
remove locking limitations for database load operations.
* Added support for DB_INIT_REP, DB_PRIVATE, DB_REGISTER and DB_THREAD in
DB_CONFIG file.
* Added support for the BDBSQL_DEFAULT_PAGE_SIZE pragma to override Berkeley
DB's choice of page size depending on the filesystem. Use
SQLITE_DEFAULT_PAGE_SIZE rather than a hard-coded default.
* Added an extension that allows access to binary files stored outside of the
database. What is stored in the database is a pointer to the binary file.
* Added .stat command to dbsql shell to print environment, table, and index
statistics.
* Added enhancements to reduce the size of indexes in the SQL API by allowing
duplicates in the index database and moving the rowid from the index key into
the index data.
* Added a compile time flag BDBSQL_FILE_PER_TABLE that causes each table to be
created in a separate file. This flag replaces the BDBSQL_SPLIT_META_TABLE
flag.
* Added the handling of read only and read write open of the same database in
BDB SQL.
* Added an encryption implementation to the SQL API.pkg
* Replication Manager sites can specify one or more possible client-to-client
peers.
* Added resource management feature in all Berkeley DB APIs to automatically
manage cursor and database handles by closing them when they are not required,
if they are not yet closed.
* Added a SQL interface to the Berkeley DB library.
* Added hash databases support to the DB->compact interface.
* Renamed the "db_sql" utility to "db_sql_codegen".
* Added transactional support in db_sql_codegen utility.
* Added the feature read-your-writes consistency that allows client application
to check, or wait for a specific transaction to be replicated from the master
before reading database.
* Added DB log verification feature, accessible via the API and a new utility.
* Added support for applications to assign master/client role explicitly at any
time. Replication Manager can now be configured not to initiate elections.
* Enhanced the DB->compact method so that it can reassign metadata and root
pages from subdatabases to lower numbered pages while compacting a database
file that contains multiple databases.
* Added system diagnostic messages that are ON by default.
* Added the feature to assign a priority level to transactions.
* Added a feature by which the Replication Manager application clients now
automatically request any missing information, even when there is no master
transaction activity.
* Added support for sharing logs across mixed-endian systems.
* Added an option to specify the first and last pages to the db_dump utility.
You can do this by providing -F and -L flags to the db_dump -d option.
* Added Intel Performance Primitive (IPP) AES encryption support.
data. The software is distributed in source code form, and developers can
compile and link the source code into a single library for inclusion
directly in their applications.
Developers may choose to store data in any of several different storage
structures to satisfy the requirements of a particular application. In
database terminology, these storage structures and the code that operates on
them are called access methods. The library includes support for the
following access methods:
* B+tree: Stores keys in sorted order, using either a programmer-supplied
ordering function or a default function that does lexicographical
ordering of keys. Applications may perform equality or range searches.
* Hashing: Stores records in a hash table for fast searches based on
strict equality. Extended Linear Hashing modifies the hash function
used by the table as new records are inserted, in order to keep buckets
underfull in the steady state.
* Fixed and Variable-Length Records: Stores fixed- or variable-length
records in sequential order. Record numbers may be immutable or
mutable, i.e., permitting new records to be inserted between existing
records or requiring that new records be added only at the end of the
database.