25+ Alternative & Open Source Database Engines

Almost every web developer has a favorite database that he/she feels comfortable working with as all the tricks & gimmicks are already experienced.

It can be one of the popular databases below:

or even simpler ones like XML, text, etc.

It is understandable why these databases are frequently used; they are well-documented, have a community behind them, integrated with most popular CMSs', easy-to-use, offered by most of the hosting companies ,etc..

But there are also many other databases which are getting popular day-by-day & may have advantages over what you're already using.

Here are 25+ open source alternative databases that you may consider using in your next project:



It is an open source, high-performance, scalable, schema-free & document-oriented (JSON-like data schemas) database.

There are ready to use drivers for most popular programming languages like PHP,Python, Perl, Ruby, JavaScript, C++ + more.



Hypertable is a high performance distributed data storage system designed to support applications requiring maximum performance, scalability, and reliability.

It is modeled after Google's BigTable and mostly focuses on large-scale datasets.

Apache CouchDB

Apache CouchDB

A document-oriented database that can be queried and indexed in a MapReduce fashion using JavaScript.

CouchDB offers a RESTful JSON API which can be accessed from any environment allowing HTTP requests


Neo4j Graph Database

It is an embedded, disk-based, and fully transactional Java persistence engine that stores data structured in graphs rather than tables.

Neo4j offer a massive scalability. It can handle graphs of several billion nodes/relationships/properties on a single machine and can be scaled across multiple machines.



Riak is a very ideal database for web applications as it combines:

  • a decentralized key-value store
  • a flexible map/reduce engine
  • a friendly HTTP/JSON query interface.

Oracle Berkeley DB

Oracle Berkeley DB

It is an embeddable database engine that provides developers with fast, reliable, local persistence with zero administration.

Oracle Berkeley DB is a library that links directly into your application & enables you to make simple function calls rather than sending messages to a remote server for a better performance.

Apache Cassandra

Apache Cassandra

Cassandra is a highly scalable second-generation distributed database that is used by giants like Facebook, Digg, Twitter, Cisco & more..

It aims to provide a consistent, fault-tolerant & highly available environment for storing data.



Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.

It is intended for use in speeding up dynamic web applications by alleviating database load.



Firebird is a relational database that can run on Linux, Windows & various UNIX platforms.

It offers high performance and powerful language support for stored procedures and triggers.



Redis is an advanced fast key-value database written in C which can be used like memcached, in front of a traditional database, or on its own.

It has support for many programming languages & used by popular projects like GitHub or Engine Yard.

There is also a PHP client named Rediska for managing Redis databases.


Hadoop HBase

HBase is a distributed & column-oriented store which can also be called as the Hadoop database.

The project aims to host very large tables like "billions of rows, millions of columns".

It has a  REST-ful web service gateway that supports XML, Protobuf, and binary data encoding options.



It is a consistently replicated, fault-tolerant key-value store that works in Windows OS.

Keyspace offers high availability by masking server/network failures & appearing as a single, highly available service.



4store is a database storage and query engine that holds RDF data.

It is written in ANSI C99, designed to run on UNIX-like systems & offers a high performance, scalable & stable platform.



MariaDB is a backward compatible, drop-in replacement branch of the MySQL® Database Server.

It includes all major open source storage engines + the Maria storage engine.



It is a fork of MySQL that focuses on being a reliable database optimized for Cloud and Net applications.



It is a SQL relational database engine written in Java.

HyperSQL offers a small & fast database engine which has in-memory and disk-based tables, supports embedded/server modes.

Also, it has tools such as a command line SQL tool & GUI query apps.



MonetDB is a  database system for high-performance applications in data mining, OLAP, GIS, XML Query, text & multimedia retrieval.



It is an object storage engine and application server (running on Java/Rhino) that provides storage of dynamic JSON data for rapidly develop data-driven JavaScript-based rich internet applications.



