Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/impetus/kundera
A JPA 2.1 compliant Polyglot Object-Datastore Mapping Library for NoSQL Datastores.Please subscribe to:
https://github.com/impetus/kundera
java jpa kundera nosql polyglot
Last synced: about 16 hours ago
JSON representation
A JPA 2.1 compliant Polyglot Object-Datastore Mapping Library for NoSQL Datastores.Please subscribe to:
- Host: GitHub
- URL: https://github.com/impetus/kundera
- Owner: Impetus
- License: apache-2.0
- Created: 2011-05-06T13:57:57.000Z (over 13 years ago)
- Default Branch: trunk
- Last Pushed: 2020-02-11T05:50:27.000Z (almost 5 years ago)
- Last Synced: 2024-11-02T16:34:55.818Z (12 days ago)
- Topics: java, jpa, kundera, nosql, polyglot
- Language: Java
- Homepage: http://groups.google.com/group/kundera-discuss/subscribe
- Size: 29.3 MB
- Stars: 903
- Watchers: 122
- Forks: 233
- Open Issues: 175
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
README
[![Join the chat at https://gitter.im/Impetus/Kundera](https://badges.gitter.im/Impetus/Kundera.svg)](https://gitter.im/Impetus/Kundera) [![Follow us on Twitter](http://i.imgur.com/wWzX9uB.png)](https://twitter.com/kundera_impetus)
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.Latest
======
* **Ethereum** public data can be stored to any database of your choice. Check [Kundera with Ethereum](https://github.com/impetus-opensource/Kundera/wiki/Kundera-with-Ethereum-Blockchain) for more details.
* Kundera now supports **RethinkDB**. Check [Kundera with RethinkDB](https://github.com/impetus-opensource/Kundera/wiki/Kundera-with-RethinkDB) for more details.
* Kundera supports **Apache Kudu**. Check [Kundera with Kudu](https://github.com/impetus-opensource/Kundera/wiki/Kundera-with-Kudu) for more details.
* Want to step out of JPA world and still take advantage of Kundera? Check [Kundera Data as Object](https://github.com/impetus-opensource/Kundera/wiki/Kundera-Data-As-Object).
* Want to save your large files in MongoDB GridFS in the same JPA way. Check [GridFS support in Kundera](https://github.com/impetus-opensource/Kundera/wiki/GridFS-support-with-Kundera-MongoDB).
* Perform SQL queries over big data using Kundera with **Apache Spark** as the query engine. Check [Kundera with Spark](https://github.com/impetus-opensource/Kundera/wiki/Kundera-with-Spark) for more details.
* We are active on **stackoverflow.com**. Ask questions & check existing [Kundera Tagged Questions](http://stackoverflow.com/questions/tagged/kundera) on stackoverflow.Supported Datastores
=====================
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](https://github.com/impetus-opensource/Kundera/wiki/Datastores-Supported).Getting Started
===============
The latest stable release of Kundera is 3.13.
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 :
```
sonatype-nexus
Kundera Public Repository
https://oss.sonatype.org/content/repositories/releases
true
false
```
* Add the data store specific Kundera module as a dependency (e.g. Cassandra below) :
```
com.impetus.kundera.client
kundera-cassandra
${kundera.version}
```Build your project with the above changes to your pom.xml and start using Kundera !
Important Links
===============
* [Kundera in 5 minutes](https://github.com/impetus-opensource/Kundera/wiki/Getting-Started-in-5-minutes)
* [Data Store specific Configurations](https://github.com/impetus-opensource/Kundera/wiki/Data-store-Specific-Configuration)
* Features :
* [Polyglot Persistence](https://github.com/impetus-opensource/Kundera/wiki/Polyglot-Persistence)
* [JPQL](https://github.com/impetus-opensource/Kundera/wiki/JPQL) & [Native Query](https://github.com/impetus-opensource/Kundera/wiki/Native-queries) Support
* [Schema Generation](https://github.com/impetus-opensource/Kundera/wiki/Schema-Generation)
* [Transaction Management](https://github.com/impetus-opensource/Kundera/wiki/Transaction-Management)
* [Rest Based Access](https://github.com/impetus-opensource/Kundera/wiki/REST-Based-Access)
* [Aggregation over NoSQL](https://github.com/impetus-opensource/Kundera/wiki/How-to-perform-aggregation-over-data-stored-in-NoSQL%3F)
* Tutorials :
* [Kundera with Openshift](https://github.com/impetus-opensource/Kundera/wiki/Deploying-Polyglot-(RDBMS---NoSQL)-Applications-on-Openshift)
* [Kundera with Play Framework](https://github.com/impetus-opensource/Kundera/wiki/Using-Kundera-with-Play!-Framework)
* [Kundera with GWT](https://github.com/impetus-opensource/Kundera/wiki/Using-Kundera-with-GWT)
* [Kundera with JBoss](https://github.com/impetus-opensource/Kundera/wiki/Using-Kundera-with-Jboss)
* [Kundera with Spring](https://github.com/impetus-opensource/Kundera/wiki/Building-Applications-with-Kundera-and-Spring)
* [Kundera with Spark](https://github.com/impetus-opensource/Kundera/wiki/Kundera-with-Spark)
* [Kundera Tagged Questions on stackoverflow.com](http://stackoverflow.com/questions/tagged/kundera)
* [Releases](https://github.com/impetus-opensource/Kundera/blob/trunk/src/README.md)Troubleshooting
===============
* [Common Issues and Troubleshooting](https://github.com/impetus-opensource/Kundera/wiki/Common-Issues-and-Troubleshooting)Sample Projects
===============
Please use latest version of Kundera in these sample projects.* [kundera-mongodb-kudu-example.zip (MongoDB - Kudu polyglot)](https://github.com/impetus-opensource/Kundera/blob/trunk/examples/basic-examples/downloadables/kundera-mongodb-kudu-example.zip?raw=true)
* [kundera-cassandra-example.zip](https://github.com/impetus-opensource/Kundera/blob/trunk/examples/basic-examples/downloadables/kundera-cassandra-example.zip?raw=true)
* [kundera-mongodb-example.zip](https://github.com/impetus-opensource/Kundera/blob/trunk/examples/basic-examples/downloadables/kundera-mongodb-example.zip?raw=true)
* [kundera-hbase-example.zip](https://github.com/impetus-opensource/Kundera/blob/trunk/examples/basic-examples/downloadables/kundera-hbase-example.zip?raw=true)Contribution
============
* [Contribution Ideas](https://github.com/impetus-opensource/Kundera/wiki/How-to-Contribute#contribution-ideas)
* [Contribution Guidelines](https://github.com/impetus-opensource/Kundera/wiki/How-to-Contribute#contribution-guidelines)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).