DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

TigerGraph


TigerGraph is a distributed, parallel graph DBMS designed for Real-time Graph analytical workloads.

Developer
Country of Origin
US
Start Year
2012 [03]
Project Type
Commercial
Written in
C++
Operating System
Linux
License
Proprietary

Database Entry

TigerGraph


TigerGraph is a distributed, parallel graph DBMS designed for Real-time Graph analytical workloads.

Checkpoints


TigerGraph uses fuzzy checkpoints. TigerGraph can be backed up while it continues to serve user traffic (called “online” backup).

Compression


TigerGraph compresses data in different ways, including dictionary based, snappy, variable byte compression etc. TigerGraph also supports attribute compression. Depending the operation, TigerGraph may not need data decompression before processing.

Concurrency Control


TigerGraph uses both MVCC and 2PC.

Data Model


TigerGraph uses property graph, where where data is organized as nodes (vertices), relationships (edges), and properties (their attributes).

Foreign Keys


In graph model, vertex serves as the primary key as in RDBMS, while edge serves as the foreign key.

Hardware Acceleration


No. TigerGraph uses MPP (Massively parallel programming) architecture, and runs on commodity servers. The query execution speed is determined by the process power, available memory, network speed and cluster size.

Indexes


Currently TigerGraph uses default vertex-centric indexes (O(1)) and adjacency lists.

Isolation Levels


Serializable by default.

Joins


As a graph database, TigerGraph has materialized the relationships between data as edges so there is no joining required. Graph analytics focus mainly on how to traverse along the edges.

Logging


TigerGraph uses MVCC snapshots and WAL (Write-Ahead Logging).

Query Compilation


TigerGraph supports code generation and the query runs as native application.

Query Execution


TigerGraph’s MPP architecture supports multiple partitions and multiple processors, allowing IO-parallelism, intra-partitions parallelism and inter-partition parallelism.

Query Interface


TigerGraph has its own query language GSQL, a SQL-like graph query language. Documentation can be found here: https://docs.tigergraph.com/dev/gsql-ref TigerGraph also supports RESTful API to query and update the graph.

Storage Architecture


In-memory DBMS. TigerGraph also supports larger-than-memory databases under certain circumstances, e.g. when partial or most topology data are on disk.

Storage Model


NSM and delta-store.

Storage Organization


TigerGraph has authorization manager, transaction manager, memory manager and file manager.

Stored Procedures


TigerGraph GSQL is a procedure like language. It allows query with updates, and query calling query.

System Architecture


MPP, shared-nothing DBMS.

Views


No view support for now.

Citations

3 sources
  1. https://www.tigergraph.com tigergraph.com Dead — Check Archive
  2. https://www.tigergraph.com/documentation tigergraph.com Dead — Check Archive
  3. https://www.linkedin.com/company/tigergraph linkedin.com
Revision #4