Graph databases reminiscent of Neo4j, TigerGraph, Amazon Neptune, the graph portion of Azure Cosmos DB, and AnzoGraph, the topic of this evaluate, supply a pure illustration of knowledge that’s primarily in regards to the relationships between individuals, locations, and issues. Graph databases are good for functions for fraud detection, social networks, suggestion programs, and so forth.
This essay makes a great case for graph databases over relational databases for these sorts of apps. TL;DR model: Once you want advanced joins of huge tables, relational database queries decelerate; the identical process is quicker on a graph database.
Like relational databases, graph databases may be designed for environment friendly on-line transaction processing (OLTP) or environment friendly on-line analytical processing (OLAP), and sometimes for each (HTAP, hybrid transaction/analytical processing). Neo4j, Neptune, and Cosmos DB are all OLTP graph databases, though Neo4j has lately added some OLAP capabilities. TigerGraph is an HTAP graph database and claims swift, deep analytics in addition to quick transaction processing.
AnzoGraph, then again, is designed as an OLAP graph database. Cambridge Semantics truly says “Complement your OLTP graph database engine with OLAP” on the primary internet web page for AnzoGraph.
Neo4j makes use of its personal question language, Cypher, for its labeled property graphs; there may be an open supply model, openCypher. TigerGraph makes use of its personal question language, GSQL. Neptune has each RDF (SPARQL) and labeled property graph (Gremlin) graph shops. They each exist on the identical cloth, however they don’t join to one another. Cosmos DB’s graph database makes use of Gremlin, which is the graph traversal language of Apache TinkerPop.
AnzoGraph makes use of W3C-standard RDF triple and quad information and SPARQL 1.1 queries. It additionally helps labeled property graphs as a part of the RDF retailer, conforming to the proposed RDF* and SPARQL* requirements. AnzoGraph has extensions to SPARQL to assist graph algorithms, inferencing, window aggregates, BI features, and named views. Support for openCypher and Bolt (the Neo4j protocol) is deliberate.