ユーザーのビジネスは成長したり衰退したりするものであり、また業務のピーク時期も異なることが多いため、データベースには柔軟なサービス能力が求められます。OceanBaseデータベースは、テナントのスケーリング機能により、ビジネスの柔軟なサービス能力を支援します。
テナントのスケールアウト/インは、計算能力とストレージ容量を向上/低下させることができます。OceanBaseデータベースでは、リソース構成の引き上げ/引き下げ、サービスノードの追加/削減という2つの方法でスケーリングを実現します。
単一ノードのサービス能力の向上:テナントのリソース構成(Unit Config)を引き上げることで、単一ノードのサービス能力を向上させます。
詳細については、リソース構成の調整によるテナントのスケーリングを参照してください。
サービスノードの追加:Unit NumberとPrimary Zoneを増やすことでサービスノードを追加し、テナント全体のサービス能力を向上させます。ここでのスケールアウト操作は、N個のサービスユニットをM個のサービスユニットに拡張することとして抽象化できます。ただし、M > Nとなります。
テナントのUnit NumberがNからMに変更される場合、各Primary ZoneにはM - N個のログストリームを新規作成し、これらをM - N個の新規UNIT_LISTに分散配置する必要があります。
詳細については、Unit Numberの調整によるテナントのスケーリングを参照してください。
テナントのPrimary Zone数がNからMに変更される場合、各UNIT_LIST内にM - N個のログストリームを新規作成し、そのLeaderをM - N個の新規Primary Zoneに分散配置する必要があります。
詳細については、Primary Zoneの調整によるテナントのスケーリングを参照してください。
スケールインはスケールアウトの逆操作であり、本質的にはテナントのサービス能力、すなわち計算能力とストレージ容量を低下させることです。リソース構成を引き下げて単一ノードのサービス能力を低下させる方法もあれば、サービスノードを削減することでテナント全体のサービス能力を低下させる方法もあります。サービスノードの削減には、Primary Zone数の削減やUnit Numberの削減が含まれます。