Welcome to the Apache Gora project!

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. Gora uses the Apache Software License v2.0. Gora graduated from the Apache Incubator in January 2012 to become a top-level Apache project. You can find the Gora DOAP here.

Join us on Freenode at #apachegora

Download About Quickstart Overview Tutorial Credits Contribute Javadoc


8 January, 2015: Gora upgrades to Hadoop 2.5.X and HBase 0.98.X

Today our Jira issue GORA-375 was resolved with the result that the Gora community can now upgrade their systems to operate on Hadoop 2.X and HBase 0.98. Specifically the versions which we recommend are as follows:

Best efforts have also been made to retain backwards compatibility for Hadoop 1.X users, therefore we have upgraded to, and still support Hadoop 1.2.1 via the addition of our Shim layers. For further details on our Shim layers and pluggable Hadoop support please see Jira issue GORA-346. Additional documentation for the use of Shim layers within Gora will soon be documented and linked to from our current documentation.

20 September, 2014: Apache Gora 0.5 Release

The Apache Gora team are pleased to announce the immediate availability of Apache Gora 0.5.

This release addresses no fewer than 44 issues with many being improvements and new functionality. Most notably the release includes the addition of a new module for MongoDB, Shim ffunctionality to support multiple Hadoop versions, improved authentication for Accumulo, better documentation for many modules, and pluggable solrj implementations supporting a default value of http for HttpSolrServer. Available options include http (HttpSolrServer), cloud (CloudSolrServer), concurrent (ConcurrentUpdateSolrServer) and loadbalance (LBHttpSolrServer).

Suggested Gora database support is as follows

Gora is released as both source code, downloads for which can be found at our downloads page as well as Maven artifacts which can be found on Maven central.

01 July, 2014: Apache Gora joins the DARPA Open Catalog

Open Catalog Logo

Gora now features within the Defense Advanced Research Projects Agency (DARPA) Open Catalog as part of ongoing participation in the XDATA Program.

XDATA is developing an open source software library for big data to help overcome the challenges of effectively scaling to modern data volume and characteristics. The program is developing the tools and techniques to process and analyze large sets of imperfect, incomplete data. Its programs and publications focus on the areas of analytics, visualization, and infrastructure to efficiently fuse, analyze and disseminate these large volumes of data.

Gora is being used by the Jet Propulsion Laboratory team to execute extract-transform-load-type tasks for mapping and integration of source heterogeneous data to and from target NoSQL solutions.

04 June, 2014: Apache Gora now supports MongoDB

MongoDB Logo

The Gora community is proud to announce support MongoDB amongst our growing datastore support arsenal. MongoDB is an open-source document database, and the leading NoSQL database. Written in C++, MongoDB features:

The current supported version of is MongoDB is 2.6 with client version support at 2.12.2.

29 May, 2014: Apache Gora now implemented as Apache Camel Component

Apache Camel Logo

We recently heard some excellent news that Gora is now implemented as a Camel Component within Camel trunk.

Apache Camel is a rule-based routing and mediation engine which provides a Java object based implementation of the Enterprise Integration Patterns using an API (or declarative Java Domain Specific Language) to configure routing and mediation rules. The domain specific language means that Apache Camel can support type-safe smart completion of routing rules in your IDE using regular Java code without huge amounts of XML configuration files; though XML configuration inside Spring is also supported.

You can use this module with the following Maven configuration

  <!-- use the same version as your Camel core version -->

You can find more information on the history of the development on the relevant Jira ticket.

You can also view the gora-camel documentation.

19 May, 2014: Apache Gora at HBase London Meetup

HBase London Meetup

Keeping in trend with our continual drive to build the Gora community, Gora is featuring in this months HBase London Meetup.

The meetup is focused on data types in HBASE c.f. HBASE-8693 HBASE-8089 with the second half of the meetup being dedicated to discussion and presentation on where Gora/gora-hbase fits in the mix!

06 May, 2014: Apache Gora Features in Black Duck Software's Open Source Delivers Blog

Open Source Delivers

Gora has become the first Apache project to feature on Black Duck Software's Open Source Blog with an article titled What does it really take to build a community around code?.

The article focuses on Gora's journey through the Apache Incubator and tells the story of how the community has evolved and grown over time and software releases.

A huge thank you goes to our friends at Black Duck Software for reviewing and publishing our story.

24 April, 2014: Apache Gora 0.4 Released

