Earlier, i have discussed many NoSQL datastores in my previous blog. Schema less datastores are really required to make the application scale at any point of time. MySQL can fits only up to small set of data. When the data grows up, its very hard to scale the MySQL DB by using shards/clusters. I opted to chose, MongoDB is one of the best key-value and schema-less store for the immediate migration strategy from SQL. Because, MongoDB is very ease to install. For querying the complex data, in other NoSQL DBs, you need to write a separate Map/Reduce program to segregate your data. But in MongoDB, simply we can write the queries to analyze it.
Java Objects mapping with NoSQL data store similar to SQL ORM (Object Relational Mapping) using JPA. I am sure the developer will be more happier to use JPA in NoSQL. I found a NoSQL JPA library named Kundera. The beauty of this library that it supports, many NoSQL and relational DBs which we can switch over by simply changing the configuration. The below table is the list that Kundera supporting DBs.
I wrote a core API by using this Kundera library for manipulating any set of operations irrespective of the data store. Its using JPA to persists the data and all the CRUD (Create, Read, Update & Delete) operations can perform via Restful webservice. Kundera’s Persistence manager, is a configurable one which we can map any datastore details. To setting up the Entity Manager connection object in below from persistence unit.