IBM System G GBase is a pure-Java scale-out graph data store layer on top of Apache HBase. The primary supported interface to GBase is a set of classes that implement the TinkerPop Blueprints interfaces and numerous additional interfaces. One can easily utilize functionality provided by the TinkerPop project to also access GBase via Gremlin, REST, and SPARQL interfaces. (Of note, we provide similar interfaces to NativeStore implementation as well.)


- Because GBase is built on top of HBase, a deployment of GBase will have many of the features of HBase including increased I/O bandwidth, horizontal scale-out, data replication, load balancing, and fault recovery.

Future Work

Concurrency Control - The current implementation has atomic write to individual vertices or edges, but has no additional locking or concurrency control.

Temporal Data - The underlying HBase data store time stamps all changes, but there is no TinkerPop interface for accessing this data or obtain historical data.

Analytic Interfaces - We provide a variety of high performance scale-out graph analytics via HBase coprocessors (link,link), but we do not yet provide an interface to invoke those analytics via the TinkerPop layers. If you need access to those capabilities, let us know.

Indexing - We do automatic indexing of selected columns, but the desire to have those columns indexed must be declared when a given graph is created.