List of 27 Offline (Standalone) Web and Native Application Databases | Google Chrome | Apple Safari | Mozilla Firefox

There are many database engines that are capable of being embeddable. I wanted to focus on the ones that are free and or open sourced as there are numerous commercial embedded databases engines. As you will surely notice from the list below, many are well known names while a few are lesser known.

Relational Databases

1- Apache Derby
Originally developed by IBM as the Cloudscape database, it was donated to the Apache Foundation. Derby is Java based database engine with a very small 2.6 MB footprint.
(http://db.apache.org/derby/)


2- HSQLDB
A java based database engine provides ultra fast relational transactions and queries. This database engine offers both on disk as well as in memory databases. Adding HSQLDB to a in memory database is as simple as adding the hsqldb.jar to the classpath, loading the driver and and use the jdbc driver to perform sql queries.
(http://hsqldb.org/)



3- Microsoft SQL Server 2008 CE (Compact Edition)
Microsoft SQL Server 2008 CE (Compact Edition) is an embedded database. It supports ADO.Net and of course JDBC. It is targeted at the mobile and desktop application space. Although primarily optimized for Microsoft environments, it can also be used in other environments like through other browsers like Chrome and Safari by using an ActiveX and using a npruntime.
(http://www.microsoft.com/sqlserver/en/us/editions/compact.aspx)


4- Oracle MySQL
A great RDBMS, it offers zero administration as an embedded database. MySQL brings a very low cost of ownership (COGS) to the table. It can be used with native apps on mobile devices or through a browser like Chrome and Safari or Firefox. MySQL has great scalability and any of four types: classic, standard, enterprise or clustered can be embedded. MySQL also offers many types of connectivity like Java, C++, .Net or ODBC.
(http://www.mysql.com/oem/)




5- HampsterDB
This database is a lightweight storage facility. This is not a SQL type database, rather it professes to use a key/value pairing for offline storage. This is similar to the technology being devleoped by w3c.org for the LocalStorage and IndexedDB. It does offer some interesting features for speed and flexibilty.
(http://hamsterdb.com/index)

6- H2
The H2 database engine is Java driven. As such it has excellent support for JDBC which can be acccessed through an Applet coupled with Javascript. With a footprint of only 1 MB, this is a perfect solution for tight confines. As an Offline application database, on mobile devices and desktops, it can fit into the browsers sandbox with ease.
(http://www.h2database.com/html/main.html)


7- CSQL
This minimalist database is a true in memory real time database engine. It provides true ACID support with all standard interfacing support. It works in conjunction with another database like PostgreSQL, Oracle or MySQL. It acts like an in memory cache for high speed, real time access to data.
(http://www.csqldb.com/)


8- Oracle Berkeley DB
The Berkeley DB, which was originally from SleepyCat, is an excellent embedded database that has a long history as a proven embedded database solution. Like all the other, it offers all the interfacing options. It also offers XML support, Object Persistence, ACID, In-Memory cache to name a few. This is a powerful solution it strong corporate backing and support.
(http://www.oracle.com/technetwork/database/berkeleydb/overview/index.html)


9-SQLite
The Super Star of the web and mobile space. It is or was the de factor solution for the HTML5 Web Database. It is the engine that runs Apple’s Core Data. It is the engine that is embedded into Adobe Air (Flex), it is also the standard database engine used in the WebKIT that powers Google Chrome and Apple Safari. It is very lightweight and can be directly accessed via Javascript for a very light app solution.
(http://www.sqlite.org/)




10-IBM DB 2 Express-C
The IBM DB2 Express-C database is a lightweight, and free version of the full featured IBM DB2 RDBMS. This version also features pureXML which stores data as XML if the developer so chooses. In addition, all standard interfaces are supported including JDBC, ODBC, ADO.Net and integrates with Visual Studio if app design is more tailored to that platform. For web apps, the IBM jar files can be embedded in the classpath can be accessed via an Applet/JDBC.
(http://www-01.ibm.com/software/data/db2/express/about.html)

11-JavaDB (Oracle Derby)
This is Oracle’s version of Apache’s Derby DB.
http://www.oracle.com/technetwork/java/javadb/overview/index.html


12-Oracle Database Express
This is a scaled down version of Oracle’s signature database system. It includes all the rich features of the core database system and it is completely free for development and production use. Additional support can be purchased. It is primarily focused to the mobile space for both web and native applications. It supports all the usual interfaces, including JDBC, Ado.Net, ODBC
http://www.oracle.com/technetwork/database/express-edition/overview/index.html

Ad Hoc Dstabases

13- Apple Core Data
If you are planning an application for Safari or mobile devices from Apple, then you are in luck with innovative technology. At its core you have a SQLite database engine. However Core Data is not a relational database. Its API is accessible through Objective-C or other mobile frameworks like PhoneGap.
(http://developer.apple.com/library/mac/#documentation/cocoa/conceptual/coredata/cdprogrammingguide.html)


14- TaffyDB
This is a great database engine and is superbly suited for offline web storage as it is based on Javascript. That said, it is not a SQL compliant database as most of their database files are primarily Array files. In addition to being super fast, most of the major frameworks are supported: jQuery, Yui, Dojo to name a few. No sophisticated or bloated architecture is required.
(http://taffydb.com/)

15- db4o
db4o is an open source object database that fully supports Java and .Net applications. It is possible to embed the engine into an application and their web site boast complex object manipulation. This offering has some very interesting features. Its super fast processing capabilities is a perfect fit for Complex Event Processing; a replication interface to sync with back end servers when the device becomes online will surely find an interested development project, especially one working on a business application.
http://www.db4o.com/

16-jsormdb (Javascript)
JSormDb is an embedded Javascript database engine. It is perfect for offline web applications; mobile or even in disconnected laptops and or other mobile devices.
http://jsorm.com/

XML Databases

17-Exist (XML)
Exist DB is an open source XML database. It stores and manipulates data based on XML technology. It fully supports XQuery, XPath, WebDav, Rest, XML-RPC, Atom, SOAP, XMLDB, XLST, XUpdate. Exist is highly compliant with XQuery which can be used with Javascript. For embedded web applications, a XML offers an existing alternative.
http://exist.sourceforge.net/

18-Xindice (XML)
Apache Xindice is another XML based database system. It uses XPath as its query language and XUpdate to performs updates.
(http://xml.apache.org/xindice/)

Document (JSON) Databases

19-CouchDB (Apache) (JSON)
CouchDB is a document based database from Apache. It offers a RESTful JSON API that uses Javascript. Data can be indexed and retrieved in a MapReduce fashion. CouchDB is a lightweigth database that resembles a key/value pairing that are stored in a document form using an index key.
http://couchdb.apache.org/

20- FleetDB (JSON)
FleetDB is an in memory document based database that is written in Java. Since it stores its data in the RAM, it can offer high performance depending on the RAM available on the host computer. The database can be accesses through a single jar file. FleetDB stores it records in a pure JSON format and as such is accessible via Javascript which makes it ideal for web applications.
http://couchdb.apache.org/

21- OrientDB (JSON)
If you need a Docuemnt-Graph database solution for your app, you are in luck. OrientDB is reportely fast and offers transactional processing. Like any other databases in the open source market, OrientDB is pure Java and supports Restful JSON which makes an attractive choice for web applications.
http://www.orientechnologies.com/orient-db.htm

22- StrokeDb (Json)
StrokeDB, a Ruby based database, can be embedded into a web appliation. Little documentation is available so it is difficult to get a good understanding on its features and capabilities.
http://gitorious.org/strokedb

23- Terrastore (Json)
Terrastore is a schema-less database. It professes to be elastic; being able to scale indefinitely and being able to attach nodes at will. It offers a JSON document structure that is implemented in Java.
http://code.google.com/p/terrastore/

24- Redis (Json db)
Like many other document based databases implemented in the JSON format, Redis is a key/value pair design. This type of database storage is becoming increasingly popular with offline web applications and I might add is the architecture of HTML5’s localStorage and IndexedDB architectures. It has a lot of interesting features like: persistence, pipelining, replication, virtual memory.
http://redis.io/

25-ThruDb (Json)
Another document/JSON based database implemented using the Apache Thrift Framework. It is not a true database, rather is it a set of services that uses different storage backends like MySQL or Berkeley.
http://code.google.com/p/thrudb/

26-Persevere (Json)
Persevere is a pure JSON RESTful document storage facility which it a great choice for the new generation of HTML5 web applications.
http://www.persvr.org/Page/Persevere

27-DBSlayer (Json)
Interestingly this is a NYTimes project that offers fast document/JSON storage facility. DBSlayer was designed to interface with web clients using JSON and Javascipt and HTTP.

http://code.nytimes.com/projects/dbslayer

In Summary

There is no way, unless I write a book, to fit every piece of information into an article. This is only a glimpse of the extensive possibilities for offline storage for web applications and or native mobile applications. Certainly the JSON and XML databases offer some interesting feature as does the Javascript databases especially for web applications that are installed on the end users computer. Not all databases will fit your development requirements, but as I hope to capture, is that there is a solution for each design paradigm.

More by this Author


Comments

No comments yet.

    Sign in or sign up and post using a HubPages Network account.

    0 of 8192 characters used
    Post Comment

    No HTML is allowed in comments, but URLs will be hyperlinked. Comments are not for promoting your articles or other sites.


    Click to Rate This Article
    working