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:
- Major version number: Incompatible API changes have been made
- Version number: Downward compatible functionality added
- Revision number: Downward compatibility issue has been fixed