Mirror of Apache Gora
Java Other
Clone or download
carlosrmng GORA-536: Avoid calling Class#newInstance
When using reflexion use getDeclaredConstructor().newInstance()
instead of Class::newInstance because it may throw undeclared checked
exceptions.
Latest commit a839865 May 22, 2018
Permalink
Failed to load latest commit information.
bin Add Cassandra Native Compiler Aug 11, 2017
conf GORA-496 gora commands doesn't output results to console Jan 28, 2017
gora-accumulo GORA-536: Avoid calling Class#newInstance May 22, 2018
gora-aerospike Merge https://github.com/apache/gora into GORA-444 May 1, 2018
gora-cassandra GORA-536: Avoid calling Class#newInstance May 22, 2018
gora-compiler-cli [maven-release-plugin] prepare for next development iteration Sep 15, 2017
gora-compiler [maven-release-plugin] prepare for next development iteration Sep 15, 2017
gora-core GORA-536: Avoid calling Class#newInstance May 22, 2018
gora-couchdb Merge https://github.com/apache/gora into GORA-444 May 1, 2018
gora-dynamodb GORA-536: Avoid calling Class#newInstance May 22, 2018
gora-goraci GORA-536: Avoid calling Class#newInstance May 22, 2018
gora-gradle-plugin Update Gradle versions git 0.8 release Sep 21, 2017
gora-hbase -Fix formatting code May 6, 2018
gora-infinispan GORA-536: Avoid calling Class#newInstance May 22, 2018
gora-jcache -Fix formatting code May 6, 2018
gora-maven-plugin [maven-release-plugin] prepare for next development iteration Sep 15, 2017
gora-mongodb Merge https://github.com/apache/gora into GORA-444 May 1, 2018
gora-orientdb -Fix formatting code May 6, 2018
gora-solr -Fix formatting code May 6, 2018
gora-sql Prepare for 0.6.1 release candidate Mar 2, 2015
gora-tutorial GORA-530 : Reinstated exception throwing in DataStore and Query Jan 18, 2018
sources-dist [maven-release-plugin] prepare for next development iteration Sep 15, 2017
.gitignore Remove duplicated gora-solr declaration and add to .gitignore Aug 31, 2017
.travis.yml Add travic.yml Aug 5, 2016
CHANGES.md Prepare for Gora 0.8 RC#1 Sep 15, 2017
KEYS final updates for 0.4 RC Apr 16, 2014
LICENSE.md Change all .txt files to .md for improved readability Mar 17, 2017
NOTICE.md Prepare for Gora 0.7 release Mar 17, 2017
README.md Remove broken badge from README May 19, 2017
pom.xml Add Cihad Guzel as Apache Gora developer Mar 14, 2018

README.md

Apache Gora Project

license Jenkins Jenkins tests Maven Central Twitter URL

The Apache Gora open source framework provides an in-memory data model and persistence for big data. Gora supports persisting to column stores, key value stores, document stores and RDBMSs, and analyzing the data with extensive Apache Hadoop MapReduce support.

Why Gora?

Although there are various excellent ORM frameworks for relational databases, data modeling in NoSQL data stores differ profoundly from their relational cousins. Moreover, data-model agnostic frameworks such as JDO are not sufficient for use cases, where one needs to use the full power of the data models in column stores. Gora fills this gap by giving the user an easy-to-use ORM framework with data store specific mappings and built in Apache Hadoop support.

The overall goal for Gora is to become the standard data representation and persistence framework for big data. The roadmap of Gora can be grouped as follows.

  • Data Persistence : Persisting objects to Column stores such as HBase, Cassandra, Hypertable; key-value stores such as Voldermort, Redis, etc; SQL databases, such as MySQL, HSQLDB, flat files in local file system or Hadoop HDFS.

  • Data Access : An easy to use Java-friendly common API for accessing the data regardless of its location.

  • Indexing : Persisting objects to Lucene and Solr indexes, accessing/querying the data with Gora API.

  • Analysis : Accesing the data and making analysis through adapters for Apache Pig, Apache Hive and Cascading

  • MapReduce support : Out-of-the-box and extensive MapReduce (Apache Hadoop) support for data in the data store.

Background

ORM stands for Object Relation Mapping. It is a technology which abstacts the persistency layer (mostly Relational Databases) so that plain domain level objects can be used, without the cumbersome effort to save/load the data to and from the database. Gora differs from current solutions in that:

  • Gora is specially focussed at NoSQL data stores, but also has limited support for SQL databases.

  • The main use case for Gora is to access/analyze big data using Hadoop.

  • Gora uses Avro for bean definition, not byte code enhancement or annotations.

  • Object-to-data store mappings are backend specific, so that full data model can be utilized.

  • Gora is simple since it ignores complex SQL mappings.

  • Gora will support persistence, indexing and anaysis of data, using Pig, Lucene, Hive, etc.

For the latest information about Gora, please visit our website at:

http://gora.apache.org

License

Gora is provided under Apache License version 2.0. See LICENSE.txt for more details.