Oracle Berkeley DB XML
Oracle Berkeley DB XML is an open source, embeddable XML database with
XQuery-based access to documents stored in containers and indexed based
on their content. Oracle Berkeley DB XML is built on top of Oracle
Berkeley DB and inherits its rich features and attributes. Like Oracle
Berkeley DB, it runs in process with the application with no need for
human administration. Oracle Berkeley DB XML adds a document parser, XML
indexer and XQuery engine on top of Oracle Berkeley DB to enable the
fastest, most efficient retrieval of data.

Thanks to Berkeley DB as the underlying storage engine, Berkeley DB XML inherits full ACID transactions, automatic recovery,
hot standby, XA for distributed transactions, on-disk data encryption with AES, and replication for high availability.
In addition, both XML and non-XML data can be stored in Berkeley DB XML, which may be an advantage for some applications.
No other XML database in the market is based on such proven, field-tested technology.
Berkeley DB XML adds a document parser, XML indexer and XQuery engine on top of Berkeley DB. XQuery is quickly becoming
the query language of choice for XML data access. Berkeley DB XML supports XQuery 1.0 and XPath 2.0, XML Namespaces,
schema validation, naming and cross-container operations and document streaming. The XQuery engine uses a sophisticated
cost-based query optimizer and supports pre-compiled query execution with embedded variables. Large documents can be
stored intact or broken up into nodes, enabling more efficient retrieval and partial document updates. Berkeley DB XML
supports flexible indexing of XML nodes, elements, attributes and meta-data to enable the fastest, most efficient retrieval
of data.
Berkeley DB XML provides fast, reliable and scalable persistence for applications that need to store and retrieve both XML
and non-XML data.
Key Features
XML Document Storage
Berkeley DB XML is a fast, flexible and complete embedded XML database, built on top of the robust Berkeley DB
storage engine. Berkeley DB XML enables the efficient storage of XML documents, flexible indexing of the data, and
rapid access using XQuery or XPath.
- Built on top of the proven Berkeley DB engine - inherits all Berkeley DB features, including ACID transactions/recovery and replication for high availability
- Native storage and retrieval of both XML and non-XML data within the same transaction - no mapping or translation required
- Flexible storage control - nodes or whole document
- Logical document grouping into containers
- XML validation within containers
- Schema and method validation, per-document
- Document meta-data support
- XML namespace support
- White space preservation by storing the whole document as a physical unit
XML Document Indexing
As the volume of XML data grows, efficient access becomes critical. Berkeley DB XML's unique dynamic indexing system
enables optimized retrieval of XML content. Targeted indexes and a statistical, cost-based query planning engine
combine to deliver results quickly to complex XQuery statements.
- Flexible indexing of XML nodes, elements, attributes and meta-data
- Node level indexes which improve query performance, especially for large XML documents
- Complex index creation and removal at runtime
- Indexes targeted at specific hot spots
- Type and existence-specific indexes
- Interactive query planning and index optimization
- Partial document re-indexing
XML Document Query Access
The XQuery language brings to XML databases what SQL brings to relational databases. With XQuery it is easy to
express complex relationships, joins, conditions and result sets in statements that can be optimized and executed
quickly over huge data sets. Berkeley DB XML closely tracks the XQuery standard and offers one of the most complete
implementations.
- XQuery 1.0 and XPath 2.0
- Queries within a single container or across many
- Queries across containers and network sources of XML data
- Permanent document identifiers for direct access
- Query optimization via cost-based query engine
- Streamlined path expression evaluation and predicate evaluation
- Pre-compiled queries containing variables for even more efficient repeated execution
- Document streaming from URI, memory or file
- DOM-like navigation of XML result sets
XML Document Modification
Berkeley DB XML provides a full modification API allowing for very efficient updates. XML document modification is
not yet part of the XQuery standard, but as the standards are approved, Berkeley DB XML will support them.
- XQuery Update 1.0
- Partial document updates
- In-place document modification within transactions
- Concurrent modification of different sections of content
Deployment
Berkeley DB XML is very flexible, easy to deploy and easy to integrate. As a set of C and C++ libraries, it can be
installed and configured along with your application. It integrates with Apache and can be accessed directly using
C++, Java, or from web pages using PHP, making it ideal for dynamic web systems (much like the popular LAMP
architecture). Berkeley DB XML was designed to operate a completely unattended fashion, so all administrative
functions are controlled programmatically. It supports a wide variety of programming languages and operating
system platforms.
- Programmatic administration and management - zero human administration
- Command line tools to load, backup, dump and interact with the XML databases
- Language support (C++, Java, Perl, Python, PHP, Tcl, Ruby, etc.)
- Operating system support (Windows, Linux, BSD UNIX, Mac OS/X and any POSIX-compliant operating system)
- Installer for Microsoft Windows
- Apache integration
- Documents up to 256TB
- Source code, test suite included
|