The Apache Gora team are proud to announce the release of Gora 0.4. This release addresses no fewer than 60 issues. Major improvements within the release scope comprise a complete upgrade to Apache Avro 1.7.X and overhaul of the Gora persistency API (such improvements enable Gora to be used to map much more expressive and complicated data structures than previously available), upgrades to Apache HBase 0.94.13, Apache Cassandra 2.0.X and Apache Accumulo 1.5.X. Users can also benefit from using Gora + Solr for object-to-datastore mapping with the addition of the new Solr module which uses Solr 4.X.

A full list of changes in this release can be seen in 0.4-CHANGES.txt.

You can grab the maven release artifacts from Maven Central and can also get the Gora sources from our downloads page.

14th April, 2014: Gora adopted by Apache Giraph

Apache Giraph

After a successful Google Summer of Code 2013 project, Gora has been adopted as a core persistence abstraction for the popular graph processing library in use at companies such as Facebook, Twitter, Linkedin and many more.

The integration of these two awesome Apache projects has as main motivation the possibility of turning Gora-supported-NoSQL data stores into Giraph-processable graphs, and to provide Giraph the ability to store its results into different data stores, letting users focus on the processing itself. For more information please see the Giraph-Gora documentation.

7th - 10th April, 2014: Apache Gora at ApacheCon NA 2014

A number of the Gora team were at ApacheCon this year spreading the word about the project and presenting on several topics. This included Renato's presentation on Turning NoSQL data into Graphs - Playing with Apache Giraph and Apache Gora and Lewis' presentation on Deploying Apache Gora as a Query Broker.

Please see below for the presentation slides and audio.

16 December, 2013: Apache Gora at Dublin NoSQL Meetup

TCube Logo
To further promote this years GSoC project, this years student (Apostolos Giannakidis) and mentor (Lewis McGibbney) will present Apache Gora and the Oracle NoSQL database at TCube in the beautiful city of Dublin. To say we are looking forward to this one may possibly be the understatement of 2013. Looking forward to seeing some familiar faces and new ones as we continue to promote Gora to the masses. Please see slides and video links below enjoy!

25 September 2013: Apache Gora successfully participates in Google Summer of Code 2013

GSoC2013 Logo
The jury has been out, the results are in and we are extremely proud to announce that the Apache Gora support for Oracle NoSQL datastore project has come out on top in this years Google Summer of Code 2013. Another long, hard summers worth of work has resulted in another successful project and code contribution, again extending datastore support within Apache Gora. A huge congratulations to this years student Apostolos Giannakidis for his work over the summer, as a community we look forward to your continued presence within the project and beyond.
Adding to the success of this project, the bloggershpere has been endorsing and promoting the project wholeheartedly. On his own website, Apostolos has made various posts documenting and sharing his experiences through the summer. Corbinian, Inc. have also been talking about the project. Additionally Apostolos was recognized by the University of Birmingham where he obtained his masters degree in Computer Science. Finally, the project featured as part of a Veteran Organization post on Google's Open Source Blog.
For links to more documentation and even more blog posts covering this project, as well as the final report, please see the GORA-217 issue on our issue tracker.

19 June, 2013: Apache Gora Features in HadoopShere

HadoopSphere Logo
Gora recently featured a two-part guest post in HadoopSphere. The first post, entitled In memory data model with Apache Gora simply introduces Gora to the HadoopSphere reader base. The second post, entitled Amazon DynamoDB datastore for Gora brings the 0.3 release to the forefront of attention, focusing on important improvements within Gora 0.3 and of course the DynamoDB datastore which hails as the keynote of the 0.3 release. Happy Reading!!!.

08 June, 2013: Apache Gora at CassandraSummit 2013

CassandraSummit Logo
C* Summit is the premier global conference for the Apache Cassandra community and yee ha, Gora is going along for the ride. Renato and Lewis are presenting Taking Bytes from Cassandra Clients; a technical discussion and overview of current development on implementing a pluggable Cassandra client infrastructure (Hector-client, Datastax java-driver, Netflix Astyanax, intravert-ug, etc) adapted specifically for the gora-cassandra module. The presentation kicks off at 3:30-4:30pm in Track 4 in the Marina Room Conference Center. Check out the full schedule for a taste of whats going on. You can follow the news on #Cassandra13. See the slides and video below. Enjoy

8 May, 2013: Apache Gora 0.3 Released

The Apache Gora team are proud to announce the release of Gora 0.3. This point release offers users significant improvements to a number of modules including a number of bug fixes, however of significant interest to the DynamoDB community will be the addition of a gora-dynamodb datastore for mapping and persisting objects to Amazon's DynamoDB [0]. Additionally the release includes various improvements to the gora-core and gora-cassandra modules as well as a new Web Services API implementation which enables users to extend Gora to any cloud storage platform. A full list of changes in this release can be seen in 0.3-CHANGES.txt.

