異なるビジネスシナリオにおけるピーク負荷の変動に対応するため、OceanBase Cloudは柔軟な弾性スケーリング戦略とオンデマンドリソース調整メカニズムを提供します。システムは、フォロワーからリージョンに至るまでの多層的な拡張と自動化管理により、業務のピーク時の変動に対応しつつ、リソース利用率を最大化し、パフォーマンスを安定かつ効率的に維持します。同時に、企業のリソースコスト負担を軽減します。
特長と利点
OceanBase Cloudのクラウドデータベースの弾力的なスケーリング機能は、ユーザーエクスペリエンスを最優先に考え、拡張プロセスをすべて透過的にし、ビジネスの継続性と高性能を確保します。OceanBase Cloudの多層的な分離とリソース制限戦略は、クラウドベンダーのIaaS層の物理リソースサポートと、OceanBase Cloud上層の論理分割(クラスタ、ゾーン、ノード、テナント)による段階的なリソース制限により、システムがリソースを効率的に利用すると同時に、マルチテナント環境における公平性、透明性、安定性を確保します。システムは性能とリソースの最適化のバランスを見出し、計算、ストレージ、高並行負荷に対しても効率的に対応できます。

ユーザーが気付かない、透過的な拡張
ピアノード:ノードはフル機能レプリカ(読み書き可能)、読み取り専用レプリカ(読み取り可能)、カラムストアレプリカ(読み取り可能)に分かれており、必要に応じてノード数を自由に増やすことができます。
自動ロードバランシング:リソース量とオブジェクト定義に基づき、OceanBaseはデータの移行と再バランシングを自動的に行い、ノード間でデータレプリカの数、サイズ、リーダーの分散を均等にします。
一時的な拡張:セールイベントなどの場面で、顧客がプランを変更することなく、関連する製品仕様を一時的にアップグレードできます。期間満了後は自動的にリリースされるか、直接永続プランに切り替えられます。
アプリケーションの透過性:拡張と縮小は業務アプリケーションに影響せず、停止も不要です。プロセス全体がアプリケーションに対して透過的です。
ロードバランシングの調整:各ノードのタスクを均等に分散することで、効率的な負荷管理を実現し、必要に応じて全体のノードの負荷圧力分布を動的に調整できます。
多層的なスケーリング
「ユーザー – テナント – ゾーン – ノード」の多層的なスケーリングをサポートします。

ユーザーリソースのスケーリング:ユーザーが使用可能なリソースが制限された場合、実際のシナリオに応じてリソース割り当て戦略を動的に調整できます。詳細については、リソース分離の概要を参照してください。
テナントリソースのスケーリング(縦方向+横方向):テナントのリソースが不足した場合、リソースユニット(Resource Unit)の移行または拡張を調整することで、テナントのノード上のリソース上限を増やすことができます。ノードのリソースが上限に達した場合、リソースユニット(Resource Unit)の数を増やすことで、リソースをゾーン内の他のノードに拡張できます。
テナントリソースのゾーン間拡張:ゾーン内のリソースが不足した場合、リソースプール(Resource Pool)が配置されているノードを変更することで、テナントリソースを他のゾーンに拡張できます。
クラスタノードのスケーリング:クラスタ全体のリソースが不足した場合、クラスタノードの仕様をアップグレードする(縦方向)か、ゾーン内に新しいノードサーバーを追加する(横方向)ことで、クラスタ全体の計算リソースを拡張することができます。
ストレージ構成の変更:ストレージ容量や能力が不足した場合、ストレージ容量やタイプを変更することでリソース要件をクリアできます。
原理の紹介
OceanBase Cloudシステムは、単一ユーザー、ユーザーグループ、リージョン、ノードの拡張機能をサポートしており、縦方向から横方向への多次元拡張ソリューションにより、複雑なビジネスシナリオに柔軟に対応します。データベースアクセス層、計算層、ストレージ層という3つのコアレベルから、OceanBase Cloudの動的なスケーリングとリソース管理に関する設計と実装の詳細を紹介します。同時に、異なるシナリオのビジネスニーズを満たすための課金モデルの弾力的な設計についても説明します。
ビジネスの段階的な成長に対応する弾力的な管理能力:
データアクセス層は、フロントエンドリソースの効率的な管理を担当し、アクセス体験の一貫性と柔軟性(プロキシ選択から帯域幅調整まで)を確保します。
計算層は、即時の仕様拡張(Scale Up)とノード追加(Scale Out)を提供し、どんな高並行性や短期的なピークを伴うビジネスシナリオにも適応します。
ストレージ層はバックエンドのデータサポートとして機能し、自動化されたスケーリングにより常に要求に見合ったストレージ能力を提供します。
弾力的な設計理念:
動的なリソース調整メカニズム。
分層された詳細なプロキシ制御、計算拡張、ストレージの動的スケジューリング能力。
ユーザーが意識することなく行われるスケーリングとパフォーマンス最適化プロセス。
階層 |
機能モジュール |
コア機能 |
弾性設計と特徴 |
|---|---|---|---|
| データアクセス層 | ODP技術 | アドレス管理(プライマリアドレス / 読み取り専用アドレス / 読み書き分離アドレス) |
|
| データアクセス層 | プロキシ機構 |
|
|
| データアクセス層 | 接続制御 | 接続数と帯域幅を動的に調整し、トラフィック要件に適応します。 | データアクセス層全体でユーザーへの影響がなく、拡張と調整のプロセスは自動化されて完了します。 |
| 計算層 | スケールアップ(Scale Up) | 単一ノードの処理能力を向上させ、CPUやメモリなどのリソースを追加することで、パフォーマンスを最適化します。 |
|
| 計算層 | スケールアウト(Scale Out) | 計算ノードを動的に追加・削除し、同時実行処理能力を向上させ、ビジネストラフィックのピークに適応します。 |
|
| 計算層 | 計算拡張(ノード追加)とリソース解放(ノード削除)は自動的に完了し、ユーザーの手動介入は不要です。 | 計算リソースプールが自動的に調整され、計算性能と高いコストパフォーマンスを保証します。 | |
| ストレージ層 | 自動スケールアウト | ストレージユニットを自動的に追加し、ビジネス成長ニーズに応えます。 |
|
| ストレージ層 | 動的スケールイン | データ量が減少した場合に余分なストレージユニットを解放し、コストを削減します。 | ストレージリソースを効率的に利用し、リソースの浪費を回避します。 |
| ストレージ層 | 従量課金制 | 動的な使用量に基づいて課金され、急激な業務量の増加など短期的または柔軟性が求められるシナリオに適しています。 | 必要に応じて支払い、リアルタイムで拡張できるため、長期間の大規模なアイドルリソースの保持を避けられます。 |