ORACLE DATA SHEET

ORACLE BERKELEY DB PRODUCTS

OVERVIEW The Oracle Berkeley DB product family consists of Berkeley DB,

Berkeley DB Edition and Berkeley DB XML. All three are high performance, self-contained, libraries which provide data

storage services for applications, devices, and appliances. They CONSIDER ORACLE deliver superior performance, scalability and availability for BERKELEY DB WHEN:  You need a SQLite API applications that must run unattended without administration. compatible database within mobile, handheld or other Overview hardware devices  Performance, scalability, The Oracle Berkeley DB family of high performance, self-contained databases concurrency matters provides developers with a fast, transactional database solution with a track record  Zero oversight administration of reliability, unmatched scalability and five-nines (99.999%) or better availability. in deployment is required Oracle Berkeley DB is well suited to Independent Software Vendors, device and  You need the flexibility to choose SQL, XQuery, Java equipment manufacturers, and enterprises or software companies building solutions Object, or Key/Value data which need a data management component. The Oracle Berkeley DB family of management products provides fast, local persistence with zero oversight administration.  Mobile data synchronization with is a Your customers and end-users will experience an application that simply works, requirement reliably manages data, scales under extreme load, and requires zero oversight in  Failure from recovery must be automatic and reliable deployment. Your development team can focus on your application and be confident  High availability and fault that Berkeley DB will manage your application’s data. tolerance are critical

Storage Engine Design The Berkeley DB products are self-contained software components which support your application. This in-process model eliminates the network performance penalty of distributed and client-server architectures. Berkeley DB provides simple function-call interfaces to store and retrieve information quickly and easily. Data can be stored in the application’s native format, XML, SQL or as Java Objects.

Interface Store and access data using SQL, XQuery, Objects, or Key/Value Storage High performance database with ACID transactions, Indexes, Locking, MVCC, Encryption, Recovery and HA/replication Access Match requirements to functionality, use only what you require

ORACLE DATA SHEET

ORACLE EMBEDDED DATABASES

ORACLE EMBEDDED DATABASES Oracle has long been the leader in high-performance, reliable and

scalable database management services for mission-critical applications in the data center. Today, though, mission-critical Industry-leading enterprise database that may also be applications are deployed not only in the data center, but also on deployed as an with silent install and mobile devices, in the network infrastructure and on special-purpose no human administration. systems. Oracle’s commitment to providing best-in-class data

management products extends from the data center to edge and

embedded applications.

In- relational database for real-time environments, Data Is Everywhere optimized for performance- Applications today have moved beyond the data center. They run at the “edge” – in critical applications and providing caching for Oracle routers and switches for networking, communication services and OSS/BSS systems Database. for telecommunications, handhelds and data capture devices for mobile field workers, monitoring and control systems in vehicles, and appliances and

entertainment devices in consumers’ homes. Like the data center applications that

preceded them, these applications need fast, scalable and reliable storage services Fast, scalable and reliable for the data on which they operate. Unlike those data center applications, however, database engine for non- these new applications must manage themselves, running with local data and relational data. XML and Java versions available. without a systems administrator. Oracle’s broad embedded database product line satisfies the diverse demands of this

new generation of applications. The company’s expertise in fast, scalable and

reliable database management is now available to the innovators building the next

generation of applications at the edge. Small-footprint SQL database with synchronization services The Challenge designed for mobile, PDA and In order for your product to succeed in today’s world where customers have more occasionally-connected device deployments. choices, your product has to be better in some way. More differentiated capabilities, better performance, easier deployment, and lower cost. And the reality is that you have limited time, money and resources to build your product.

No matter what you are building, whether it is hardware or software, whether it is simple or complex, your application likely needs to manage data in some way. You should consider an embedded database if your application needs to:

• Store data internally • Run unattended • Install and configure the database silently • Deliver lower TCO by minimizing your customer’s costs • Be a complete, turnkey solution

If this is your situation, an Oracle embedded database may be the ideal solution.

1 ORACLE DATA SHEET

WHY EMBED? Build or Buy?

