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


New in Release 2.4
XQuery Update—support for the Candidate Recommendation of W3C's XQuery Update 1.0
Performance Improvements—partial document re-indexing, intelligent cost-based query processing, and iterator-based processing instead of tree-based processing
XQilla—support for XQilla 2.0 XQuery processing engine
   

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

Product Information
Data sheet: Oracle Berkeley DB XML (PDF)
White paper: Anatomy of an XML Database

Technical Resources
Documentation: Berkeley DB XML
FAQ: Berkeley DB XML
Article: XQuery, libferris, and Virtual Filesystems, O'Reilly XML.com (July 2007)
Article: An embedded XML Database: Oracle Berkeley DB XML, RegDeveloper (July 2007)
Article: Scaling up with XQuery, xml.com (June 2006)
Article: Java Programming with Berkeley DB XML, LinuxWorld Magazine (December 2005)
Article: Intro to Berkeley DB XML: Basic concepts, shell commands, and beyond, SYS-CON (October 2005)
Article: Native XML Data Storage and Retrieval, Linux Journal (July 2005)
Article: Use a Native XML Database for Your XML Data, XML Journal (May 2005)
Article: XML Databases Evolve, InfoWorld (May 2005)
Article: Massive Data Aggregation with Perl, perl.com (April 2005)
Presentation: Use an Embedded XML Database for Your XML Data, Open Source Database Conference 2005 (PDF)
Presentation: Building Berkeley DB XML from Open Source Components, O'Reilly European Open Source Convention (PDF)
Presentation: An Overview of Berkeley DB XML, O'Reilly Open Source Convention 2005 (PDF)
Presentation: Building PHP Applications with Berkeley DB XML, O'Reilly Open Source Convention 2005 (PDF)
Discussion forum: Berkeley DB XML
 
Free Download

Left Curve
Anatomy of an XML Database
Right Curve
 · Learn about the design and architecture of Berkeley DB XML

Left Curve
Support
Right Curve
 · Get support for your Berkeley DB product via email: berkeleydb-info_us@oracle.com
 · Find out about new product releases by joining bdb@oss.oracle.com

Left Curve
Additional Resources
Right Curve
 · Community Resources
 · Berkeley DB Training Course
 · Berkeley DB Licensing Information

Left Curve
Related Technologies
Right Curve
 · Oracle Berkeley DB
 · Oracle Berkeley DB Java Edition
 · Oracle Database 11g
 · Oracle TimesTen In-Memory Database
 · Oracle Database Lite 10g

Left Curve
Berkeley DB Discussions
Right Curve
 · Oracle Berkeley DB XML
E-mail this page
Printer View Printer View
Oracle Is The Information Company About Oracle | Oracle RSS Feeds | Careers | Contact Us | Site Maps | Legal Notices | Terms of Use | Privacy