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
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.
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.
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.
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:
Document-Oriented Storage
JSON-style documents with dynamic schemas offer simplicity and power.
Full Index Support
Index on any attribute, just like you're used to.
Replication & High Availability
Mirror across LANs and WANs for scale and peace of mind.
Auto-Sharding
Scale horizontally without compromising functionality.
Querying
Rich, document-based queries.
Fast In-Place Updates
Atomic modifiers for contention-free performance.
Flexible aggregation and data processing.
GridFS
Store files of any size without complicating your stack.
The current supported version of is MongoDB is 2.6 with client version support at 2.12.2.
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
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-gora</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
You can find more information on the history of the development on the relevant Jira ticket.
You can also view the gora-camel documentation.
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!
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.
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.
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.
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.
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!
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.
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!!!.
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
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.
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.
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.
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.
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.
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.
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.
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:
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.
The Apache Gora project made its first incubating release. See the CHANGES.txt file for a full list of changes in this release.
Gora has been accepted to the Apache Incubator and started it's life as a candidate Apache project.