13 | 11 | 2010
Main Menu
Affiliates
Who's Online
We have 17 guests online
Alexa
Berkeley DB Java Edition Unleashed - Part1 Introduction
DBMS
Written by administrator   
Monday, 26 May 2008 18:04

Rating 3.0/5 (14 votes)

We are so accustomed to using relational databases that when we hear the term Database Management System (DBMS), the only thing that comes to our mind is relational database and SQL Queries. Actually DBMS is a wider topic of which Relational Databases (RDBMS) are just a part. Other types of DBMS include Hierarchical and Navigational DBMS. Wikipedia defines DBMS as computer software designed for the purpose of managing databases based on a variety of data models.

Today we shall see one such non relational DBMS – The Oracle Berkeley DB.

 

Oracle Berkeley DB family of open source, embeddable databases provides developers with fast, reliable, local persistence with zero administration. Since, it is not a relational database; it does not support SQL, but it does provide very high performance, reliability, scalability, and availability. The data (un-typed) is stored in basic key/value data structures. It is highly suitable for applications that need to store huge amount of data in its own native format without the need for SQL.

The below is the characteristics of Berkeley DB.

 

 

Berkeley DB Java edition is a pure Java version of Berkeley DB optimized for the Java environment.

The architecture of Oracle Berkeley DB Java Edition supports very high performance and concurrency for both read-intensive and write-intensive workloads.

 

Berkeley DB Java Edition is the most suited for application use cases that do not need the use of SQL. It is designed to offer the same benefits of Enterprise Java Beans 3.0 (EJB3) persistence without the need to translate objects into tables.

If your application requires persisting large amounts of object data then it is better not to use relational data because most persisted object data is never analyzed using ad-hoc SQL queries; it is usually simply retrieved and reconstituted as Java objects. It just adds the additional overhead of executing SQL queries and reconstructing java objects from relational data. Berkeley DB Java Edition provides a collections style interface and access to the database is completely API based and the data is not typed (all data is stored and retrieved by the application as byte arrays).

The result is faster storage, lower CPU and memory requirements, and a more efficient development process. Despite the lack of an ad-hoc query language, Berkeley DB Java Edition can access Java objects in an ad-hoc manner, and it does provide transactional data storage and indexed retrieval, as you would expect from any database. The difference is that it does this in a small, efficient, and easy-to-manage package. Using the Direct Persistence Layer (DPL), Java developers can quickly and easily persist and retrieve inter-related groups of Java objects with confidence, speed, and a fraction of the complexity and overhead of a comparable ORM solution.

 

Features (as given in official web site ):

Data Storage

Berkeley DB Java Edition stores data quickly and easily without much of the overhead found in other databases. Berkeley DB Java Edition is a single JAR file that runs in the same JVM as your application, so there is no remote server. A local cache keeps the most active data in memory, avoiding costly disk access, and bounds the usage of JVM memory to a predictable amount.

* Local, in-process data storage

* Schema-neutral, application native data storage

* Keyed and sequential data retrieval

* Easy-to-use Java Collections API

* Direct Persistence Layer (DPL) for accessing Java objects

* Schema evolution of DPL classes

* Single process, multi-threading model

* Record level locking for high concurrency

* Support for secondary indexes

* In-memory, on disk or both

* Configurable background cleaner threads re-organize data and optimize disk use

 

Transactions

Berkeley DB Java Edition stores data reliably and ensures data integrity. In the event of a system failure, Berkeley DB Java Edition will recover transactional data and reset the system to a functional and consistent state from log and database information.

 

* Full ACID compliance

* Selectable isolation levels and durability guarantees, configurable on a per-transaction basis

* Managed transactions using the Java Transaction API (JTA)

* J2EE application server integration using J2EE Connector Architecture(JCA)

* Auditing, monitoring, and administration using the Java Management Extensions (JMX)

* Catastrophic and routine failure recovery modes

* Timeout based deadlock detection

* Hot and cold backups, log file compaction, and full database dumps

 

Deployment

Berkeley DB Java Edition is highly portable, very flexible and easy to integrate. It was designed from day one as a pure Java product taking full advantage of the Java environment. As a single Java Archive (JAR) file, it runs within the JVM running your application. Berkeley DB Java Edition was designed to serve the large and growing Java community with a enterprise-grade, pure Java, data storage solution.

* 100% pure Java for portability and ease of development

* Single JAR file - easy to install, runs in the same JVM as the application

* Java 1.4.2 or later Standard Edition JVM required

* Programmatic administration and management

* Zero human administration

* API for routine administrative functions

* Small footprint 820KB

* Scalable to terabytes of data, millions of records

* Source code, test suite included

 

 



Add this page to your favorite Social Bookmarking websites
Reddit! Del.icio.us! JoomlaVote! Google! Live! Facebook! StumbleUpon! Yahoo! Free social bookmarking plugins and extensions for Joomla! websites!
Comments
Search
Only registered users can write comments!

3.22 Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

Last Updated ( Monday, 26 May 2008 18:18 )