Looking at this page that aggregates the current NoSQL landscape, one can see that the majority of these projects are written in Java.

Databases are complex systems software dealing with the file system, and so C/C++ would be a better choice than Java for this. (that's my thinking which might be flawed)

Secondly, databases deal with transferring large amounts of data from disk to RAM -- which they call a working set. The JVM takes non-trivial amount of RAM for it's own purpose -- so it would be more efficient to use a platform that leaves lots of memory for data instead of hogging it for its own operations.

The major relational databases are ALL written in C/C++

MySQL              C, C++
Oracle             Assembler, C, C++
SQL Server         C++
PostgreSQL         C
SQLite             C

So what makes Java so popular in NoSQL world.

3 Answers 3


are you sure you counted right?

The majority of the DBs in "document store" section (which is what most people think of by NoSQL DBs) are written in C++ :

MongoDB (arguably the best of the lot BTW, good support from 10gen, and possibly the most widespread) Marklogic, Clusterpoint, EJDB are all in C/C++; with 1 in Erlang, 2 in .NET, and 2 in Java.

Even in the "Key Value / Tuple Store" section, only 2 are written in Java, the majority there are C/C++ too.

"Graph Databases" does have more Java (though one of those is listed as having a C/C++ core), but even so, there's only 3 with another 4 written in something else.

I've only considered the ones that have a language specified in that list, but its still obvious that the "majority java" claim is completely wrong.

  • +1 I had a double take when reading the title of this question because it's based on such a flawed statement Commented Nov 17, 2012 at 15:53

Most of the SQL DBs you list were written long before Java existed. So, the thing that makes Java more popular for NoSQL than for SQL is: it exists.

  • +1, I agree with the possibility of historical influence, also, maybe not a lot of gain from switching over from C* to Java. RAM issue for JVM in OP question is probably minor.
    – NoChance
    Commented Nov 17, 2012 at 14:20

The cost of developing in Java with or without one of its many frameworks in cheaper than cheaper than developing in .NET. Because of this, using Java makes it easier to get support in the open source community.

  • 1
    Please provide a source to backup your assumption.
    – Walter
    Commented Nov 17, 2012 at 15:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.