/Kundera

A JPA 2.1 compliant Polyglot Object-Datastore Mapping Library for NoSQL Datastores.Please subscribe to:

Primary LanguageJavaApache License 2.0Apache-2.0

Coming soon...Kundera Meetup !
Please cast your vote at https://www.surveymonkey.com/s/QJQBNGV

Overview

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.

Supported Datastores

Kundera currently supports following data stores :

  • Cassandra
  • MongoDB
  • HBase
  • Redis
  • OracleNoSQL
  • Neo4j
  • Couchdb
  • Relational databases

You can find the list of data stores(specific versions) supported by Kundera [here] (https://github.com/impetus-opensource/Kundera/wiki/Datastores-Supported).

Getting Started

The latest stable release of Kundera is 2.17 . 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>
 <repository>
     <id>kundera-missing</id>
     <name>Kundera Public Missing Resources Repository</name>
     <url>http://kundera.googlecode.com/svn/maven2/maven-missing-resources</url>
     <releases>
        <enabled>true</enabled>
   </releases>
   <snapshots>
       <enabled>true</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 !

Important Links

About Us

Kundera is backed by Impetus Labs - iLabs. iLabs is a R&D consulting division of Impetus Technologies (http://www.impetus.com). 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] (https://twitter.com/kundera_impetus).