I am looking for a database client in java. It must have these features-

Stand Alone: It means the database runs from a jar file. No additional resource is required. I do not have to connect to any database client already running as a service in my pc. I may have to indicate a file name or directory to store data or retrieve from it.

NoSQL: I want to be able to store objects directly into it, search by value of any field of my object, update and delete records. SQL like query support is not required. It does not matter whether it has support for it or not.

LocalDB: I am looking for something similar to this in java.

Does anyone know if there is such database service for java?


1 Answer 1


Stand Alone

What I was looking for is called Embedded Database. According to wikipedia:

An embedded database system is a database management system (DBMS) which is tightly integrated with an application software that requires access to stored data, such that the database system is "hidden" from the application’s end-user and requires little or no ongoing maintenance.

I also found a good definition here:

There are two definitions of embedded databases I've seen:

  1. Embedded database as in a database system particularly designed for the "embedded" space (mobile devices and so on.) This means they perform reasonably in tight environments (memory/CPU wise.)
  2. Embedded database as in databases that do not need a server, and are embedded in an application (like SQLite.) This means everything is managed by the application.


Next step is to find a good no-sql embedded database in java. Here, here and here are given quite a long list of embedded database.

After much research about documentation, reliability and performance of different databases, I found Berkeley DB to be the best one now.

JetBrains Xodus also looks very promising.

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.