Blazegraph is an open-source graph database system written in Java. Blazegraph is supported for use on a standalone server, as well as a highly available (HA) replication cluster. ACID properties are fully supported in both use cases. Blazegraph makes use of multi-version concurrency control (MVCC). As a graph database, Blazegraph is optimal for storing and querying linked data. Blazegraph uses RDF and RDR as the standards for the data model.
Blazegraph, formerly known as Bigdata, was released in August of 2016. Its former version, Bigdata, was released in February of 2015. Blazegraph was announced as SYSTAP, LLC's flagship product. Blazegraph is still supported as of December 2018. Blazegraph was developed to work with web-scale semantic graphs. Blazegraph's key-range partitioned B+ tree indexing was influenced by the architecture of Google's BigTable system. SYSTAP, LLC received funding from DARPA to develop the GPU-acceleration feature of Blazegraph. Blazegraph has been used as part of commercial applications in addition to being resold by various OEM companies.
Optimistic Concurrency Control (OCC)
Blazegraph supports transactions. Blazegraph uses Multi-Version Optimistic Concurrency Control (OCC).
Blazegraph functions as a triplestore (RDF) and graph database. As a graph database, Blazegraph uses a graph structure of nodes and edges to represent data. Blazegraph also supports the triplestore (RDF) data model, which can be viewed as a specialized version of graph databases that is optimized for storing and retrieving triples. The advantage of RDF is that it provides a standardized data model that support data merging between differing schemas.
Hash Join Index Nested Loop Join
Blazegraph supports both nested index joins (referred to as pipelined joins) and hash joins. Nested index joins are considered to be "zero investment" joins when used for an RDF (triplestore) database. Hash joins are built dynamically during query evaluation. Blazegraph supports hash join operators that run on JVM heap, as well as hash join operators that run on the native process heap. The former is more appropriate for lower volumes of data, while the latter is more appropriate for higher volumes.
https://github.com/blazegraph/database
SYSTAP, LLC.
2006
Bigdata
C, C++, Java, JavaScript, PHP, Python, Ruby