サーバーレス機能は、PolarDBクラスターに動的スケーリング機能を提供します。 クラスター内の各ノードを数秒以内にスケールアップして、ビジネスオペレーションに影響を与えることなくワークロードを突然増加させてコピーできます。 ワークロードが減少すると、ノードをスケールダウンしてコストを節約できます。
背景情報
データベースは、現代の企業のITシステムの重要な部分です。 データベースクラスターを作成する場合、CPU、メモリ、ストレージ、接続などのリソースを構成するために保守的なアプローチが採用され、クラスターがピーク時にもスムーズに実行できるようになります。 しかしながら、従来のリソース割り当て方法では、オフピーク時にはリソースがアイドル状態になり、ピーク時にはリソースが不十分になることがあります。 サーバーレスクラスターはこの問題を解決できます。 ワークロードに基づいてデータベースリソースを動的にスケーリングし、複雑なリソースの評価と管理の必要性を排除できます。
次の図は、ビジネス変動が大きいシナリオでの共通クラスターとサーバーレスクラスターのリソース使用量と仕様を示しています。
|
特徴
サーバーレスクラスターは、CPU、メモリ、ストレージ、およびネットワークリソースのリアルタイムスケーリングをサポートします。 PolarDBは、コンピューティングとストレージが分離された新しいアーキテクチャを使用します。 Serverlessクラスターでは、ネットワークリソースとストレージリソースを分離し、コンピューティングリソースの従量課金方法をサポートすることもできます。 サーバーレスクラスタは、高いリソース使用量、使いやすさ、柔軟性、および低価格という利点を提供します。 サーバーレスクラスターは、コンピューティングリソースを迅速かつ独立してスケーリングし、変動するワークロードに適応し、コストを削減し、効率を向上させるのに役立ちます。
期間 | 説明 |
サーバーレスクラスター | 作成時に [課金方法] を [サーバーレス] に設定したクラスター。 |
仕様が定義されたサーバーレスクラスタ | [課金方法] を [サブスクリプション] または [従量課金] に設定したクラスターを作成し、後で手動でサーバーレス機能を有効にします。 定義済みの仕様は、[課金方法] を [サブスクリプション] または [従量課金] に設定した後に選択したコンピューティングノードの仕様を参照します。 説明 課金方法の詳細については、「課金方法」をご参照ください。 |
スケールアップ /スケールダウン | 計算ノードのCPUとメモリの仕様が変更されました。 |
スケールイン /スケールアウト | 読み取り専用ノードの数が変更されます。 |
PCU | PCU は PolarDB Capacity Unit の略です。 1 PCU は、1 コア、2 GB メモリの容量にほぼ相当します。 PolarDBサーバーレスクラスターでは、リソースは0.5 PCU単位でスケーリングされます。 |
主要コンポーネントのスケーリング
サーバーレスクラスター
PolarProxy
サーバーレスクラスターのPolarProxyは、サーバーレスアーキテクチャを使用します。 PolarProxyリソースは計算ノードから独立しており、自動的にスケーリングされます。 PolarProxyリソースを定義する必要はありません。
リソースは、0.5 PCUの単位でスケーリングされます。 スケーリングアクティビティで追加または削除されるPCUの数は、使用されるPCUの数と正の相関があります。
計算ノード
サーバーレスクラスターのプライマリノードと読み取り専用ノードは、サーバーレスアーキテクチャを採用しています。 ノードは、ワークロードに合わせてスケーリングし、単一ゾーン内でストレージを共有できます。
PCUの数は、プライマリノードまたは読み取り専用ノードのスケーリングに基づいて増減します。
リソースは、0.5 PCUの単位でスケーリングされる。 スケーリングアクティビティで追加または削除されるPCUの数は、使用されるPCUの数と正の相関がある。
PCUの単一ノードのスケーリング範囲を設定できます。 システムは、計算ノードのPCUを毎秒監視する。
Storage
サーバーレスクラスターのストレージは、従量課金の課金方法を使用します。 クラスターの購入時にストレージ容量を指定する必要はありません。 データ量が増加すると、ストレージ容量も自動的に増加します。 使用したストレージスペースに対してのみ課金されます。 クラスターの 概要 ページで、データベースストレージ使用量 を確認できます。 詳細については、「データベースストレージ使用量の表示」をご参照ください。
サーバーレスクラスターへの最大接続数は100,000で、サーバーレスクラスターの最大IOPSは84,000です。
仕様が定義されたサーバーレスクラスタ
PolarProxy
PolarProxyには、定義された仕様のリソースとサーバーレスリソースが含まれます。 PolarProxyのバージョンに応じて、共通クラスターの作成時に仕様が定義されたPolarProxyリソースが指定されます。 サーバーレスPolarProxyリソースは、ワークロードに基づいて自動的にスケーリングされます。
リソースは、0.5 PCUの単位でスケーリングされる。 スケーリングアクティビティで追加または削除されるPCUの数は、使用されるPCUの数と正の相関がある。
計算ノード
プライマリノードと読み取り専用ノードには、仕様が定義されたリソースとサーバーレスリソースが含まれます。 仕様が定義されたリソースはスケーリングできませんが、サーバーレスリソースはワークロードに基づいてスケーリングできます。
PCUの数は、プライマリノードまたは読み取り専用ノードのスケーリングに基づいて増減します。
リソースは、0.5 PCUの単位でスケーリングされる。 スケーリングアクティビティで追加または削除されるPCUの数は、使用されるPCUの数と正の相関がある。
PCUの単一ノードのスケーリング範囲を設定できます。 システムは、計算ノードのPCUを毎秒監視する。
Storage
定義された仕様の共通クラスターのストレージが使用されます。 詳細については、「概要」をご参照ください。
仕様が定義されている既存のクラスターでサーバーレス機能を有効にすると、クラスターへの最大接続数とクラスターの最大IOPSは、maximum Resources for Single Nodeパラメーターの指定値に比例します。
スケーリング
スケーリングをトリガーするメトリックは、クラスターパラメーター設定とサーバーレス設定によって異なります。 CPUスケーリングのしきい値を指定できますが、他のメトリックのしきい値は変更できません。
スケーリングのトリガー条件
スケールアップ
PolarDBは、プライマリノードと読み取り専用ノードのCPU使用率、メモリ使用率、およびその他のカーネルメトリックを監視します。 モニタリングサイクル中に、次のいずれかの条件が満たされると、サーバーレスリソースのスケールアップがトリガーされます。
単一のノードのCPU使用率がデフォルトのスケールアップしきい値80% またはカスタムしきい値よりも高い場合、ノードのCPU仕様のスケールアップがトリガーされます。
単一ノードのメモリ使用量が90% を超えると、ノードのメモリ仕様のスケールアップがトリガーされます。
読み取り専用ノードの仕様がプライマリノードの仕様の半分未満の場合、読み取り専用ノードの仕様のスケールアップがトリガーされます。 例えば、読み取り専用ノードの仕様が4 PCUであり、プライマリノードの仕様が10 PCUである場合、読み取り専用ノードの仕様は少なくとも5 PCUにスケールアップされる。
スケールイン
クラスターの読み取り専用ノードが最大仕様にスケールインされ、ビジネスワークロードがスケールインのしきい値よりも高い場合 (CPU使用率が既定のしきい値80% または指定したしきい値よりも高い場合) 、読み取り専用ノードのスケールアウトがトリガーされます。
トリガー条件のスケールダウン
単一ノードのCPU使用率がデフォルトのスケールダウンしきい値50% またはカスタムしきい値より低く、メモリ使用量が80% より低い場合、ノードのスケールダウンがトリガーされます。
自動スタートとストップ
デフォルトでは、自動開始および停止機能は無効になっています。 サーバーレスクラスターが特定の期間内にリクエストを受信しない場合は、インスタンスの自動起動および停止機能を設定できます。 この機能を有効にした後、[アクティビティ中断検出期間なし] パラメーターで定義された期間内にサービスがクラスターに接続されていない場合、クラスターは自動的に中断状態になります。 クラスターにサービスが接続されている場合、クラスターはすぐに起動します。
自動起動および停止機能は、仕様が定義されたサーバーレスクラスターではサポートされていません。
メリット
サーバーレス機能は、ワークロードに基づいてクラスターリソースを数秒で動的にスケーリングできます。 サーバーレス機能には、次の利点があります。
高可用性
マルチノードアーキテクチャは、サーバーレスクラスターの高可用性を保証します。 サーバーレスクラスターは、安定性を確保するために共通クラスターと同じサービスレベル契約 (SLA) を提供します。
高いスケーラビリティ
広いスケーリング範囲
ビジネスを中断することなく、単一のクラスターを0〜1,000 CPUコアの間でスケーリングできます。
秒単位のスケーラビリティ
ワークロードの検出は5秒で完了し、ワークロードが増加するとクラスターリソースは1秒以内にスケールアップされます。 ワークロードが減少すると、クラスターリソースは段階的に自動的にスケールダウンされます。
ビジネスの中断なし
スケーリングプロセスはビジネスに影響を与えません。
強力なデータ一貫性
グローバル整合性 (高性能モード) が提供されます。 クラスターは強力なデータ一貫性をサポートします。 データは読み取り専用ノードに書き込まれた直後に読み取ることができますが、パフォーマンスは弱い一貫性モードとほぼ同じです。
費用対効果
サーバーレスクラスターは、従量課金の課金方法でPCUで課金されます。 これにより、コストが最大80% 削減されます。
ゼロO&M
PolarDBサーバーレスチームは、システムのアップグレード、システムの展開、スケーリング、アラート処理など、すべての運用およびメンテナンス作業を担当します。 これらの操作はバックグラウンドで実行され、システムで実行されているサービスには影響しません。 これにより、継続的なサービス提供が保証され、ビジネスの開発に集中できます。
シナリオ
サーバーレスクラスター
ワークロードが劇的に変動するシナリオ
開発環境やテスト環境のデータベースなど、データベースへのアクセス頻度が低いシナリオ
教育や学生の実験など、断続的にスケジュールされたタスクが含まれるシナリオ
IoTやエッジコンピューティングなど、一貫性のない予測不可能なワークロードを処理するシナリオ
O&Mコストを削減し、O&M効率を向上させる必要があるシナリオ
仕様が定義されたサーバーレスクラスタ
ワークロードが劇的に変動するシナリオ
IoTやエッジコンピューティングなど、一貫性のない予測不可能なワークロードを処理するシナリオ
O&Mコストを削減し、O&M効率を向上させる必要があるシナリオ
既存のPolarDBクラスターに基づいて変動要件を満たす必要があるシナリオ。
前提条件
サーバーレスクラスター
PolarDB for MySQL 5.6クラスターではサーバーレス機能を使用できません。
仕様が定義されたサーバーレスクラスタ
クラスターは次の要件を満たす必要があります。
データベースエンジン:
リビジョンバージョンが5.7.1.0.29以降のPolarDB for MySQL 5.7。
リビジョンバージョンが8.0.1.1.30.1以降のPolarDB for MySQL 8.0.1。
PolarDB for MySQL 8.0.2 のリビジョンバージョン 8.0.2.2.19 以降
PolarProxyは2.4.30以降である必要があります。
サーバーレス機能は、Product Version Standard Editionクラスターでは使用できません。
PolarDB for MySQL 5.6クラスターではサーバーレス機能を使用できません。データベースエンジンバージョンのMySQL 5.6のクラスターはサポートされていません。
制限事項
サーバーレスクラスター
次の機能はサポートされていません。
ストレージ容量を手動でスケールアップまたはスケールダウン (Enterprise Editionの場合)
ストレージ容量の手動スケールダウン (Standard Editionの場合)
サーバーレス機能は、次の要件を満たすX-Engine Editionデータベースエンジンクラスターで使用できます。
リビジョンバージョンが8.0.1.1.41以降のPolarDB for MySQL 8.0.1。
リビジョンバージョンが8.0.2.2.23以降のPolarDB for MySQL 8.0.2。
グローバルデータベースネットワーク (GDN) がサポートされていますが、次の制限があります。
GDN内のすべてのサーバーレスクラスターで自動起動と停止を有効にすることはできません。
GDN内の各サーバーレスクラスターには、クラスターが次の要件を満たしている場合、少なくとも1つの読み取り専用ノードが必要です。
リビジョンバージョンが8.0.1.1.42以降のPolarDB for MySQL 8.0.1。
リビジョンバージョンが8.0.2.2.23以降のPolarDB for MySQL 8.0.2。
次の操作がサポートされています。読み取り専用ノードの追加または削除、PolarDBクラスターの手動アップグレードまたはダウングレード、クラスターの一時アップグレード、ローカルリソースの自動スケーリングの実行、およびサーバーレスをサポートしていないクラスターの自動スケーリングの実行。
インメモリ列インデックス (IMCI) 機能は、少なくとも1つの読み取り専用ノードを含むサーバーレスクラスターでサポートされます。 読み取り専用列ストアノードをサーバーレスクラスターに追加する前に、サーバーレスクラスターの [最小読み取り専用ノード] パラメーターを1に設定する必要があります。
仕様が定義されたサーバーレスクラスタ
PolarProxyが構成されていない単一ノードクラスターでは、サーバーレス機能を有効にすることはできません。 このようなクラスターでサーバーレス機能を有効にするには、クラスターに読み取り専用ノードを追加します。 詳細については、「読み取り専用ノードの追加」をご参照ください。 バージョン要件を満たす新しいシングルノードクラスターのサーバーレス機能を有効にできます。
次の機能はサポートされていません。
ストレージ容量を手動でスケールアップまたはスケールダウン (Enterprise Editionの場合)
サーバーレス機能は、次の要件を満たすX-Engine Editionのクラスターで使用できます。
リビジョンバージョンが8.0.1.1.41以降のPolarDB for MySQL 8.0.1。
リビジョンバージョンが8.0.2.2.23以降のPolarDB for MySQL 8.0.2。
グローバルデータベースネットワーク (GDN) がサポートされていますが、次の制限があります。
GDN内のすべてのサーバーレスクラスターで自動起動と停止を有効にすることはできません。
GDN内の各サーバーレスクラスターには、クラスターが次の要件を満たしている場合、少なくとも1つの読み取り専用ノードが必要です。
リビジョンバージョンが8.0.1.1.42以降のPolarDB for MySQL 8.0.1。
リビジョンバージョンが8.0.2.2.23以降のPolarDB for MySQL 8.0.2。
ローカルリソースの自動スケーリングおよびサーバーレスをサポートしていないクラスターの自動スケーリング。 仕様が定義されたクラスターでサーバーレス機能が有効になっている場合、これらの機能を有効にすることはできません。 同様に、仕様が定義されたクラスターでこれらの機能を有効にすると、サーバーレス機能を有効にすることはできません。
詳細については、「仕様が定義されている共通クラスターのサーバーレス機能の有効化」をご参照ください。