- Computers & Software»
- Computer Science & Programming
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.
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.
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.
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.
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.
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.
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.
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.
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.
11-JavaDB (Oracle Derby)
This is Oracle’s version of Apache’s Derby DB.
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
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.
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.
Apache Xindice is another XML based database system. It uses XPath as its query language and XUpdate to performs updates.
Document (JSON) Databases
19-CouchDB (Apache) (JSON)
20- FleetDB (JSON)
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.
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.
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.
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.
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.
Persevere is a pure JSON RESTful document storage facility which it a great choice for the new generation of HTML5 web applications.
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.