MatrixOne v1.2.0 发布报告
我们非常高兴地宣布 MatrixOne 内核 v1.2.0 版本于 2024 年 05 月 20 日正式发布!
MatrixOne 是什么?
MatrixOne 是一款分布式超融合异构云原生数据库,MatrixOne 旨在提供一个云原生、高性能、高弹性、高度兼容 MySQL 的 HSTAP 数据库,让用户面对事务、分析、时序、流计算等混合负载时,通过 MatrixOne 一站式的完成整个数据处理过程。
重点关注
MatrixOne 在本次的迭代中进行了显著的功能扩展,重点功能有:快照备份、增量物理备份、CTAS、BITMAP 和向量索引。随着这些新功能的引入,MatrixOne 正逐步成为企业级数据管理和分析的理想选择。
快照备份恢复 (Beta)
数据库快照备份技术通过创建特定时间点的只读副本,在不影响数据库运行的情况下为数据提供了一种高效的保护方式。在本次迭代中,Matrixone 开始支持租户级别的快照备份恢复,在数据丢失或损坏的情况下,快照备份可以快速恢复到备份时的状态,减少了恢复时间目标(RTO)。快照备份不需要停止数据库服务,因此可以简化备份流程并保证了业务的连续性。在灾难恢复计划中,快照备份扮演着至关重要的角色,确保在紧急情况下能够迅速恢复关键数据。
增量物理备份(企业版)
在 mo_backup 工具支持全量物理备份的基础上,增加了增量物理备份能力。在数据量较大的环境下,过去每次备份都是全量备份,导致备份时间较长,且占用大量存储空间。增量备份功能会自动计算过去已经备份过的时间点以及已备份过的 object 列表,仅需要对新的 object 列表进行备份即可。
CTAS
在本迭代中,MatrixOne 支持了 CTAS。CTAS 是一种 SQL 语句,用于基于现有数据快速创建一个新表。它结合了创建表和选择查询的功能,提供了一种高效的方式来创建表的快照、进行数据转换、或者创建用于报告和分析的数据模型。特点如下:
-
高效性:CTAS 通常作为一个原子操作执行,减少了创建表和插入数据的步骤,提高了性能。
-
简洁性:通过一次性操作创建新表和填充数据,简化了数据建模和 ETL 过程。
-
灵活性:可以利用 SELECT 语句中的大部分功能,如 WHERE、JOIN、GROUP BY 等,进行复杂的数据转换。
BITMAP 快速去重
在数据分析和决策支持的过程中,经常需要对大量数据进行去重计数,以获得不同值的准确数量。传统的 count(distinct values) 语句虽然可以实现这一目的,但在处理大规模数据集时,其性能往往不尽人意。为了解决这一问题,MatrixOne 在本迭代中引入了 BITMAP(位图)函数。这些内置函数使得 BITMAP 在进行数据去重、计数、查询统计、排序等操作时,能够提供比传统方法更快的处理速度和更低的资源消耗。在商业智能、用户行为分析、实时推荐系统等应用场景中,BITMAP 可以显著提高数据处理的速度和准确性,帮助企业和组织更好地进行数据分析和决策制定。
向量索引
在上个迭代中,Matrixone 支持了向量类型以及常见的向量相似度函数,在本次迭代中,Matrixone 进一步引入了向量索引技术,这一进展显著提升了系统在处理向量数据时的性能。向量索引允许系统快速检索与查询向量最相似或最接近的数据点。这种高效的检索能力,对于需要在海量数据中进行快速搜索和匹配的应用场景至关重要。在机器学习和人工智能领域,大型语言模型(LLM)和检索增强生成(RAG)等技术的应用日益增多,这些技术通常需要处理大量的高维数据,并对数据进行复杂的相似性比较和模式匹配。向量索引的引入,为这些技术的应用提供了坚实的基础。它不仅能够减少计算资源的消耗,还能显著提高查询响应时间,从而优化整体的系统性能。
其他新功能
SQL 语句
- 支持 insert ignore
- 支持 create table ... like
- 支持 create table as select
- 支持 create index ... using ivfflat
- 支持 alter table ... alter reindex
- 支持 load data...character set
- 支持 creat snapshot
- 支持 show snapshots
- 支持 restore account
- 支持 drop snapshot
- 优化了 alter publication
- 优化了 show publications
- 优化了 show subscriptions
数据类型
- 支持 bit 数据类型
索引与约束
- 增加向量索引 (Vector Index)
函数与操作符
- 增加 SYSDATE 日期函数
- 增加 TO_BASE64 和 FROM_BASE64 编解码函数
- 增加 MD5 和 SHA1 加密函数
- 增加 SUBVECTOR 提取子向量函数
- 增加 SERIAL_EXTRACT 提取序列/元组值中子元素函数
- 增加 CLUSTER_CENTERS 确定向量列的聚类中心函数
- 支持向量与标量间的加减乘除运算
系统参数
- 增加 keep_user_target_list_in_result 系统参数
- 增加 foreign_key_checks 系统参数
MySQL 兼容性
- 重构 csv reader 及 csv 切割,保持与 MySQL 兼容。
已知问题
- 向量索引目前只对 l2_distance 度量的查询有加速作用。
- 暂只支持租户级别的快照备份恢复,不支持集群级别的。
- 快照恢复需要将数据全量写入一遍,对 CPU 和内存消耗较大。
- 大数据量偶现内存溢出 OOM 问题。
- 高并发负载下偶现系统会卡住。
文档更新
- 新增快照备份相关文档
- 新增 BITMAP 相关文档
- 新增 CTAS 相关文档
- 新增向量索引和检索相关文档
- 更新 SQL 语句、函数和操作符、系统变量的参考手册
- 更新整体功能列表
- 更新 MySQL 兼容性列表
更详细的更新日志
https://github.com/matrixorigin/matrixone/compare/v1.1.0...v1.2.0