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:
MongoDB
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
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
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
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
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
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
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
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
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
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.
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.
Keyspace
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
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
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.
Drizzle
It is a fork of MySQL that focuses on being a reliable database optimized for Cloud and Net applications.
HyperSQL
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
MonetDB is a database system for high-performance applications in data mining, OLAP, GIS, XML Query, text & multimedia retrieval.
Persevere
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
eXist-db is built using XML technology. It stores XML data according to the XML data model & features efficient, index-based XQuery processing.
Others
- Gladius (PHP flat-file database)
- CloudStore
- OpenQM (multivalue database)
- ScarletDME (multivalue database)
- SmallSQL (Java Desktop SQL Database Engine)
- LucidDB
- HyperGraphDB (graph database)
- InfoGrid (graph database)
- Apache Derby
- hamsterdb
- H2 Database
- EyeDB
- txtSQL
- db4o
- Tokyo Cabinet
- Project Voldemort
- Tags:
MSSQL Mysql PostgreSQL
- Filed under: Database, Goodies, No License
- 38 Comments































38 Responses for "25+ Alternative & Open Source Database Engines"
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.
Nice list. I have another one, too. H2 (h2database.com) is like hsqldb – in memory db and very easy to use.
There’s also NextDB.
http://www.nextdb.net/
You missed hamsterdb!
http://hamsterdb.com
@Patrick, @chris,
Added them to the list. Thanks.
@Gene De Lisa,
NextDB doesn’t seem to be open source, am I wrong?
sadly, pretty much all of them are not available if you’re not in a dedicated environment.
Good collection. MongoDB is great. Thanks
i would also include persevere to the list.
http://www.persvr.org/
“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”
There’s also
- DB4o a java/.net a OODBMS with many powerfull features.
http://www.db4o.com
-eyedb a sgbdo written in c++ an OODBMS with link to IDL, java and of course C++
http://www.eyedb.org
Both are free/opensource.
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.
What about Tokyo Cabinet?
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
txtSQL’s site is gone, you can find it here now: http://sourceforge.net/projects/txtsql/
includes docs
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
http://www.franz.com/agraph
Which one of these would be easiest for a beginner?
I found another interesting database quite recently, it’s called Cubrid:
http://www.cubrid.org/
I haven’t tried it out yet but it looks very good on paper.
Mimesis http://mimesis.110mb.com/
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.
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/
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.
Thanks for the list guys, still counting………..