MatrixOne 功能清单
本文档列出了 MatrixOne 最新版本所支持的功能清单,针对常见以及在 MatrixOne 的路线图中的功能但是目前不支持的功能也将列出。
数据定义语言(Data definition language, DDL)
数据定义语言 (DDL) |
支持(Y)/不支持(N)/实验特性 (E) |
创建数据库 CREATE DATABASE |
Y |
删除数据库 DROP DATABASE |
Y |
修改数据库 ALTER DATABASE |
N |
创建表 CREATE TABLE |
Y |
修改表 ALTER TABLE |
E |
修改表名 RENAME TABLE |
Y |
删除表 DROP TABLE |
Y |
创建约束 CREATE INDEX |
Y |
删除约束 DROP INDEX |
Y |
修改列 MODIFY COLUMN |
Y |
主键 PRIMARY KEY |
Y |
创建视图 CREATE VIEW |
Y |
修改视图 ALTER VIEW |
Y |
删除视图 DROP VIEW |
Y |
清空表 TRUNCATE TABLE |
Y |
自增列 AUTO_INCREMENT |
Y |
序列 SEQUENCE |
Y |
临时表 TEMPORARY TABLE |
Y |
流式表 CREATE DYNAMIC TABLE |
E,部分支持 |
分区表 PARTITION BY |
E,部分类型支持 |
字符集和排序顺序 CHARSET,COLLATION |
N,仅默认支持 UTF8 |
数据修改/查询语言(Data manipulation/query language, DML/DQL)
SQL 语句 |
支持(Y)/不支持(N)/实验特性 (E) |
SELECT |
Y |
INSERT |
Y |
UPDATE |
Y |
DELETE |
Y |
REPLACE |
Y |
INSERT ON DUPLICATE KEY UPDATE |
Y |
导入数据 LOAD DATA |
Y |
导出数据 SELECT INTO |
Y |
连接 INNER/LEFT/RIGHT/OUTER JOIN |
Y |
联合 UNION, UNION ALL |
Y |
EXCEPT, INTERSECT |
Y |
GROUP BY, ORDER BY |
Y |
预排序 CLUSTER BY |
Y |
子查询 SUBQUERY |
Y |
公共表表达式 (Common Table Expressions,CTE) |
Y |
事务语句 BEGIN/START TRANSACTION, COMMIT, ROLLBACK |
Y |
EXPLAIN |
Y |
EXPLAIN ANALYZE |
Y |
表级锁 LOCK/UNLOCK TABLE |
N |
用户自定义变量 |
Y |
高级 SQL 功能
高级 SQL 功能 |
支持(Y)/不支持(N)/实验特性 (E) |
预处理 PREPARE |
Y |
存储过程 STORED PROCEDURE |
N |
触发器 TRIGGER |
N |
时间调度器 EVENT SCHEDULER |
N |
自定义函数 UDF |
Y |
物化视图 Materialized VIEW |
N |
流计算
流计算功能 |
支持(Y)/不支持(N)/实验特性 (E) |
动态表 |
E |
Kafka 连接器 |
E |
物化视图 |
N |
(增量) 物化视图 |
N |
时序
时序 |
支持(Y)/不支持(N)/实验特性 (E) |
时序表 |
Y |
滑动窗口 |
Y |
降采样 |
Y |
插值 |
Y |
TTL(Time To Live) |
N |
ROLLUP |
N |
数据类型
数据类型分类 |
数据类型 |
支持(Y)/不支持(N)/实验特性 (E) |
整数类型 |
TINYINT/SMALLINT/INT/BIGINT (UNSIGNED) |
Y |
|
BIT |
N |
浮点类型 |
FLOAT |
Y |
|
DOUBLE |
Y |
字符串类型 |
CHAR |
Y |
|
VARCHAR |
Y |
|
BINARY |
Y |
|
VARBINARY |
Y |
|
TINYTEXT/TEXT/MEDIUMTEXT/LONGTEXT |
Y |
|
ENUM |
Y |
|
SET |
N |
二进制类型 |
TINYBLOB/BLOB/MEDIUMBLOB/LONGBLOB |
Y |
时间与日期 |
DATE |
Y |
|
TIME |
Y |
|
DATETIME |
Y |
|
TIMESTAMP |
Y |
|
YEAR |
Y |
Boolean |
BOOL |
Y |
定点类型 |
DECIMAL |
Y,最高到 38 位 |
JSON 类型 |
JSON |
Y |
向量类型 |
VECTOR |
Y |
数组类型 |
ARRAY |
N(与 MySQL 一致,在 JSON 中提供数组操作) |
位图类型 |
BITMAP |
N |
空间类型 |
GEOMETRY/POINT/LINESTRING/POLYGON |
N |
索引与约束
索引与约束 |
支持(Y)/不支持(N)/实验特性 (E) |
主键约束 |
Y |
复合主键 |
Y |
唯一约束 |
Y |
次级索引 |
Y |
向量索引 |
Y |
外键约束 |
Y |
无效数据强制约束 |
Y |
ENUM 和 SET 约束 |
N |
非空约束 |
Y |
自增约束 |
Y |
事务
事务 |
支持(Y)/不支持(N)/实验特性 (E) |
悲观事务 |
Y(默认模式) |
乐观事务 |
Y |
跨库事务 |
Y |
分布式事务 |
Y |
可重复读隔离(快照 SI 隔离) |
Y |
读已提交 RC 隔离 |
Y(默认模式) |
函数与操作符
函数与操作符 |
支持(Y)/不支持(N)/实验特性 (E) |
聚合函数 |
Y |
数值类函数 |
Y |
时间日期类函数 |
Y |
字符串函数 |
Y |
Cast 函数 |
Y |
流程控制函数 |
E |
窗口函数 |
Y |
JSON 函数 |
Y |
向量函数 |
Y |
系统函数 |
Y |
其他函数 |
Y |
操作符 |
Y |
MatrixOne 的完整函数列表可以参见该函数总表.
分区
分区 |
支持(Y)/不支持(N)/实验特性 (E) |
KEY 分区 |
E |
HASH 分区 |
E |
RANGE 分区 |
E |
RANGE COLUMNS 分区 |
E |
LIST 分区 |
E |
LIST COLUMNS 分区 |
E |
数据导入和导出
数据导入和导出 |
支持(Y)/不支持(N)/实验特性 (E) |
INSERT INTO 写入 |
Y |
SQL 导入 SOURCE |
Y |
文件导入 LOAD DATA INFILE |
Y |
流式导入 LOAD DATA INLINE |
Y |
从对象存储导入 |
Y |
mo-dump 工具导出 SQL/CSV |
Y |
SELECT INTO 导出 CSV/JSON |
Y |
mysqldump 原生工具 |
N |
安全与访问控制
安全 |
支持(Y)/不支持(N)/实验特性 (E) |
传输层加密 TLS |
Y |
静态加密 |
Y |
从对象存储导入 |
Y |
基于角色的访问控制(RBAC) |
Y |
多租户 |
Y |
备份和恢复
备份和恢复 |
支持(Y)/不支持(N)/实验特性 (E) |
逻辑备份恢复 |
Y,仅支持 mo-dump 工具 |
物理备份恢复 |
Y,仅支持 mobackup 工具 |
快照备份恢复 |
Y,支持 mobackup 工具 和 SQL |
PITR |
Y,支持 mobackup 工具 和 SQL |
CDC 同步 |
Y,仅支持 matrixone 到 mysql,支持 mo_cdc 工具 |
主备容灾 |
Y,仅支持冷备 |
管理工具
管理工具 |
支持(Y)/不支持(N)/实验特性 (E) |
单机 mo_ctl 部署管理 |
Y |
分布式 mo_ctl 部署管理 |
E,仅企业版 |
可视化管理平台 |
E,仅公有云版本 |
系统日志记录 |
Y |
系统指标监控 |
Y |
慢查询日志 |
Y |
SQL 记录 |
Y |
Kubernetes operator |
Y |
部署方式
部署方式 |
支持(Y)/不支持(N)/实验特性 (E) |
单机环境私有化部署 |
Y |
分布式环境私有化部署 |
Y,自建 Kubernetes 与 minIO 对象存储 |
阿里云分布式自建部署 |
Y,ACK+OSS |
腾讯云分布式自建部署 |
Y,TKE+COS |
AWS 分布式自建部署 |
Y,EKS+S3 |
公有云 Serverless |
Y,MatrixOne Cloud,支持 AWS,阿里云 |
应用连接器及常见 ORM
应用连接器 |
支持(Y)/不支持(N) |
JDBC |
Y |
ODBC |
N |
pymysql |
Y |
go-sql-driver |
Y |
MyBatis |
Y |
MyBatis-plus |
Y |
Spring-JPA |
Y |
Hibernate |
Y |
GORM |
Y |
SQL Alchemy |
Y |
注意:未在上面标明的应用连接器或者 ORM 工具并不一定不支持,MatrixOne 本身对 MySQL 8.0 高度兼容,因此如果连接 MySQL 可以正常运行的都基本可以适配 MatrixOne,用户可以直接尝试基于 MySQL 可以跑通的成熟工具连接 MatrixOne。
生态工具适配
工具种类 |
工具名称 |
支持(Y)/不支持(N) |
数据库管理 IDE |
Navicat |
Y |
|
MySQL Workbench |
Y |
|
DBeaver |
Y |
|
HeidiSQL |
Y |
|
SQLyog |
Y |
ETL 工具 |
DataX |
Y |
|
Canal |
Y |
|
Kettle |
Y |
|
Seatunnel |
Y |
|
FlinkCDC |
Y |
消息队列 |
Kafka |
Y |
计算引擎 |
Spark |
Y |
|
Flink |
Y |
BI 工具 |
Superset |
Y |
|
Tableau |
Y |
|
FineBI |
Y |
|
永洪 BI |
Y |
|
Datafor |
Y |
数据调度 |
DolphinScheduler |
Y |
可视化监控 |
Grafana |
Y |
注意:未在上面标明的生态工具并不一定不支持,MatrixOne 本身对 MySQL 8.0 高度兼容,因此如果连接 MySQL 可以正常运行的都基本可以适配 MatrixOne,用户可以直接尝试基于 MySQL 可以跑通的成熟工具连接 MatrixOne。