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:

Table 1. TuGraph supported data types

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#