ORACLE DELIVERS A There is simply no reason to build embedded data management capability yourself, COMPLETE RANGE OF when a range of proven, commercial off-the-shelf (COTS) products are available EMBEDDABLE DATABASE from Oracle. Oracle offers you choice and flexibility to meet your unique technical PRODUCTS FOR requirements, and our COTS offerings will greatly reduce your engineering cycle- APPLICATIONS THAT RUN time, cost and risk, while allowing you to focus your scarce resources on your ON HANDHELDS, IN THE DATA CENTER AND application and its unique value-add, instead of the underlying data management. ANYWHERE IN BETWEEN. The simple fact is that robust data management is hard. Outstanding performance, especially under unpredictable workloads, requires long-term, continuous analysis KEY BENEFITS: and tuning. Building highly available, reliable systems that survive failures • Enterprise-class data management for a wide gracefully requires deep expertise and years of real-life field deployments. Oracle’s variety of systems with a embedded database products have been proven through millions of mission-critical range of storage and deployments. performance needs. • Reduced risk, faster time to market and increased Benefits of Partnering customer confidence with In addition to world-class products, Oracle provides partners with additional outstanding performance and reliability. benefits. During development, Oracle offers technical assistance via support, • Technical support and training and consulting to help you embed and integrate your application. After you services to back up your deploy, you will be able to deliver superior support to your customer by being their team, around the clock and around the world. single point of contact, while Oracle supports you with global, 24x7 support in local • Partner programs and languages. The cost for this support will be far lower than maintaining your own sales support that drive home-grown solution, and you also avoid the risk of losing key employees. You adoption and revenue. • Flexible pricing and also benefit by leveraging Oracle’s continued engineering investment to add new business terms designed product features and enhancements. for partners working in the embedded market. Partnering with Oracle also helps you go to market. Oracle has an ecosystem of over 275,000 customers and over 17,000 partners, and Oracle PartnerNetwork offers a

ORACLE EMBEDDED number of programs to help you reach that base. In addition, the strength of the DATABASES: Oracle brand can increase your customers’ confidence in your product, which can

• Oracle Database 10g eliminate concerns and ease adoption. • Oracle TimesTen • Oracle Berkeley DB Oracle Embedded • Oracle Lite Gain a competitive edge by building your application on proven Oracle embeddable

databases.

Learn more about our products at www.oracle.com/goto/embedded.

Learn more about our partner program at http://www.oracle.com/partners/develop/cycle/global/embed.html.

Copyright 2008, Oracle. All Rights Reserved.

This document is provided for information purposes only, and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor is it subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission.

Oracle, JD Edwards, PeopleSoft, and Siebel are registered trademarks of and/or its affiliates. Other names may be trademarks of their respective owners.

2 ORACLE DATA SHEET

ORACLE BERKELEY DB PRODUCT FAMILY

 Berkeley DB Java Object Persistence  Berkeley DB Java Edition Berkeley DB products offer the  Berkeley DB XML greatest range of Java

persistence options of any ENTERPRISE-GRADE embedded database so that PERFORMANCE, developers have exactly what SCALABILITY AND they need. Both Berkeley DB AVAILABILITY IN AN EMBEDDABLE PACKAGE and its pure-Java counterpart Berkeley DB Java Edition offer three different for storing data. In addition, Berkeley DB can be used as a SQL databases and accessed using JDBC or EJB3.

Features Berkeley DB supports ACID transactions and recovery for data integrity, multiple processes and multi-threading for high concurrency, and replication for high scalability and availability. Berkeley DB is very flexible and configurable, giving the application developer control over how resources are allocated, the amount of memory dedicated to caching records, the degree of concurrency, support for recovery and more. It includes full source code for easier porting, integration, debugging and optimization. Berkeley DB supports all modern operating systems including Solaris, Linux, BSD, HP-UX, AIX, Windows, Mac OS X, iPhone, Android, and RTOS such as VxWorks and QNX. It supports most programming languages, including , C++, Java, C#, , Python, PHP, Tcl, Ruby and many others.

Applications That Use Berkeley DB Berkeley DB is used within a wide variety of open source and proprietary products for telecommunications, networking, storage, security, enterprise infrastructure, financial services, mobile applications, health care, smart metering and many other markets. Many well respected and open source projects use Berkeley DB including Linux, BSD , Solaris, , , Apache, MemcacheDB, Voldamort and Heretrix. Proprietary products that use Berkeley DB include directory servers from Sun and Hitachi; messaging servers from Openwave and LogicaCMG; switches, routers and gateways from Cisco, Motorola, Lucent, and Alcatel; storage products from EMC and HP; security products from RSA Security and Symantec; and Web applications at Amazon.com, LinkedIn and AOL.

Copyright 2010, Oracle. All Rights Reserved.

This document is provided for information purposes only, and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor is it subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission.

Oracle, JD Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

ORACLE DATA SHEET

ORACLE BERKELEY DB JAVA EDITION

OVERVIEW Oracle Berkeley DB Java Edition is a high performance,

