Function Classification | Function | Function Description |
SQL capabilities | Transaction | Complete support for transaction ACID features, MVCC and committing two isolation levels: read and repeatable read |
Built-in functions | Full support for MySQL built-in functions |
User Defined Function | Support for user defined functions |
View | Support for views |
Stored procedure | Support for stored procedures |
Trigger | Support for triggers |
DQL statement | Support for SQL2016 standard |
DDL statement | Support SQL2016 standard, default index type is Hash index. Btree index needs to be specified by using btree keyword |
DCL statement | Support for SQL2016 standard |
TCL statement | Support for SQL2016 standard |
Distributed capabilities | Distributed transactions | Complete support for distributed transactions, which are completely transparent to the application |
Global table | Each node has the full amount of data in the table, which is suitable for small tables with more reads and fewer writes, and improves the efficiency of correlation queries |
Hierarchical table | Tables have hierarchical relationship with each other. The primary key of child table needs to contain the partition key of the parent table, that is, the child table is distributed according to the distribution key of the parent table by default. |
Distributed table | The data in the table is distributed to different nodes according to the policy, and the distribution key can be either a Hash index or an interval index |
Hash slice | When the distribution key of the distribution table is a Hash index, the data is partitioned by Hash. Data is automatically balanced across nodes. |
Range slice | When the distribution key of the distribution table is a BTree index, the data is sliced by Range to ensure that the consecutive data are in the same node as much as possible. The data is automatically balanced across nodes. |
Global secondary index | The global secondary index is the mapping between the index attribute and the shard index. Data retrieved through the global secondary index will be directly mapped to the shard index, thus avoiding broadcasting. |
Operational migration | Custom functions can specify routes to migrate to the appropriate node for execution |
Online scaling | Support for non-stop service and online scaling of nodes. Data can be automatically balanced |
Load balancing | Load balancing clients connect to different nodes |
Generic Capabilities | Access control granularity | Provides row-level access granularity control through table locks and row locks |
Multiple development interfaces | Support for C, C++, API, ODBC, JDBC, Python, and other database development interfaces |
Character set support | Support for utf8, gbk, latin1 and other character sets |
Security | Users, Roles, Permissions, Auditing | Support user management, role management, access rights control, and audit log |
Disaster tolerance and recovery | High availability | Strong financial-level consistency via Raft protocol, with automatic master-slave switching |
Data backup | Support data snapshot backup, full-snapshot write without blocking read and write operations of database |
Data recovery | Support fast recovery in global and single-node dimension by backup data |