多くの企業がサービス指向アーキテクチャで開発していますが、マイクロサービスアーキテクチャは基盤データベースに課題をもたらしています。リソースの断片化や管理の複雑さ、スケーラビリティの問題などがあり、効率とコストのバランスが取れていない場合が多いです。OceanBaseは、ネイティブなマルチインスタンスとリソース統合ソリューションを提供し、リソースプール機能を実装することで、管理コスト削減と優れたパフォーマンス・可用性を維持します。
複数の異なるビジネスアプリケーションやSaaS企業が異なる顧客に対応する場合、リソースを分離する必要がありますが、そのために多数のデータベースインスタンスをデプロイすると、リソースが深刻に断片化してしまいます。これにより重要なビジネスまたは重要な顧客からのリクエストが急増した時に、柔軟にスケールアップすることができず、パフォーマンスと可用性を保証することができません。
データベース内で断片化されたリソースがデプロイされていると、一定のスケーラビリティ機能を確保するため、単一のインスタンスが急増するリクエストに備えて容量の一部を予備リソースとして割り当てることがよくあります。ビジネス全体からみると、このような予備リソースは膨大なリソースの浪費となり、企業のリソースコストを増加させてしまいます。
データベースインスタンスが増えると管理効率が低下します。数百〜数千のインスタンスをきめ細かく管理するのは難しく、障害やジッター発生時の復旧にも時間を要します。さらに、リソース全体の把握が難しくなり、人的管理コストの増加につながります。
OceanBaseの分散マルチテナントアーキテクチャは、複数のビジネスのデータベースインスタンスを統合し、リソース利用率を向上させます。また、Paxosベースのマルチレプリカシステムにより、高可用性を確保でき、中規模・大規模企業やSaaSサービスプロバイダーに最適です。これにより、顧客ごとに異なる仕様のインスタンスを提供し、大規模事業者は専有テナント、小規模事業者はリソース共有型のテナントを利用できます。柔軟なリソース割り当て戦略により、コスト削減とリソース分離を両立させることが可能です。
OceanBaseはネイティブでマルチテナントを実現し、1つのクラスターで数百のデータベースインスタンスをデプロイできます。各インスタンスのデータとリソースは分離され、コンピューティングリソースのインプレースアップグレードは数秒以内に有効になります。
OceanBaseはCgroup (Control Groups) でインスタンス間のリソース分離を実現し、リソースグループマッピングを通じてユーザーレベルやステートメントレベルでの分離を実現します。これにより、SaaSユーザーは必要に応じて共有リソースを柔軟に管理し、共有と分離のバランスを取ることができます。
複数の分散インスタンスをOceanBaseに統合デプロイすることで、運用保守の複雑さが大幅に軽減されます。DBAはこれまで数百のインスタンスを管理していましたが、現在は数件のOceanBaseクラスターを管理しています。負荷やアラート、チューニングがクラスターレベルで統一され、一般的な障害は自動で復元されるため、ビジネスサポートの効率と緊急対応能力が大きく向上しました。
マルチテナントを活用してコンピューティングリソースをプール化することで、全体の利用率を向上させるだけでなく、OceanBaseの高度な圧縮機能により、ストレージコストを従来型データベースの3分の1に削減できます。多くのお客様からのフィードバックや事例統計によると、OceanBaseのリソース統合ソリューションを導入した中規模以上の企業は、TCOを約30%~50%削減できたと報告されています。
テナントリソースは、いつでも柔軟にスケールアップ/スケールダウンでき、数秒で有効にできます。ビジネスへの影響はゼロで、追加料金はかかりません。SaaSのクライアント間でリソースを柔軟にスケジューリングし、全体的なリソース利用率と管理の柔軟性を向上させることができます。