- Berkeley DB Reference Guide:
- Berkeley DB XML
|
|
Introduction
Berkeley DB XML (DBXML) is a programmatic toolkit specifically designed to store
and manage XML data in its native format. This document provides a
product overview and technical reference for Berkeley DB XML, and illustrates
the product's core features and functionality. Readers are assumed to
have existing knowledge of XML, XPath, C++, and Berkeley DB.
Berkeley DB XML is built on top of Sleepycat Software's existing database
product, Berkeley DB, which provides fast, reliable, scalable, and
mission-critical database support. Application developers can choose
the version of Berkeley DB that is most suitable for a particular application:
Berkeley DB Data Store, Berkeley DB Concurrent Data Store, Berkeley DB Transactional Data Store, or Berkeley DB High Availability. Berkeley DB XML provides the following
functionality:
- Embedded
- Berkeley DB XML is provided as a library that is linked into the client
application. This provides superior performance by eliminating
communication among processes or systems.
- Document Storage
- Within Berkeley DB XML, documents are stored in containers. A client application
can operate on many containers at the same time, and can combine data
from different containers. Client applications can also create and
manage Berkeley DB databases. Berkeley DB databases and containers can be used
together at the same time, with full support for Berkeley DB transactions and
recovery services.
- Native Storage
- Documents are returned to the client application exactly as they were
stored. Extraneous white space is preserved, thereby ensuring that the
document is unchanged upon retrieval from the database. This is also
called round tripping.
- Indexing
- Indexing strategies are defined at the container level, and a container
may have multiple indices. This flexibility allows the client
application to facilitate different query patterns, and to exploit the
schema common to each container.
- Query Processing
- The Query Processor uses a cost-based algorithm to select the most
efficient plan for a given query. The algorithm considers available
indices, data volume, disk IO, and the cost of computation when
selecting a query plan.
- Threading
- Berkeley DB XML is thread-safe, and allows the application developer to use the
thread package most appropriate to the application. Berkeley DB XML supports
multithreaded and multiprocess applications.
- Standards
- Berkeley DB XML is implemented to conform to the W3C standards for XML, XML
Namespaces, and XPath 1.0.
|
|
Copyright (c) 1996-2003 Sleepycat Software, Inc. - All rights reserved.