TigerGraph is the world’s fastest graph analytics platform designed to unleash the power of interconnected data for deeper insights and better outcomes. TigerGraph fulfills the true promise and benefits of the graph platform by tackling the toughest data challenges in real time, no matter how large or complex the dataset. TigerGraph supports applications such as IoT, AI and machine learning to make sense of ever-changing big data.
TigerGraph is a native parallel graph with a C++ codebase. Plume communicates with TigerGraph via a REST interface which can be secured with HTTPS and an authentication token. Since TigerGraph uses a schema there is additional setup beforehand but this is made simple by making use of Docker.
Driver Configuration and Usage
Since TigerGraph makes use of REST, it only requires server information and (optionally) an authentication e.g. when using TigerGraph Cloud. The driver is created as follows:
val driver = (DriverFactory(GraphDatabase.TIGER_GRAPH) as TigerGraphDriver)
driver.hostname("127.0.0.1") // Set host .gsqlPort(14240) // Set GSQL Server port .restPpPort(9000) // Set Rest++ port .secure(false) // Determine protocol (false for HTTP and true for HTTPS) .authKey("secret_token")// Set authentication token for request header .username("tigergraph") // Set username .password("tigergraph") // Set password
In the current version, Plume will make use of a graph called "cpg". This schema can be built by calling:
GsqlCliJAR. This JAR makes a call to
System::exitwhich is temporarily overriden until the calls to
GsqlCliare done so you may notice some exceptions thrown on
Ideal Use Case
TigerGraph is fast and efficient both in terms of storage and memory consumption. TigerGraph provides a developer and enterprise edition but one can easily get started with a free TigerGraph Cloud instance if resources are limited. Like TinkerGraph, TigerGraph is ideal for graph exploration as it comes with a built-in graph visualizer using GraphStudio.
- Free to use for development and the TigerGraph Cloud free tier instance comes with a generous resource allocation.
- Distributed capabilities and ACID compliant.
- Fast execution of parallel graph algorithms.
- Real-time capability for streaming updates and inserts using REST.
- Ability to unify real-time analytics with large-scale offline data processing.
- Ability to traverse hundreds of millions of vertices/edges per second per machine.
- Ability to load 50 to 150 GB of data per hour, per machine.
- Ability to stream 2B+ daily events in real-time.
- High compression rates for low resource consumption.
- Enforced schema requires compulsory setup to use with Plume.
- Requires a license for enterprise application.
Due to pattern matching queries requiring knowledge of the edge type and the way edge restrictions
work, there are only two vertex types.
META_DATA_VERT contains language data and
represents all CPG vertices where the Plume driver will use the
label property to determine which
of the other properties to serialize and use.