Introducing TigerGraph DB the First Native Parallel Graph (NPG)
What We Do
TigerGraph is delivering the next stage in the evolution of the graph database: the first system capable of real-time analytics on web-scale data. Our Native Parallel Graph™ (NPG) design focuses on both storage and computation, supporting real-time graph updates and offering built-in parallel computation. Our SQL-like graph query language (GSQL) provides for ad-hoc exploration and interactive analysis of Big Data. With GSQL’s expressive capabilities and NPG speed, you’ll be able to perform Deep Link Analytics: uncovering connections that previously were too impractical to reach or too cumbersome to express.
Our core system was developed from scratch using C++ and system programming concepts to provide an integrated data technology stack. A native graph storage engine (GSE) was developed to co-locate with the graph processing engine (GPE) for fast and efficient processing of data and algorithms.The GPE is designed to provide built-in parallelism for a MapReduce-based computing model available via APIs. The DB graph is optimally stored both on disk and in-memory, allowing the system to take advantage of the data locality on disk, in-memory and CPU cache.
High Compression Rates
The TigerGraph system performs efficient data compression to take further advantage of the memory and CPU cache. The compression ratio, input data size to output graph size, varies with the data and structure; however, a 10x compression ratio is very common. For example, 1TB of input data when transformed and loaded in the graph requires only 100GB of system memory.
Such compression reduces not only the memory footprint, but also cache misses, speeding up overall query performance.
MPP Computational Model
Each vertex and edge in the graph acts as a parallel unit of storage and computation simultaneously.
With this approach, the graph is no longer a static data storage collection; it is a massively parallel computation engine. Vertices can send and receive messages to each other via edges.
A vertex or an edge can store any amount of arbitrary information. The TigerGraph system executes compute functions in parallel on every vertex/edge, taking advantage of multi-core CPU machines and in-memory computing.
In a distributed system, the data needs to be spread across the different servers somehow. TigerGraph automatically partitions your data, saving you from the hassle and brittleness of programming a manual sharding method. Purpose-built as a distributed graph, TigerGraph evenly distributes your data in a performant way. Need to grow or shrink a cluster? TigerGraph’s cluster expansion and compression feature will automatically redistribute the data. Don’t settle for manual sharding.
A property graph is a type of graph model where relationships not only are connections but also carry a name (type) and some properties. A property graph excels at showing connections among data scattered across diverse Data Architectures and data schemas.
TigerGraph is a property graph, which supports the Label Property Model.
A Transformational Technology
The TigerGraph Native Parallel Graph offers a transformational technology, with significant clear advantages over the most well-known graph database solutions on the market.
Despite its comprehensive and well-documented graph database functionality, the current leading solution is considerably slower in comparison. In benchmark tests, TigerGraph can load a batch of data in one hour, while the other solution requires a 24-hour day.
Further, by offering parallelism for large scale graph analytics, TigerGraph supports graph parallel algorithms for Very Large Graphs (VLGs) – providing a considerable technological advantage which grows as graphs inevitably grow larger. It works for limited, fast queries that touch anywhere from a small portion of the graph to millions of vertices and edges, as well as more complex analysis that must touch every single vertex in the graph itself. Additionally, real-time incremental graph updates make it suitable for real time graph analytics unlike other solutions.
The TigerGraph advantage lies in the fact that we represent graphs as a computational model. Compute functions can be associated with each vertex and edge in the graph, transforming them into active parallel compute-storage elements, in a behavior identical to what neurons exhibit in human brains.
Vertices in the graph can exchange messages via edges, facilitating massively parallel and fast computation. The NPG offers a completely new computation paradigm which was absent from previous models, making it poised to become a truly transformational technology.