PolarDB for MySQLサーバーレスは共有ストレージを使用し、1つのプライマリノードと複数の読み取り専用ノードで構成されるアーキテクチャを採用して、システムワークロードに基づく動的スケーリングを実装します。 PolarDB for MySQLサーバーレスは、クラスター内の読み取り専用ノードのスケーリング (スケールイン /アウトおよびスケールアップ /ダウン) を数秒以内に実装して、クラスターのコンピューティングリソースを最大限に活用し、ビジネスコストを削減します。 このトピックでは、サーバーレスクラスターの仕組みとその利点とアプリケーションシナリオについて説明します。
背景情報
データベースは、現代の企業のITシステムの重要な部分です。 データベースクラスターを作成する場合、CPU、メモリ、ストレージ、接続などのリソースを構成するために保守的なアプローチが採用され、クラスターがピーク時にもスムーズに実行できるようになります。 この場合、オフピーク時にはリソースがアイドル状態になり、ピーク時にはリソースが不足する可能性があります。 この問題を解決するために、PolarDB for MySQLによってサーバーレスクラスターが提供されています。 サーバーレスクラスターは、ワークロードに基づくリソーススケーリングを提供し、ビジネスリソースを評価および管理する必要性を排除します。
次の図は、ビジネス変動が大きいシナリオでの共通クラスターとサーバーレスクラスターのリソース使用量と仕様を示しています。
共通クラスター: オフピーク時間帯に大量のリソースが無駄になります。 リソースが不足しており、ピーク時にはビジネスを処理できません。
サーバーレスクラスター:
ワークロードに基づいてリソースを動的にスケーリングします。 これにより、リソース利用が向上し、リソースの無駄が減ります。
ビジネスを中断することなく1秒以内にリソーススケーリングを完了し、ピーク時に十分なリソースを提供します。 これにより、ビジネスパフォーマンスとシステムの安定性が確保されます。
従量課金の課金方法をサポートします。 これにより、コストが削減され、リソースがワークロードに合わせて動的に割り当てられます。
手動設定の変更は必要ありません。 そのため、O&M の効率が向上します。
自動スタートとストップ機能をサポートします。 クラスターにリクエストが送信されない場合、クラスターは自動的に停止され、コンピューティングリソースがリリースされます。 クラスターがリクエストを受信すると、クラスターは自動的に起動します。
説明仕様が定義されているサーバーレスクラスターでは、自動起動および停止機能はサポートされていません。
高スループットの書き込み操作と高性能なバッチ処理操作を最適化し、柔軟なスケーリングをサポートします。 これは、大量のデータと大きなトラフィック変動が関係するシナリオに適しています。
制御ポリシー機能の動作
PolarDB for MySQLサーバーレスは、CPU、メモリ、ストレージ、ネットワークリソースのリアルタイムスケーリングをサポートしています。 PolarDB for MySQLは、コンピューティングとストレージが分離された新しいアーキテクチャを使用します。 サーバーレスクラスターでは、ネットワークリソース、名前空間、およびストレージリソースを分離することもできます。 サーバーレスクラスターは、コンピューティングリソースの従量課金方法をサポートし、リソース使用量の削減、使いやすさ、柔軟性、低価格などの利点を提供します。 サーバーレスクラスターは、コンピューティングリソースを迅速かつ独立してスケーリングし、変動するワークロードに適応し、コストを削減し、効率を向上させるのに役立ちます。
用語
サーバーレスクラスター: 作成するサーバーレスクラスター。 サーバーレスクラスターの作成方法については、「サーバーレスクラスターの作成」をご参照ください。
仕様が定義されたサーバーレスクラスター: サーバーレス機能が有効になっている共通クラスター。 サーバーレス機能を有効にする方法については、「サーバーレス機能の有効化」をご参照ください。
スケールアップ /ダウン: クラスター内のノードのCPUとメモリの変更。
スケールイン /アウト: クラスター内の読み取り専用ノード数の変更。
サーバーレスクラスター
仕様が定義されたサーバーレスクラスタ
サーバーレスリソースのスケーリングのトリガー条件
次の条件は、サーバーレスクラスターと定義された仕様のサーバーレスクラスターの両方に適用されます。
CPU使用率のしきい値を除き、このセクションで説明するしきい値はデフォルト値です。 これらのしきい値は、クラスターカーネルパラメーターとサーバーレス構成ポリシーによって異なります。
リソースのスケールアップとスケールアウトのトリガー条件
リソーススケールアップのトリガー条件
PolarDBは、プライマリノードと読み取り専用ノードのCPU使用率、メモリ使用率、およびその他のカーネルメトリックを監視します。 監視サイクル中に、次のいずれかの条件が満たされると、サーバーレスリソースのスケールアップがトリガーされます。
CPU使用率のしきい値を指定できます。 デフォルトのしきい値は80% です。 単一ノードのCPU使用率が80% より高い場合、ノードのCPU仕様のスケールアップがトリガーされます。
単一ノードのメモリ使用量が90% を超えると、ノードのメモリ仕様のスケールアップがトリガーされます。
読み取り専用ノードの仕様がプライマリノードの仕様の半分未満の場合、読み取り専用ノードの仕様のスケールアップがトリガーされます。 例えば、読み取り専用ノードの仕様が4 PCUであり、プライマリノードの仕様が10 PCUである場合、読み取り専用ノードの仕様は5 PCU以上にスケーリングされる。
リソーススケールアウトのトリガー条件
読み取り専用ノードが最大仕様までスケールアップされ、ビジネスワークロードがスケールアップのしきい値よりも高い場合 (CPU使用率が80% より高い、またはメモリ使用率が90% より高い) 、読み取り専用ノードのスケールアウトがトリガーされます。
リソースのスケールダウンのトリガー条件
単一ノードのCPU使用率が50% より低く、メモリ使用量が80% より低いと、ノードのスケールダウンがトリガーされます。
課金
メリット
PolarDB for MySQLサーバーレスは、ワークロードに基づいてクラスターリソースを数秒で動的にスケーリングできます。 PolarDB for MySQLサーバーレスには、次の利点があります。
高可用性
マルチノードアーキテクチャにより、サーバーレスクラスターの高可用性が保証されます。 サーバーレスクラスタは、安定性を確保するために共通クラスタと同じサービスレベル契約 (SLA) を提供します。
高いスケーラビリティ
広いスケーリング範囲
PolarDB for MySQLサーバーレスは自動スケーリングをサポートし、幅広いスケーリング範囲を提供します。 ビジネスを中断することなく、単一のクラスターを0〜1,000コアの間でスケーリングできます。
秒単位のスケーラビリティ
ワークロードの検出は5秒で完了し、ワークロードが増加するとクラスターリソースは1秒以内にスケールアウトされます。 ワークロードが減少すると、クラスターリソースは階層的に自動的にリリースされます。
ビジネスの中断なし
スケーリングプロセスはビジネスに影響を与えません。
強力なデータ一貫性
グローバル整合性は、高性能モードで提供されます。 クラスターは強力なデータ一貫性をサポートします。 データは読み取り専用ノードに書き込まれた直後に読み取ることができますが、パフォーマンスは弱い一貫性モードとほぼ同じです。
費用対効果
サーバーレスクラスタは、従量課金方式でPCUで課金されます。 これにより、コストが最大80% 削減されます。
ゼロO&M
PolarDB for MySQLサーバーレスチームは、システムのアップグレード、システムの展開、スケーリング、アラート処理など、すべての運用およびメンテナンス作業を担当します。 これらの操作はバックグラウンドで実行され、システムで実行されているサービスには影響しません。 これにより、継続的なサービス提供が保証され、ビジネスの開発に集中できます。