You can grab the maven release artifacts from Maven Central and can also get the Gora sources from our downloads page.

12 September, 2012: Apache Gora at ApacheCon EU 2012

ApacheCon Logo
After an absence of several years, the Apache Software Foundation is pleased to announce that ApacheCon is returning to Europe in 2012! ApacheCon EU Community Edition 2012 will be held between the 5th and 8th of November, at the Rhein-Neckar-Arena in Sinsheim, Germany... and guess what? Gora is coming along for the ride! The proposal entitled From Incubation to Continuous Ingestion - The Story of Apache Gora has been included in the Big Data track. We look forward to seeing you in November in Germany.

24 August, 2012: Apache Gora successfully participates in Google Summer of Code 2012

GSoC2012 Logo
The jury has been out, the results are in and we are extremely proud to announce that the Gora - Amazon DynamoDB datastore for Gora project has come out on top in this years Google Summer of Code. We can now bear the fruits of success in this years program as it marks a first for Gora and will surely reap long term benefits for the community as a whole. A huge congratulations to this years student Renato Javier Marroqui­n Mogrovejo for his work over the summer, as a community we look forward to your continued presence within the project and beyond.

07 August, 2012: Apache Gora 0.2.1 released

The Apache Gora team are proud to announce the release of Gora 0.2.1. This point-oh! release offers users large improvements within the gora-cassandra module including a number of bug fixes, significant upgrades to Apache Cassandra and Hector Client API usage and a number of improvements to the gora-core API. The Maven artifacts for the project are published
to Maven Central. See the 0.2-CHANGES.txt file for a full list of changes in this release or alternatively the Jira release report.

24 April, 2012: Apache Gora 0.2 released

The Apache Gora team are proud to announce the release of Gora 0.2, our first since graduating from the Apache Incubator. This release boasts an assortment of over 50 improvements over our previous incubating release with artifacts available both within Maven Central and from official Apache mirrors. The Maven artifacts for the project are published
to Maven Central. See the 0.2-CHANGES.txt file for a full list of changes in this release.

23 April, 2012: Apache Gora Amazon DynamoDB project accepted as Google Summer of Code project

The Apache Gora team are very happy to announce conformation that the green light has been given for a Gora Amazon Dynamo DB project within the remit of this years Google Summer of Code. See the official project proposal here.

24 January, 2012: Apache Gora Graduates to Top Level Project at the Apache Software Foundation

The biggest event within Apache Gora's history was revealed on 24/01/2012 when it was announced that Apache Gora was to be established as a Top Level Project entity within the Apache Software Foundation. This is excellent news for the Gora community and we are looking forward to tackling the benefits and challenges brought by our new Top Level status.

15 January, 2012: Apache Gora announces full support for Hector Client:

Some time ago, the Apache Gora development team made the decision to support Hector as the primary Apache Cassandra client. This decision enables Gora to build on the expressiveness offered by the Hector API, some features include:

  • high level, simple object oriented interface to Cassandra.
  • failover behavior on the client side.
  • connection pooling for improved performance and scalability.
  • JMX counters for monitoring and management.
  • configurable and extensible load balancing (round robin (the default), least active, and a phi-accrural style response time detector).
  • complete encapsulation of the underlying Thrift API and structs.
  • automatic retry of downed hosts.
  • automatic discovery of additional hosts in the cluster.
  • suspension of hosts for a short period of time after several timeouts.
  • simple ORM layer that works.
  • a type-safe approach to dealing with Apache Cassandra's data model.
  • As an Apache community we value community over code, this move is definitely a step in the right direction towards bringing together two diverse communities, whilst during process undoubtedly making both Apache Gora and Hector better technologies. Here at Gora we look forward to working with the Hector community.

    24 September, 2011: Apache Gora 0.1.1-incubating release

    The Apache Gora project made its second incubating release. This release improves the Maven artifacts for the project and publishes them in useable form to Maven Central. See the CHANGES.txt file for a full list of changes in this release.

    06 April, 2011: Apache Gora 0.1-incubating release

    The Apache Gora project made its first incubating release. See the CHANGES.txt file for a full list of changes in this release.

    26 September, 2010: Gora in Apache Incubator

    Gora has been accepted to the Apache Incubator and started it's life as a candidate Apache project.