Kundera is a "Polyglot Object Mapper" with a JPA interface. The idea behind Kundera is to make working with NoSQL Databases drop-dead simple and fun. Kundera is being developed with following objectives:
- To make working with NoSQL as simple as working with SQL
- To serve as JPA Compliant mapping solution for NoSQL Datastores.
- To help developers, forget the complexity of NoSQL stores and focus on Domain Model.
- To make switching across data-stores as easy as changing a configuration.
- Kundera now supports RethinkDB. Check Kundera with RethinkDB for more details.
- Kundera supports Apache Kudu. Check Kundera with Kudu for more details.
- Want to step out of JPA world and still take advantage of Kundera? Check Kundera Data as Object.
- Want to save your large files in MongoDB GridFS in the same JPA way. Check GridFS support in Kundera.
- Perform SQL queries over big data using Kundera with Apache Spark as the query engine. Check Kundera with Spark for more details.
- We are active on stackoverflow.com. Ask questions & check existing Kundera Tagged Questions on stackoverflow.
Kundera currently supports following data stores :
- Cassandra
- MongoDB
- HBase
- Redis
- OracleNoSQL
- Neo4j
- Couchdb
- RethinkDB
- Kudu
- Relational databases
- Apache Spark
You can find the list of data stores(specific versions) supported by Kundera here.
The latest stable release of Kundera is 3.11. It is a maven based project . You can either download it directly from github and build using following command :
mvn clean install -Dfile src/pom.xml
Or it can be directly added as maven dependency in your project in the following manner :
- Add the following repository to pom.xml :
<repository>
<id>sonatype-nexus</id>
<name>Kundera Public Repository</name>
<url>https://oss.sonatype.org/content/repositories/releases</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
- Add the data store specific Kundera module as a dependency (e.g. Cassandra below) :
<dependency>
<groupId>com.impetus.kundera.client</groupId>
<artifactId>kundera-cassandra</artifactId>
<version>${kundera.version}</version>
</dependency>
Build your project with the above changes to your pom.xml and start using Kundera !
- Kundera in 5 minutes
- Data Store specific Configurations
- Features :
- Tutorials :
- Kundera Tagged Questions on stackoverflow.com
- Releases
- kundera-mongodb-kudu-example.zip (MongoDB - Kudu polyglot)
- kundera-cassandra-example.zip
- kundera-mongodb-example.zip
- kundera-hbase-example.zip
Kundera is backed by Impetus Labs - iLabs. iLabs is a R&D consulting division of Impetus Technologies. iLabs focuses on innovations with next generation technologies and creates practice areas and new products around them. iLabs is actively involved working on High Performance computing technologies, ranging from distributed/parallel computing, Erlang, grid softwares, GPU based software, Hadoop, Hbase, Cassandra, CouchDB and related technologies. iLabs is also working on various other Open Source initiatives.
Follow us on Twitter.