Got Introduced To BerkleyDB
Jan 2nd, 2010 | By sankarsan | Category: FeaturedEvery application that we build needs data.Traditionally in most of the applications we have a client component which interacts with the end user and data resides on a separate database server.In modern applications we have an intermediate web server or application server as well.There are some applications which needs a storage component as an integral part of the application itself e.g. let us consider a field force automation system installed in an hand held device which is used to capture orders by the sales staff on field at various retail outlets and later synchronized with some central Order Management application.Here the application needs an offline storage capability and it should be a simple,fast,reliable database with almost zero administration.In this kind of application we will have very few entities and a relational database might not be very well suited here.So here comes BerkleyDB.
BerkleyDB is an open source, embeddable, non relational database that provides high performance local storage capabilities.Berkeley DB has it’s roots in “DB 1.85” that was part of 4.4 BSD in 1991.Later this was released by SleepyCat Software under dual open source license and finally was acquired by Oracle Corporation in 2006.The major members of the BerkleyDB product family is shown below:
BerkleyDB is available as four feature sets:
- BerkleyDB Data Store (DS) – This provides only the basic storage functionality with single writer & multiple reader mode.
- BerkleyDB Concurrent Data Store (CDS) – This also provides only basic storage functionality with multiple writer & readers.
- BerkleyDB Transactional Data Store (TDS) – This in addition to concurrency provides full support for ACID properties of a transaction.
- BerkleyDB High Availability Data Store (HA) - This provides support for high availability using replication.
The core of BerkleyDB is written in C and on top of that it provides C++ and Java API.
BerkleyDB XML is a XML Database built on top of BerkleyDB with provision for XML Document Storage, XML Document Indexing & XML Document Query using XQuery.This is accessible through C++ & Java APIs.
BerkleyDB Java Edition is a version of BerkleyDB written entirely in Java and currently supports the Data Store & Concurrent feature sets.This is specifically designed to be embedded within Java environment.
Both BerkleyDB and it’s Java edition supports Transactional Java Collections using the common Java collections can be stored,updated and queried in a transactional manner.
Apart from Java & C++ BerkleyDB API libraries are available for C#,Python, Ruby,Tcl etc.Next Post onwards we will explore BerkleyDB Data Store will C# APIs.
[...] might want to subscribe to the RSS feed for updates on this topic.Powered by WP Greet BoxIn my last post I have discussed about the BerkleyDB product family.In this post we will discuss about using [...]