Berkeley DB XML inherits a great many features from Berkeley DB. These features put it years ahead of the competition and makes it an ideal candidate for mission-critical applications that must manage XML data.
Important features that BDB XML inherits from Berkeley DB are:
In-process data access. BDB XML is compiled in the same way as any library. It runs in the same process space as your application. The result is database support in a small footprint without the IPC-overhead required by traditional client/server-based database implementations.
Ability to manage databases up to 256 terabytes in size.
Database environment support. BDB XML environments support all of the same features as Berkeley DB environments, including multiple databases, shared data cache, transactions, deadlock detection, lock and page control, and encryption. In particular, this means that BDB XML databases can share an environment with Berkeley DB databases, thus allowing an application to gracefully use both.
Atomic operations. Complex sequences of read and write access can be grouped together into a single atomic operation using BDB XML's transaction support. Either all of the read and write operations within a transaction succeed, or none of them succeed.
Isolated operations. Operations performed inside a transaction see all XML documents as if no other transactions are currently operating on them.
Recoverability. BDB XML's transaction support ensures that all committed data is available no matter how the application or system might subsequently fail.
Concurrent access. Through the combined use of isolation mechanisms built into BDB XML, plus deadlock handling supplied by the application, multiple threads and processes can concurrently access the XML data set in a safe manner.
Replication. BDB XML provides the ability to distribute updates made to a master database to multiple replica databases. This provides the application with the ability to support fail-over for High Availability applications, as well as scalability for load balancing of queries across multiple systems.