transactional database in pure Java. Using Berkeley DB Java Edition you can persistent objects using the Java Collections API, as

annotated graphs or as Key/Value pairs in a fast, local database. • Pure Java database Oracle Berkeley DB Java Edition is an easy-to-use, scalable and • Fast, indexed, Btree storage efficient pure Java database. • ACID transactions • Highly concurrent design • Runs in-memory or on disk Persistence • Zero oversight administration Berkeley DB Java Edition provides all the features of an object-to-relational • Supports Java EE JTA, JCA, mapping solution and a transactional database without the overhead. Most, if not JMX, and JConsole all, Java applications need to store some amount of object data. Sometimes that data • Simple persistent object graph Direct Persistence Layer must be accessible by other software infrastructure. In these cases simply map the (DPL) annotation API object data into SQL using an ORM such as EJB and let the relational database • Work with large persistent process and persist the information. Other times this design pattern (Java – ORM – datasets using the java.util.collections API RDBMS) is used when the advantage of an intermediary format and the analytical • Easy Key/Value API power of a query language is never realized. If you do not need the overhead of • Replication for high SQL processing, why use an Enterprise Java Beans (EJB)? Berkeley DB Java availability, fault-tolerance, fail-over, read-scalability, etc. Edition accomplishes the goal of transactional Java object storage without • Scales to hundreds of translating objects into SQL thus dramatically improving your application’s gigabytes of data performance without sacrificing any functionality. • Designed to scale up as you add cores, CPUs and even Berkeley DB Java Edition stores and optimizes access to your Java objects, it systems provides concurrent • Support for Android Platform transactional data storage, and Dalvik JVM • A single JAR file (~0.5-2KB in and data is indexed for size depending on fast retrieval just as you configuration) would expect from any database. The difference is that it does all this in a small, efficient, and easy- to-manage package.

Scale Out and Manage Failure Using Replication Berkeley DB provides a single-master, multi- replica highly available database replication. Transactional data is delivered to all replica nodes with flexible consistency policies per transaction. In the event the master replica node fails a PAXOS-based automated fail-over election process minimizes downtime. This allows for read

ORACLE DATA SHEET

BERKELEY DB scalability, fail-over, hot-standby and other distributed configurations, giving you JAVA EDITION enterprise grade features in a small, embedded package.

A SCALABLE, FAST AND Performance TRANSACTIONAL JAVA Berkeley DB Java Edition’s unique log- PERSISTENCE SOLUTION based database structure and concurrent Btree design brings performance into USE CASES: parity with that of optimized ANSI C • Caching • Application data repository solutions while remaining pure Java. • POJO persistence Berkeley DB Java Edition scales across • Queuing/Buffering multi-core and multi-processor • Web Services architectures to efficiently use all • Mobile Devices available resources. • Integration Java Enterprise Edition Integration KEY BENEFITS: Berkeley DB Java Edition fits neatly into the Java Enterprise Edition (Java EE) • Very high performance ’s toolkit by supporting the Java Transaction API (JTA), Java EE • Simple, direct, indexed storage Connector Architecture (JCA), JConsole API for monitoring, and Java Management • Local, in-process storage Extensions (JMX) on Oracle Application Server 11 g and other popular Java EE • High concurrency application servers. • Massive scalability • Transactional data Mobile to Massive integrity Berkeley DB Java Edition fits equally well into any stand-alone Java application, an • Automatic recovery application on a mobile device, or within a globally distributed enterprise • Zero administration application running within the context of a Java EE server. Berkeley DB Java • Fast, simple development • Flexible deployment Edition fills a major gap in the data storage landscape by offering an out-of-the-box solution for situations where previously the only solution was custom code. RELATED PRODUCTS: Simple, Effective, Fast Berkeley DB Java Edition is a part of the Berkeley DB Berkeley DB Java Edition is simple to use, efficient and effective Java object embeddable database storage. When requirements dictate transactional persistence consider eliminating family, which includes the SQL processing overhead by using Berkeley DB Java Edition. Berkeley DB and Berkeley DB XML.

Copyright 2010, Oracle. All Rights Reserved.

This document is provided for information purposes only, and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor is it subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission.

Oracle, JD Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle Corporation and/or its affiliates. Java and the Java Powered logo are trademarks or registered trademarks of , Inc. in the U.S. and other countries, and are used under license. Other names may be trademarks of their respective owners.

ORACLE DATA SHEET

ORACLE BERKELEY DB XML

OVERVIEW Oracle Berkeley DB XML is a high-performance embeddable

