MatrixOne 0.8 版本正式发布啦!
项目文档网站: https://docs.matrixorigin.cn
重点关注: MatrixOne 公测 Beta 版
MatrixOne 的 GA-1.0 版本预计将在第三季度正式发布!本次发布的 0.8 版本是 MatrixOne 在 GA 前的最后一个版本,同时也是 MatrixOne 产品的公测 Beta 版,欢迎各位用户和开发者自行下载、测试和试用。
经过本迭代长达数月的攻坚,MatrixOne 在性能、扩展性及可用性上均得到了大幅提升,已基本达到了企业级数据库的部署和应用的要求。同时,本迭代也初步补齐了 MatrixOne 核心架构上的最后一块拼图 Proxy,该模块将应用提交的各种 SQL 请求及负载类型与相应 CN 组关联,帮助 MatrixOne 实现更好的租户隔离、读写分离、TP/AP 负载分离等关键功能。
性能优化
- OLTP 性能:MatrixOne 在点查、插入等常见 OLTP 场景中性能提升数倍,已达到行业领先 OLTP 数据库水平。
- OLAP 性能:MatrixOne 进一步提升 OLAP 性能,在 TPCH 等常见性能测试 benchmark 中可以对齐行业领先 OLAP 数据库。
- 扩展性:MatrixOne 实现 Compute Node 计算节点的秒级扩容能力,且扩容后 OLTP 及 OLAP 的性能可线性增长。
可用性提升
- 数据格式向后兼容:从 0.8 迭代开始,后续的迭代版本均兼容 0.8 版本的底层数据存储格式。在软件版本升级的过程中,不再需要删除老的数据目录及重新导入数据。
- 新增部署及运维工具:本次迭代提供了极简化的部署及运维命令行工具 mo_ctl,帮助用户快速检查基础硬件环境,初始化配置及一键安装部署。不论是单机版本还是分布式版本用户都不再需要通过复杂的 Linux 及 K8s 原生命令来进行部署及运维。
- 与 MySQL 兼容性提升:新增了与 MySQL 兼容的大小写模式,MySQL 到 MatrixOne 的 SQL 转换工具,及补齐了大量 information_schema 库的表结构,大幅减少 MySQL 迁移的适配工作。
- 新增悲观事务:为了兼容现有 OLTP 类应用事务使用习惯,MatrixOne 增加了对悲观事务的支持,同时支持 SI 及 RC 隔离级别,不再要求上层应用针对乐观事务可能出现的冲突去设置重试机制,同时增加对 Select for update 的支持。
架构完善(Proxy 模块)
在一个基于 MatrixOne 开发的应用系统中,存在着多种业务负载类型(OLTP/OLAP/ 外部数据交换),同时 MatrixOne 有多租户机制,多个租户的资源及业务负载类型均需要达到隔离及互不干扰。
MatrixOne 的 Proxy 架构图
Proxy 作为 MO 内核之外承担负载均衡与 SQL 请求分发的唯一组件,是当前实现 MO 的 SQL 路由功能的最优路径。通过将 CN 分组标签的方式,搭配 Proxy 的 SQL 分发,实现会话级别的 SQL 路由功能。
其他新功能
- 新增 binary 类型及相关函数
- 新增发布订阅功能
- 新增 sequence 序列
- 新增 Alter table 功能
- 实现了部分 partition by 分区表功能
- 新增多层外键支持
- 新增 Rank, Row_number 和 Dense_rank 窗口函数
- 新增 INSERT...ON DUPLICATE KEY UPDATE 语句支持
- 新增密码修改与 owner 逻辑
- 新增全局参数持久化功能
- 新增 Rand 系统函数
Known Issues
- 0.8 以前版本数据格式不兼容,无法直接升级
- 业务负载隔离标签目前仅支持 JDBC
- 次级索引没有加速查询能力
- 内存泄漏仍会有偶发,可能导致系统内存溢出
- 分布式版本中 DN 存在一定的单点风险
- 高并发负载下有一定概率出现系统卡住的现象
文档更新
- 新增 HTAP、多租户、高性价比等大量产品优势特性描述
- 新增多篇系统组件技术架构描述
- 新增分布式最小生产部署及推荐生产部署拓扑
- 新增分布式升级、扩缩容、启停、状态检测等运维类文档
- 新增悲观事务及 RC 隔离相关文档
- 新增窗口函数相关文档
- 新增数据类型,SQL 语句,系统函数的参考手册
- 更新系统表结构及系统配置文件变量表
MatrixOrigin 官网:矩阵起源 MatrixOne - 新一代超融合异构数据库 | MatrixOrigin
Github:https://github.com/matrixorigin/matrixone/releases