eXist-db is built using XML technology. It stores XML data according to the XML data model & features efficient, index-based XQuery processing.


  • David

    Very impressive list! Thank you Umut!

    I would include another embedded one: Apache Derby.

  • I was not aware of all the different dbs to choose from. Thanks for the information.

  • Excellent articles, will be taking a look at a couple of these as some might be perfect for small apps.

  • @David,

    Didn’t know about Apache Derby, just added it to the list.

    @Jordan, @Thomas,

    Great to see that you liked the article.

  • What about Mnesia (Erlang) ?

  • Great List. Thanks for posting.

  • Patrick

    Nice list. I have another one, too. H2 (h2database.com) is like hsqldb – in memory db and very easy to use.

  • Gene De Lisa

    There’s also NextDB.


  • chris

    You missed hamsterdb!

  • @Patrick, @chris,

    Added them to the list. Thanks.

    @Gene De Lisa,

    NextDB doesn’t seem to be open source, am I wrong?

  • Manuel

    sadly, pretty much all of them are not available if you’re not in a dedicated environment.

  • SM

    Good collection. MongoDB is great. Thanks

  • i would also include persevere to the list.
    “The Persevere Server is an object storage engine and application server (running on Java/Rhino) that provides persistent data storage of dynamic JSON data in an interactive server side JavaScript environment”

  • Epo

    There’s also
    – DB4o a java/.net a OODBMS with many powerfull features.


    -eyedb a sgbdo written in c++ an OODBMS with link to IDL, java and of course C++


    Both are free/opensource.

  • nathan

    I can’t believe openlink virtuoso os edition isn’t on this list – it’s a seriously strong very mature bit of kit that’s used by some of the biggest entities around (and IMHO much better than virtually all the above, if not all) – and no I’m not affiliated in any way; it just rocks

  • ZODB, The ZODB package is a Python object persistence system. It provides the Z Object Database separately from Zope so it can be used in non-Zope related Python applications to provide transparent object-oriented persistency.

  • Hi,

    txtSQL (http://txtsql.com/), a PHP flat file SQ engine is also missing…

    Thx for this list!

  • Wonderful article. Didn’t know about most of them until I read this post. Thanks a lot.

  • agaelebe

    What about Tokyo Cabinet?

  • Yansky

    http://exist-db.org/ is another good one.

  • I second @Sergey, mnesia (http://www.erlang.org/doc/apps/mnesia/).

    How about Project Voldemort (from LinkedIn, http://project-voldemort.com/)

  • WOW! what a great list!! I didn’t knew half of this even existed! It will come in handy when mysql dies 🙁

  • I’mma stick with MySQL and XML, but this was a great find!

  • Thanks for the article and this great list

  • 501st_commander

    txtSQL’s site is gone, you can find it here now: http://sourceforge.net/projects/txtsql/

    includes docs

  • ssge

    Thanks for the list! Do you also have any comparison analysis between any of them?

  • Still, MSSQL rocks. Nothing comes closer to it.

  • AllegroGraph – Graph Database, implemented for RDF


  • brightblue

    Which one of these would be easiest for a beginner?

  • I found another interesting database quite recently, it’s called Cubrid:

    I haven’t tried it out yet but it looks very good on paper.

  • Mimesis
  • I would second Slapo. I am a savvy CUBRID user (http://www.cubrid.org). Use it for my own sites, and administer for my clients. Used to deploy default MySQL, but found out CUBRID runs faster. Why don’t you include it in your list as well? It’s popular in Korea, and now heading to the global market as they have already ported WordPress, Joomla, phpBB, MediaWiki, and other CMS to work with CUBRID.

  • eXtremeDB – http://www.mcobject.com/extremedbfamily.shtml

    Not open source but certainly “Alternative” and used in some very interesting high scalability scenarios.

  • tlu

    Ingres was missed.

  • RDM Embedded is a good database when the database needs to be tightly integrated with the application.

    Fast in-memory database too: http://www.raima.com/in-memory-database/

  • archana

    hi i am new , i want t know which one is best open source t use other than mysql and postgres….
    i want t use java r javascripts t write

  • BaseX is an open-source XML database. Seems to perform better and be more standards-compliant than eXist-db although not as well known.

  • prado

    Thanks for the list guys, still counting………..

  • Brother Bill

    Add taffydb, which a client side database, for storing local data.