database engine for developers of mission critical XML applications. It runs directly in the application that uses it, so no separate server

is required, and no human administration is needed. Berkeley DB • Embeddable XML database XML manages XML documents using XQuery and offers advanced engine • Support for XQuery and data management services, including concurrent access, XPath transactions and replication for high availability and fault tolerance. • Flexible indexing for optimizing search and retrieval Embedded XML Data Management • Flexible storage control – nodes or whole documents Oracle Berkeley DB XML offers software developers a fast, reliable and scalable • Partial document updates XQuery engine with sophisticated XML content storage in a packaged that can be • Schema support, including embedded inside an application. Berkeley DB XML is equally at home managing validation content at nodes within a Service-Oriented Architecture (SOA), storing data for a • Runs in process with the application PHP Web application, and managing massive volume of genomic or geographic data • Concurrent access by multiple requiring complex query analysis. threads or processes • Full ACID transactions XML is a widely used format for publishing and exchanging data among systems, in • Replication for high availability particular for Web Services and SOAs. As the volume of XML data increases, it has • Zero administration become increasingly critical that applications and SOA components be able to store, manage, and retrieve XML without the overhead of translating it into other formats. Berkeley DB XML allows developers to do just that quickly and easily within their applications, without resorting to an external storage system or expensive and time consuming setup and administration. Berkeley DB XML runs directly inside the application that uses it, so no separate database server is required. Berkeley DB XML stores XML documents in XML, and supports the XQuery standard for querying data.

Enterprise-class Storage Because it is built on top of the proven and mature Oracle Berkeley DB storage engine, Berkeley DB XML inherits all the features, performance, reliability and scalability that Berkeley DB delivers. Berkeley DB XML can store terabytes of data in a single document repository. The database can survive power outages, software errors and hardware failures without losing data. It supports simultaneous access to the document store by large numbers of users.

Designed for Networked Applications One of the most common uses of Berkeley DB XML is for storing documents in network-based applications. Content management systems, which store and publish XML documents over the Internet, may use Berkeley DB XML as their repository. High-performance networking devices like switches, routers and gateways use

1 ORACLE DATA SHEET

BERKELEY DB XML – Berkeley DB XML to manage control information and the data that flows through EMBEDDED XML them.

BERKELEY DB XML A common requirement of these systems is a fast, local, persistent store for XML DELIVERS ENTERPRISE- data. Low latency and high throughput are crucial. Berkeley DB XML eliminates GRADE STORAGE SERVICES FOR XML- runtime overhead by operating within the embedding application thereby providing BASED APPLICATIONS. direct memory access, rather than client/server based access, to XML content. This eliminates the round trip to and from the server during runtime, and translates into KEY BENEFITS: better performance and scalability. • High performance • Direct storage of XML without the need for Flexibility translation Berkeley DB XML is intended for use within an application, for applications that • Standard XQuery-based need to store data locally and run in an unattended fashion. The variety of document storage • Flexible indexing and applications that use it is broad; ranging from SOA components to network storage storage model for products to financial applications. Berkeley DB includes an Apache module for use optimizing performance as an out of the box Web-Service. PHP is also supported, greatly enhancing XML- • High concurrency based web sites. • Transactional data integrity Berkeley DB XML gives developers control over virtually every aspect of the • Automatic recovery deployed system. It can be configured to meet the needs of the application, and to • Replication for high availability operate within the constraints of the environment in which it is deployed. • Zero administration For example, Berkeley DB XML allows the developer to declare a wide variety of indexes on the document repository. Individual nodes in a document, the presence or RELATED PRODUCTS absence of edges in the document graph and the value of named attributes may all be AND SERVICES: stored in an index for fast retrieval at query time. Berkeley DB XML is a part of the Berkeley DB In addition, Berkeley DB XML allows the developer to decompose a document into embeddable database smaller units – sub-trees – for storage. This improves update speeds, since only part family, which includes Berkeley DB and Berkeley of the document need be rewritten when it changes. In addition, this can improve DB Java Edition. read performance for queries that want part of, but not all of, a document.

Embedded XML Berkeley DB XML provides systems architects and developers with data management services that are optimized for XML documents. Its support for XML schema, and for XQuery/XPath for document manipulation, mean that Berkeley DB XML drops seamlessly into an XML-based application. Because Berkeley DB XML runs directly in the application, it provides superior performance, and does not require an administrator to keep the system running.

Copyright 2006, Oracle. All Rights Reserved.

This document is provided for information purposes only, and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor is it subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission.

Oracle, JD Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

2