Introduction

2023-06-25 03:23:24  Updated

This document describes the differences between TuGraph Enterprise and TuGraph Community , TuGraph features, and TuGraph version number control.

What is Graph Database

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.

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.

TuGraph Enterprise Edition

The enterprise version extends TuGraph's basic functions. For example, the deployment mode includes high-availability and distributed, the underlying storage engine with faster performance improvement, and the role permission control with finer function improvement. It is ideal for commercial solutions.

Difference between community and enterprise

Feature Community version Enterprise version
Labeled property Graph Model
Dynamic model changes
Support multiple graph
Full ACID transaction processing
Graph analysis algorithm
Graph visualization tool based on Web client
OpenCypher graph query language
Stored procedure based on C++/Python/Java
The Traversal API for efficient graph algorithm development
TB large capacity
High throughput of ten million vertices per second
High-performance Batch Import
Online/offline backup
Rights management
High availability support
Graph database expert support services
Advanced cypher optimizer
Property level permission management

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 25+ 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

The data model

Graph model

TuGraph is a strong schema property graph database with multi-graph capability. It supports the construction of directed graphs with up to one trillion vertices.

  • Multiple graphs: In TuGraph, each database server can host multiple graph models, each graph model can have its own access control configuration, and the database administrator can create or delete specified graph models.

  • Property graph: vertices and edges in TuGraph can have properties associated with them, and each attribute can have a different type.

  • Strong schema: Each vertex and edge must have a label, and the number and type of properties are difficult to change after the label created.

  • Directed edges: The edges in TuGraph are directed edges. To simulate an undirected edge, the user can create two opposite edges.

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 9999-12-31 23:59:59 "YYYY-MM-DD hh:mm:ss"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

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.

Software license

Email : tugraph@service.alipay.com Phone: 0571-85022088,ext. 83789993#

Version number control for TuGraph

TuGraph use [semantic 2.0.0 version control standard] (https://semver.org/lang/zh-CN/),version format: the major version number. Revision number. The increment rule is as follows:

  1. Major version number: Incompatible API changes have been made
  2. Version number: Downward compatible functionality added
  3. Revision number: Downward compatibility issue has been fixed

Contact Us