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 | N,可用 ALTER TABLE tbl RENAME TO new_tbl 替代 |
| 删除表 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 |
| CDC 同步 | N(MatrixOne 作为源端不支持) |
管理工具
| 管理工具 | 支持(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。