【资料图】
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