YMatrix v4.5.0 发布:推出 MARS2 存储引擎

2022-06-22 · YMatrix Team
#博客#产品动态

经过近 4 个月的不懈努力,全新的 YMatrix v4.5.0 版本正式发布。

此次 YMatrix v4.5.0 迎来诸多重大更新,包括:推出全新的存储引擎 MARS2,新增查询信息统计组件、新增支持滑动窗口 及 YMatrix on Kubernetes 部署等功能特性,Mxbench 、MatrixGate 双双升级提升,并修复了生产实践中遇到的部分问题。YMatrix 在功能性与稳定性方面,持续稳定提升。

01 全新推出 MARS2 存储引擎

MARS2 存储引擎在 MARS1 基础之上开发,解决了 MARS1 面临的导表问题。为了达到动态排序效果,MARS2 存储的内部借鉴了 LSM TREE 的概念,实现了由一个两层的类 LSM 结构。其中每一层的类LSM 结构都由两个排序单元 (逻辑磁带集或 tapesets)组成,每一个排序单元又由若干个逻辑磁带(tape)组成。最终实现了动态排序,动态压缩的效果。

02 新增查询统计 mxstat

新增查询统计组件(mxstat),通过将相同的查询汇总到一起,来统计查询执行次数、耗时、资源占用信息等。通过该功能,用户可以对数据库执行过的 SQL 进行统计和监控,并更好的了解各类查询的资源消耗,进而可以定位并分析慢查询。

03 支持滑动窗口流计算

滑动窗口是流计算场景的常见功能。在流计算数据场景中,通过滑动窗口可以对最近一段时间内的数据持续地分析运算。不同于滚动窗口的不重叠,滑动窗口的时间窗口是可以重叠的。滑动窗口通常搭配监控告警使用,当最近一段时间内数据满足预设条件时,数据服务端会向客户端发送告警消息。

YMatrix v4.5.0 新增滑动窗口流计算,可实现对流数据的实时分析与监控,并支持监控数据的订阅发布,当数据出现异常时可通过订阅获得告警消息。

04 Mxbench 优化升级,支持灵活配置

Mxbench 是 YMatrix 数据加载和查询的压测工具,可以根据用户给定的设备数量、时间范围、指标数量配置快速生成随机数据,自动创建数据表,串行或并发进行数据加载和查询。

此次 Mxbench 进行了升级,支持用户进行灵活的配置指标类型、采集频率、空值率、随机度等,用户还可以指定查询的线程数、定制查询语句等。Mxbench 可以通过命令行运行,也可以通过配置文件运行。

05 MatrixGate 再度升级

MatrixGate 简称 mxgate,是 MatrixDB 自带的高性能数据加载工具。此次升级,mxgate 新增:

  • 支持对 CSV 文件的任意列,或者 JSON 文件的任意 Value,进行时间戳类型转换(timestamp),转换精度支持秒级,毫秒级,微秒级和纳秒级;
  • 新增 Watch 功能,可以在 mxgate 运行过程中,查看 mxgate 数据加载的实时指标和历史指标,数据加载性能一目了然,同时也极大地降低了数据加载相关问题的排查难度;
  • Upsert 支持 boolean 数据类型。

06 支持 YMatrix on K8s 部署

YMatrix v4.5.0 新增支持通过 Operator 模式,实现在 Kubernetes 集群上快速部署 YMatrix 的功能。用户可以通过在 Kubernetes 集群中安装 matrixdb-operator 的方式,实现多个 YMatrix 集群的快速部署。