通过扩展 CN 提升性能

MatrixOne 是一种分布式数据库,最显著的特点是可以通过节点扩展来提升系统整体性能。在 MatrixOne 的存算分离架构中,CN 是无状态的计算节点,快速扩展 CN 节点是整个集群性能提升的核心。

通常,我们可以通过两种方法对 CN 进行扩展:

  1. 垂直扩展 CN 节点:通过调整单个 CN 节点的资源来提升性能。这包括对整个 CN 资源和缓存的提升。

  2. 水平扩展 CN 节点:通过增加 CN 节点数量来提升性能。

一个最小型的 MatrixOne 分布式集群架构如下图所示:

mo_arch_minimum

用户的查询请求主要由 CN 承担计算工作,因此 CN 节点的资源大小与算力成正比,最直接的扩展方法就是垂直扩展单个 CN 节点的资源。同时,查询的数据缓存在 CN 的缓存中,作为热数据。如果命中缓存,查询就可以直接从缓存中返回,而不必从对象存储中获取冷数据。缓存只有在超过容量上限后才会以 LRU 算法替换其中数据,因此缓存大小对提升性能也有帮助。

此外,我们也可以通过水平扩展 CN 节点来提升性能。水平扩展有两个技术特性可以提升性能。首先,多个用户连接请求可以分散到不同 CN 节点,从而分散每个 CN 的负载。其次,不同 CN 节点也有不同的缓存。当收到查询请求的 CN 节点发现请求数据不在其缓存中时,会通过元数据找到含有请求数据缓存的 CN 节点,并将请求转发给它进行处理,提高缓存命中率。

MatrixOne 分布式集群组件的扩展可以通过 Operator 完成,操作方法可以参考 MatrixOne 集群的扩缩容章节。请注意,垂直扩展 CN 节点需要在单个节点上进行,而水平扩展 CN 节点需要在多个节点上进行。

操作方法

MatrixOne 分布式集群组件的扩展都可以通过 Operator 来完成,具体的操作方法可以参考 MatrixOne 集群的扩缩容