“
我们非常高兴地宣布:
MatrixOne内核1.0.0-RC1版本
正式发布啦!
这是一个重要的里程碑,标志着MatrixOne已经基本实现一个超融合异构云原生数据库的主要功能。MatrixOne内核1.0 GA及MatrixOne Cloud正式版也将在近期发布,敬请关注!
社区用户及企业开发者试用可以直接浏览MatrixOne Github项目仓库下载:https://github.com/matrixorigin/matrixone(或点击文末“阅读原文”,一键直达)。
您也可以报名官网Beta Program 用户计划(https://matrixorigin.cn/mo-beta)或联系MatrixOne 小助手(微信号: MatrixOrigin001)报名试用!
如图所示,作为一款分布式超融合异构数据库,MatrixOne旨在提供一个云原生、高性能、高弹性、高度兼容MySQL的HSTAP数据库,让用户面对事务、分析、时序、流计算等混合负载时,通过MatrixOne一站式的完成整个数据处理过程。以下将对整个MatrixOne 1.0.0-RC1的功能做一个总结。
功能 概览 MatrixOne 1.0.0-RC1 MatrixOne的设计和开发始终聚焦在资源利用最大化和超高性价比、简化数据处理架构、降低用户数据处理难度等几个方面。MatrixOne 1.0.0-RC1的功能与性能已经基本上达成了架构设计目标,完整的实现了云原生及存算分离、冷热分离和细数据颗粒度的读写分离架构,具备了一款SQL数据库产品的主要功能,且在OLTP,OLAP,时序几个不同负载下的性能均表现良好,也已经提供了最基础流计算能力。 SQL能力 语法:整体SQL语法与MySQL 8.0保持高度一致; DDL:支持常见的创建,修改,删除数据库、表、视图、分区表的DDL功能; DML:支持常见的insert、update、delete及数据导入导出语句; 基础查询功能:支持常见的分组、去重、过滤、排序、限定、正则表达式等基础查询能力; 高级查询功能:支持视图、子查询、联接、组合、公共表表达式(CTE)、窗口函数、Prepare预处理等高级查询能力; 数据类型:支持整型、浮点数、字符串、时间日期、布尔、枚举、二进制、JSON类型; 聚合函数:支持常见的AVG、COUNT、MIN、MAX、SUM等聚合函数; 系统函数及操作符:支持常见的字符串、日期时间、数学函数及常见操作符; 索引及约束:支持主键、唯一、非空、外键、自增约束及次级索引; 流计算:支持流式表的创建,及对Kafka数据源的接入; 多租户:支持数据库内部租户的创建与管理。 导入与导出 支持INSERT,LOAD,SOURCE等方式批量导入数据; 支持SELECT INTO及modump等方式导出数据; 支持从本地文件及对象存储中直接导入数据。 事务 支持ACID(原子性、一致性、隔离性、持久性)事务特性; 支持事务的开始、提交和回滚操作; 支持悲观及乐观事务,用户可自主切换; 提供提供隔离级别的配置选项,包括快照隔离,读已提交。 部署架构 支持单机及分布式两种部署架构; 支持源码、二进制包、docker及k8s的部署形式; 支持公有云、私有云、物理机部署。 开发与运维管理 支持常见开发语言如Java、Python、Golang的原生连接器如JDBC、pymysql、go-sql-driver; 支持常见的各语言ORM框架如MyBatis、Spring JPA、SQLAlchemy、GORM; 支持常见的MySQL管理工具如Navicat、MySQL Workbench、DBeaver、HeidiSQL; 提供了单机及分布式命令行管理工具mo_ctl; 自带完整的数据库日志及Query记录能力,可对接Grafana可视化组件,实时监控集群的状态。 安全与权限管理 支持传输层TLS加密连接; 支持基于角色的访问控制(RBAC)。 备份还原 支持基于modump工具的逻辑备份; 支持基于mobr工具的物理备份。
适用 场景 MatrixOne MatrixOne产品适用于以下几个应用场景。我们非常欢迎有以下业务痛点及需求的用户与我们联系进行试用测试。 轻量级HTAP场景 企业常用的业务系统,如 OA、ERP、CRM 等系统随着业务的发展数据量增大,传统的单机数据库无法满足其性能需求,尤其在特殊时间点的业务分析需求,很多企业会专门配备一套分析数据库系统来满足月末,季末等重要节点的统计报表需求,或者采用分库分表等形式来降低查询负载。这种场景采用 MatrixOne 数据库可以用一套数据库同时满足业务系统和分析系统的需求,同时具备强大的扩展性,随着业务增长可以无缝扩容。 实时分析场景 针对企业典型的 OLAP 类型应用,如看板、BI 报表等分析系统,往往需要进行海量数据的分析,数据量一旦较为庞大则会面临性能瓶颈,导致时效性较差。MatrixOne 具备强大的分析性能和可扩展能力,可以针对各类复杂和数据量庞大的 SQL 查询进行加速,获得秒级体验的效果,提高企业决策分析的敏捷度。 时序数据场景 随着传感器和网络技术的大量应用,海量的各类 IoT 设备生产了大量的数据,比如制造业工厂产线、新能源汽车、城市安防监控摄像头等等,其规模可能轻易能达到数百 TB 甚至 PB 级别,而对数字化的需求也越来越多的要求企业存储和利用这些数据。但是传统的数据库方案无法满足如此海量且大规模的实时数据写入,以及加工应用的场景。MatrixOne 具备强大的流式数据写入和加工的能力,同时强大的可扩展性可以适应任意规模的负载和数据量,可以完全满足该场景的需求。 负载波动较多的创新业务场景 对于游戏、电商、文娱、社交、新闻等互联类应用来说,用户数量庞大且业务波动剧烈而频繁,在热门事件发生的时候,往往需要大量的计算资源来支撑业务需求。MatrixOne 完全云原生化的架构具备超强的扩展性,可以跟随业务的变化自动的快速扩缩容,极大的降低用户的运维难度。 企业级 SaaS 场景 企业级 SaaS 应用在近几年成爆发式的增长趋势,SaaS 的应用开发中都需要考虑自己的多租户模型,传统的方案中会有多租户共享数据库实例和单租户独享数据库实例两种模式,但是会面临管理成本和隔离性的两难选择。MatrixOne 自带多租户能力,租户之间天然负载隔离且可以独立扩展,同时又提供了统一管理能力,可以兼顾企业对成本,管理简易度和隔离性的需求,是 SaaS 应用的最佳选择。
迭代 更新 从0.8到1.0 在这两个月的版本迭代中,我们也着重优化了我们面向生产环境的一些功能及可用性。 重点新功能 物理备份(企业版):这个版本我们引入了物理备份功能,使用户能够方便地备份和还原数据库。现在,您可以轻松创建数据库的快照,并在需要时恢复到先前的状态,确保数据的完整性和可靠性; 流计算:作为HSTAP架构的最后一块拼图,我们完成了流计算的框架设计,并在这个迭代增加了创建流式表的相关能力,同时实现了一个Kafka的连接器,用于满足大量时序场景的流式数据接入需求; 递归CTE:递归 CTE 是一个重复执行初始 CTE 以返回数据子集直到获取完整结果集的公用表表达式。本迭代的实现将使得用户可以轻松地处理具有层次结构的数据,能够使用递归查询构建更复杂和灵活的查询。 可用性提升 MySQL建表语句兼容:我们进一步改进了MatrixOne对MySQL的兼容性,使其能够更好地支持MySQL建表语句。现在用户可以无缝迁移现有的MySQL应用程序到MatrixOne中,而无需修改现有的建表语句; 扩缩容会话迁移:我们增加了扩缩容会话迁移的能力,使用户能够在分布式实例扩容或缩容时无缝迁移会话。用户可以在不影响现有会话和业务的情况下,轻松地调整MatrixOne的容量; 系统配置简化:我们大幅简化了单机与分布式版本的启动配置项,使用户能够更快速地上手启动数据库; mo_ctl工具优化:我们针对单机与分布式的mo_ctl运维工具进行了功能优化,提供了更强大和易用的运维功能。现在您可以通过分布式mo_ctl工具(企业版)轻松实现部署,升级,扩缩容等运维操作。 其他新功能 增加Replace语句; Alter Table完善了修改列属性相关能力; 增加了Create Stage语句,简化导入导出的流程; 增加Show Processlist语句查看当前系统状态; 增加enum类型; 增加Year类型; 增加To_Days/To_Seconds系统函数; 优化Group by行为,可以支持别名。 Known Issues 次级索引没有加速查询能力; 内存泄漏仍会有偶发,可能导致系统内存溢出; 分布式版本中DN存在一定的单点风险。 文档更新 修改DN(Data Node)模块名称为TN(Transaction Node); 新增REPLACE、STAGE、SHOW PROCESSLIST等文档; 新增 ENUM、YEAR 类型文档; 更新 with CTE 文档,增加递归 CTE; 新增物理备份文档; 新增创建流表及Kafka连接器文档; 更新MySQL DDL语句兼容性文档及MySQL迁移文档; 更新使用 Proxy 实现 CN 缩容及会话迁移文档; 更新系统表文档; 更新系统配置参数文档; 更新ALTER ACCOUNT文档,新增restrict状态; 更新自增约束文档; 新增及更新多个系统函数文档。 了解更多详情,您可以访问我们的文档网站(https://docs.matrixorigin.cn)。您可以在该网站找到详细的架构说明、安装指南和开发教程,帮助您探索MatrixOne的能力。此外,我们的Github网站和社区微信群也可以用于提问、讨论或反馈。