What is TuGraph
This document mainly introduces the main features and characteristics of TuGraph Community Edition, as well as the differences between TuGraph Enterprise Edition and Community Edition.
1.Introduction
Graph database is a non-relational database that stores data by vertices and edges. It can be used to store complex data network models, such as social networks and transaction networks. TuGraph is a graph database developed by Ant Group. This manual introduces the functions and usage of TuGraph.
2.TuGraph Community Edition
The Community Edition is a fully functional version of TuGraph, suitable for single-instance deployment. It provides complete basic fuctions of graph database, such as ACID-compatible transactions, programming APIs, and associated tools. It is ideal for learning TuGraph and implementing small projects.
3.TuGraph features
TuGraph is a large-scale graph computing system independently developed by Ant Group, providing graph database engine and graph analysis engine. Its main features are large data storage and computation, high throughput, and flexible API, while supporting efficient online transaction processing (OLTP) and online analytical processing (OLAP). LightGraph and GeaGraph are former names of TuGraph.
The main functional features include:
Labeled property graph model
Support multiple Graphs
Full ACID transaction processing
Built-in 34 graph analysis algorithm
Graph visualization tool based on Web client
RESTful API and RPC are supported
OpenCypher graph query language
Stored procedure based on C++/Python/Java
The Traversal API for efficient graph algorithm development
Performance and scalability features include:
TB large capacity
High throughput of ten million vertices per second
High Availability Support (Enterprise Edition)
High-performance Batch Import
Online/offline backup
4.The data model
4.1.Graph model
TuGraph is a strong schema, directed property graph database with multi-graph capability.
Graph Project: Each database service can host multiple graph projects (multi-graphs), and each graph project can have its own access control configuration. The database administrator can create or delete specified graph projects.
Vertex: Refers to entity, generally used to express real-world entities, such as a movie or an actor.
Primary Key: User-defined vertex data primary key, unique in the corresponding graph project and vertex type.
VID: Refers to the auto-generated unique ID of the vertex, which cannot be modified by the user.
Upper Limit: Each graph project can store up to 2^(40) vertex data.
Edge: Used to express the relationship between vertexs, such as an actor appears in a movie.
Directed Edge: The edge is a directed edge. If you want to simulate an undirected edge, the user can create two edges with opposite directions.
Duplicate Edge: TuGraph currently supports duplicate edges. If you want to ensure the uniqueness of the edge, you need to implement it through business policies.
Upper Limit: Up to 2^(32) edge data can be stored between two vertex data.
Property Graph: vertexs and edges can have properties associated with them, and each property can have a different type.
Strong-typed: Each vertex and edge has only one label, and after creating a label, there is a cost to modify the number and type of attributes.
Specify the starting/ending vertex type of the edge: You can limit the starting and ending vertex types of the edge, and support different vertex types of the starting and ending vertexs of the same type of edge, such as individuals transferring money to companies, companies transferring money to companies. After specifying the starting/ending vertex type of the edge, you can add multiple sets of starting/ending vertex types, but you cannot delete the restricted starting/ending vertex types.
Unrestricted Mode: Supports creating edge data of this type between any two vertex types without specifying the starting and ending vertex types of the edge. Note: After specifying the starting/ending vertex type of the edge, the unrestricted mode cannot be used again.
4.2.The data type
TuGraph Supports a variety of data types that can be used as attributes, the specific supported data types are as follows:
Type |
Min |
Max |
Description |
|---|---|---|---|
BOOL |
false |
true |
Boolean |
INT8 |
-128 |
127 |
8-bit int |
INT16 |
-32768 |
32767 |
16-bit int |
INT32 |
- 2^31 |
2^31 - 1 |
32-bit int |
INT64 |
- 2^63 |
2^63 - 1 |
64-bit int |
DATE |
0000-00-00 |
9999-12-31 |
“YYYY-MM-DD” Date of format |
DATETIME |
0000-00-00 00:00:00.000000 |
9999-12-31 23:59:59.999999 |
“YYYY-MM-DD hh:mm:ss[.ffffff]”Format of the date and time |
FLOAT |
32-bit float |
||
DOUBLE |
64-bit float |
||
STRING |
A string of variable length |
||
BLOB |
Binary data |
BLOB data is BASE64 encoded in input and output
4.3.Index
TuGraph supports indexing vertex fields.
Indexes can be unique or non-unique. If a unique index is created for a vertex label, TuGraph will perform a data integrity check to ensure the uniqueness of the index before modifying the vertex of the label.
Each index built on a single field of a label, and multiple fields can be indexed using the same label.
BLOB fields cannot be indexed.
TuGraph supports creating indexes on properties of vertexs or edges to improve query efficiency.
The index can be a unique or non-unique index.
If a unique index is created for a vertex label, when modifying the vertex of the label, data integrity check will be performed first to ensure the uniqueness of the index.
Each index is created based on a property of a vertex or edge, and indexes can be created on multiple properties of the same vertex or edge.
An index cannot be created on a BLOB-type property.
5.TuGraph Enterprise Edition
The Enterprise Edition has more comprehensive support for commercial features, including distributed cluster architecture, a one-stop graph platform covering exploration, research and development, service and operation and maintenance throughout the lifecycle, online, near-line, and offline graph computing engines, support for streaming and big data data sources, multi-site and multi-center deployment, making it an ideal choice for commercial solutions.
If you need to implement production-level high-availability cluster architecture, operation and maintenance and other enterprise-level services, please contact us to obtain commercial support:
Email:tugraph@service.alipay.com
Tel:0571-85022088,extension number 83789993#