1. Oracle Berkeley DB: Embedded data storage for Devices, Appliances and Applications Peimila Phazang Prem Kumar
2.
3. Oracle Berkeley DB Berkeley DB is Oracle’s only open source, small foot print embeddable databases.
4. Oracle Edge Databases Span the Full Range of Developer’s Needs Data Center Applications Healthcare Equipment Industrial Systems Manufacturing Systems Semiconductor Equipment Communications Systems Gateways / Metadata Storage, Config & Sys Mgmt Security / Authentication Mobile Services Software Messaging and Queue Mgmt Edge Applications Telecom Billing IP Multimedia Systems Core Networking Systems Telco Soft switches Call Centers / CRM Mobile Devices Telematics Field Force Automation Point-of-Sale Devices Distrib Asset Mgmt Mobile Applications
5. Why Oracle Berkeley DB? Helps reduce cost and risk Requirements Oracle Berkeley DB Delivers Low latency & high throughput Software library designed for high performance & throughput with minimal latency Reliability, Availability, Scalability Proven reliability in millions of deployments Scalable from MBs to TBs of data Low TCO Lower CapEx: No end-user license fees high performance less hardware Lower OpEx: Small footprint, No DBA Predictable on time, on budget, on spec delivery Standards based, configurable, comprehensive library faster time-to-market, lower development cost and reduced risk, expertise widely available Sourcing from a “safe bet” vendor Source code availability Proven technology, reference customers, partners
6. A few Berkeley DB customers Financial Services E-Business Enterprises Storage & Systems Mgmt Enterprise Infrastructure Security Networking Telecom Infrastructure Devices/ Appliances Oracle Berkeley DB ISVs & OEMs Enterprises
7. Berkeley DB in Open Source Email Applications Infrastructure Programming Languages Tools Operating Systems All versions of Linux All versions of BSD UNIX Apache Web Server, Directory, et al LDAP Directory Productivity suite Chandler email/PIM Website traffic analysis Kerberos Network Authentication Red Hat Package Manager Internet search Text editor Mail server (MTA) Mail server (MTA) SquidGuard spam blocker Spam blocker Perl Python GNU C library PHP LDAP Directory Oracle Berkeley DB XQilla Library Internet Archive
11. Oracle Mobile Server Sync Layer Small Footprint Database Mobile Client Mobile Server Secure Data and App. Transmission Data Synchronization Application Provisioning Device Management Life Cycle Management Mobile Server Repository BlackBerry, Android, Windows Mobile, Windows, Linux Objective: Designed to extend enterprise data and applications to mobile devices. Application Data
Oracle Berkeley DB has a thriving Open Source community, a high download rate and over 200 Million deployed applications that use Berkeley DB, BDB XML or BDB Java Edition. You may not know it, but you probably use Oracle Berkeley DB every day. If you use Linux or Unix or access applications that run on those platforms, you are relying on Berkeley DB. If you use the Apache Web server or applications that use it, you are using Berkeley DB. Many open source scripting languages using Berkeley DB in some fashion. And this is only talking about the open source applications. In addition to all of these open source projects, you can add all of the OEM and ISV partner applications that embed Berkeley DB, like Cisco, Motorola, Alcatel, Mitel, Openwave, Critical Path etc. These applications are deeply embedded in the technology that underlies the infrastructure that we use every day. If you include enterprise applications that run NASDAQ, Google, Amazon, AOL, Starwood, etc. it is probable that you are using Berkeley DB many times during your day. XQilla was donated by the Oracle BDB XML team and integrate directly with BDB XML. The Internet Archive project uses Berkeley DB Java Edition to store and manage historical web page data
Berkeley DB is faster on INSERT/UPDATE/DELETE because it uses a Write Ahead Log. This allows BDB to only have to flush the appropriate log records to disk in order to insure ACID transactions. SQLite native uses a different logging implementation, which forces it to flush dirty cache pages AND log records, making it slower than BDB. SQLite does SELECTS pretty efficiently. There is very little that BDB can do to be more efficient. SQLite acquires and releases a single lock per table/database, where as BDB has to acquire and release a lock per page. The good news is that we’re more concurrent. The bad news is that we have to do more work than SQLite. In the worst case scenario (many random record lookups, based on a non-selective index) can cause BDB to be about 20-30% slower than SQLite.
Oracle Lite provides an end-to-end solution to enable developers to build, deploy and manage applications that need to access mission critical information in such a manner (i.e. in the field). Diagram At the heart of the Oracle Lite product is the Mobile Server component which provides two major functions: data synchronization a centralized console for managing all aspects of the distributed application deployment – deploying the application itself and updating its versions, managing the devices the application runs on in order to execute remote commands etc., managing the users who use the applications, and tuning data synchronization itself. At the edge of the network ( Embedded or Mobile Client ), the Oracle Lite client stack consists of a small footprint database, a synchronization client and a device management client. The database runs on client devices and provides a local relational store. The synchronization client can synchronize data with an Oracle RDBMS installation as well as application binaries via the Mobile Server. The Mobile Server Repository is simply an Oracle RDBMS installation in which Mobile Server can store it’s metadata that relates users, devices, applications, etc.
Reliability: Users often relax the ACID guarantees of SQLite in order to improve throughput by specifying PRAGMA synchronous=NORMAL or OFF. In this mode, the SQLite database can become corrupt if the application or system crashes. This is not the case with Berkeley DB. With Berkeley DB, transactions that have not been flushed to disk will be rolled back, but the database will be transactionaly consistent and database corruption will not occur.