OceanBase 数据库的多租户架构中怎样做到 CPU 资源有效隔离?

在 OceanBase 数据库目前发布的版本中,OceanBase 数据库主要依靠控制活跃线程数量(实际消耗 CPU 资源的线程)来控制 CPU 消耗。

OceanBase 数据库在创建租户的时候会指定租户资源池,资源池定义的最大内存 max_cpu 可以限制租户级别的内存使用,从而做到租户间内存使用的隔离。

在 OceanBase 数据库的最新版本中,OceanBase 数据库内核实现了 Cgroup 的隔离来对 CPU 内存和资源进行有效地控制和限制,这需要操作系统级别的配置搭配生效。

目前 OceanBase 数据库正在将这个能力整合在工具平台中,使得未来部署的 OceanBase 数据库可以直接利用 Cgroup 隔离实现资源的有效控制和限制。

CPU和内存可以隔离,但是磁盘IO应该很难吧