TigerGraph is a distributed, parallel graph DBMS with high availability designed for real-time analytical workloads.[03]
- Source Code
- https://www.tigergraph.com/documentation[02]
- Developer
- Country of Origin
- US
- Start Year
- 2012 [04]
- Project Type
- Commercial
- Written in
- C++
- Operating System
- Linux
- License
- Proprietary
TigerGraph’s proven technology is used by customers including Uber, VISA, Alipay, Wish, China Mobile, State Grid Corporation of China, and Zillow.
TigerGraph is a distributed, parallel graph DBMS with high availability designed for real-time analytical workloads. TigerGraph’s proven technology is used by customers including Uber, VISA, Alipay, Wish, China Mobile, State Grid Corporation of China, and Zillow.[03]
History[03]
Founded by Yu Xu, Ph.D. in 2012, TigerGraph is funded by Qiming VC, Baidu, Ant Financial, AME Cloud, Morado Ventures, Zod Nazem and DCVC.
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 (Deadlock prevention).
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.
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.
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 Organization
TigerGraph uses customized log-structured files (WAL + LSM). Its storage system consists of 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.
Citations
4 sources- https://www.tigergraph.com tigergraph.com
- https://www.tigergraph.com/documentation tigergraph.com
- https://www.tigergraph.com/company tigergraph.com
- https://www.linkedin.com/company/tigergraph linkedin.com