如果租户有多个资源池,就是RESOURCE_POOL_LIST有多个,那租户所拥有的资源是不是多个资源池的总和,如果是这样给租客扩容是不是可以通过添加资源池来实现
租户在一个节点上 是不能有两个资源单元,在不同节点上的资源单元可以是同一个资源规格的时候,可以是一个资源池 也可以是多个资源池;如果是不同的资源规格,那就只能是多个资源池。
租户扩容的两个方向:
- 一是资源单元数量不变,但是扩容一个或多个资源单元的资源规格。标准操作是多个资源单元规格同时变化。
- 另外一个方向就是增加资源单元数量。这个又有两个操作方式。
- 一是租户数据总副本数不变(通常是3副本),只是每个 资源池里的资源单元数量增加(如 unit_num从1变为2),而不是说每个zone里的资源池从1变为2. 推测内部逻辑是租户在一个zone里只能有一个资源池,你可以变化资源池里的资源单元数量(Unit_num).
- 二是新增副本数(前提是集群已经新增的 Zone 数量,如三个zone 变为 5个zone)。租户的副本数从3个变为4个或5个。此时就是新增资源池在新的zone 上。
所以,回到你的问题,租户扩容其实是扩容资源单元的数量或规格。至于算不算添加资源池,某些情况下这样说也是对的。
3.x 以后的OCP 给租户创建资源池喜欢每个zone 一个独立的资源池,因为程序是自动化创建的(不嫌累)。如果换做 dba 就喜欢一个资源池就够了。但是 dba这种方式在从5副本缩容到3副本的时候就要麻烦点,要做资源池分裂,然后在新裁剪掉分裂出去的资源池。 OCP 的这种方式就比较方便了,想缩容那个zone ,就直接删除那个zone 的资源池。
有点绕。其实是 OB 租户设计的太灵活导致。
详情实验参考: OceanBase 独立部署高级玩法三:副本数调整 (qq.com)
确实有点绕,感觉每次看OB 分布式架构高级技术这章都能有新的收获