MatrixOne 是一款分布式超融合异构数据库,MatrixOne 旨在提供一个云原生、高性能、高弹性、高度兼容 MySQL 的 HSTAP 数据库,让用户面对事务、分析、时序、流计算等混合负载时,通过 MatrixOne 一站式的完成整个数据处理过程。
MatrixOne 1.2.0
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 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 兼容。
Known Issues
-
向量索引目前只对 l2_distance 度量的查询有加速作用。
-
暂只支持租户级别的快照备份恢复,不支持集群级别的。
-
快照恢复需要将数据全量写入一遍,对CPU和内存消耗较大。
-
大数据量偶现内存溢出OOM问题。
-
高并发负载下偶现系统会卡住。
文档更新
-
新增快照备份相关文档。
-
新增 BITMAP 相关文档。
-
新增 CTAS 相关文档。
-
新增向量索引和检索相关文档。
-
更新 SQL 语句、函数和操作符、系统变量的参考手册。
-
更新整体功能列表。
-
更新 MySQL 兼容性列表。
了解更多详情,您可以访问我们的文档网站(https://docs.matrixorigin.cn)。您可以在该网站找到详细的架构说明、安装指南和开发教程,帮助您探索 MatrixOne 的能力。此外,我们的 Github 网站和社区微信群也可以用于提问、讨论或反馈。