MatrixOne 0.6.0 :首个云原生架构的 HTAP 数据库发布!
MatrixOne 0.6 版本正式发布啦!
项目文档网站
https://docs.matrixorigin.io/0.6.0/
重点关注:业界领先的分布式云原生 HTAP 架构
MatrixOne 在 0.6 迭代中完成了云原生化的全面升级,经过四个月全力以赴的紧张研发,MatrixOne 已经完成了单机 HTAP 到分布式云原生 HTAP 的进化,成为了全球第一款同时具备存算分离、读写分离、冷热分离、事务和分析能力分离、并拥有完整功能和极致灵活扩展能力的云原生 HTAP 数据库。
MatrixOne 将资源管理,集群管理,计算,存储,事务全部组件化,将过去耦合在一起的数据库功能彻底解耦,同时采用了部分业内先进成熟的云原生组件,以保证各模块的稳定可靠。
MatrixOne 分布式 HTAP 架构
分布式云原生 HTAP 架构
在资源管理上:我们直接采用成熟的 K8s 的容器化管理方案,MatrixOne 整体集群资源由 K8s 进行分配管理与调度。
在集群管理上:我们实现了一套基于 Raft 的 HA Keeper 组件,用来保障集群各节点的可用性。
在存储接口上:我们实现了一套 File service 组件,对底层可以兼容本地磁盘、S3、NFS 等,未来可进一步扩展兼容 HDFS,对上层可以屏蔽不同存储方案的差异,本迭代也根据 S3 的读写特点对数据库进行了相应的适配。
在事务处理及计算上:我们都实现了完全的 serverless 化,计算层可以做到完全无状态的海量扩展,同时做到了读写分离、存算分离以及负载隔离。
在共享日志上:我们自研了一套 Log service 组件,基于 Multi-Raft 机制构建了一套高可靠的存储状态机,使得该组件可以成为整个集群最核心的可靠性和状态的保障。
MatrixOne 的 0.6 版本也已经在 AWS 上进行了完整的公有云技术架构验证,敬请期待 MO 正式的公有云服务。
用户功能补齐和优化
MatrixOne0.6 版本在功能丰富度上也得到了大幅提升,增加了很多用户高频使用的功能,目前已经可以在大部分中小型应用的业务系统中试用。
支持 Snapshot Isolation 隔离级别的分布式乐观事务。
增加了 TEXT、BLOB、TIME、JSON 数据类型。
支持 JDBC、Python、Go 语言连接,及 Java ORM(MyBatis, MyBatisPlus, Spring JPA)、Python ORM(Sqlalchemy)连接 MatrixOne。
支持从云端及本地 S3 组件中导入数据,支持 CSV 及 JSON 格式。
支持通过 modump 工具导出及备份数据。
增加了复合主键,唯一键 Unique Key 约束,全局自增列 Auto Increment。
增加了 system_metrics 系统监控指标库监控数据库运行状态。
增加了 system 系统库记录日志及 SQL 操作以帮助运维及审计。
增加了视图 VIEW 功能。
内置多租户,User 及 Role 权限管理功能。
其他新 Feature
增加对时区 timezone 的支持。
支持 TLS 加密传输。
支持预编译语句 PREPARE、EXECUTE、 DEALLOCATE。
支持 Explain Analyze 详细查询计划分析。
支持 UNION/ UNION ALL/ INTERSECT/ MINUS 操作符。
支持 CREATE TEMPORARY TABLE 临时表。
支持 CREATE EXTERNAL TABLE 外部表。
增加了分区 Partition by 能力。
支持权限管控相关的 CREATE/GRANT/SET ROLE/REVOKE 等操作。
增加了大量系统配置参数,函数及系统表以保持对 MySQL 的兼容。
增加大量 Datetime 类型函数。
增加 UUID 函数。
支持位操作符 &, |, ^, ~, <<, >>。
支持 DDL 中带 comment 功能。
支持 SET 自定义变量功能。
Known Issues
0.6 版本的存储数据格式与以前版本不兼容,无法直接升级。
在点查与并发等典型 OLTP 操作的性能上未做优化。
复合主键、唯一键、次级索引尚未实现查询加速 #6028。
Insert/Update into select 超过 100MB 数据在分布式环境下可能失败 #6780。
持续循环 Load 数据会出现内存不足问题 #6793。
分布式环境中会出现 Data Race 问题 #6855,#6926。
后台任务会有较低概率与用户正在执行的事务产生读写冲突,从而终止用户事务 #6049。
写入二进制文件到 BLOB 中可能出现失败 #6302。
文档更新
0.6 版本的文档内容已经从 MatrixOne 主库迁移,所有文档都会在http://matrixorigin.io及http://matrixorigin.io.cn中更新。
增加新版本 MatrixOne 的功能清单。
增加 Java 及 Python 的 connector 及 ORM 工具连接 MatrixOne 的说明。
增加 Java 及 Python 使用 MatrixOne 创建 CRUD demo 应用的教程。
增加分布式部署安装的流程说明。
增加导入,导出及备份还原的流程说明。
增加多租户及权限管理体系的概念及使用说明。
增加视图、外表、临时表、时区等新对象的介绍与使用说明。
增加新增数据类型、函数及 SQL 语句的说明。
更新 MatrixOne 的系统库表的释义列表。
更新与 MySQL 兼容性说明的列表。
试用 Playground 已下线,MatrixOne 将在近期内推出公有云的公测版本。
版权声明: 本文为 InfoQ 作者【MatrixOrigin】的原创文章。
原文链接:【http://xie.infoq.cn/article/23fc43526c20e5164dedaa52a】。文章转载请联系作者。
评论