CelerData クラスターのスケーリング
CelerData は、クラスターの垂直および水平スケーリングをサポートしています。ワークロードが増減する際に、クラスターの詳細を表示し、必要なパフォーマンスレベルを最低限のコストで維持するためにクラスターをスケーリングするかどうかを決定できます。
スケーリング操作の紹介
垂直スケーリング
クラスターのノードのインスタンスタイプをアップグレードまたはダウングレードすることで、コンピューティングパワーとストレージ容量を増減させ、クラスターを垂直にスケーリングできます。以下のシナリオでスケールアップを検討してください。
-
ワークロードが CPU または I/O の制限に達し、クエリの遅延が増加し、同時実行性が低下していますが、ストレージ容量は十分です。
-
古典的な最適化技術では解決できないパフォーマンス問題に迅速に対応する必要があります。
水平スケーリング
クラスターのノードを追加または削除することで、コンピューティングパワーとストレージ容量を増減させ、クラスターを水平にスケーリングできます。水平スケーリングはクラスターにダウンタイムを課しません。以下のシナリオでスケールアウトを検討してください。
-
ワークロードが CPU、I/O、およびストレージの制限に達し、クエリの遅延が増加し、同時実行性が低下していますが、ストレージ容量は十分です。
-
サービスの最高性能層でもパフォーマンス要件を最大限に満たしています。
-
現在のノード数にデータが収まりません。
ストレージスケーリング
データ量の変化に応じて、クラスターのストレージをスケールアップまたはスケールダウンして、クラスター活動のスパイクやディップに対応できます。
CelerData は、Elastic クラスターの Coordinator Nodes に対する自動ストレージスケールアップもサポートしています。ビジネスのワークロードが予測不可能で、クラスター作成時に固定数のストレージボリュームを割り当てることができない場合、CelerData クラスターのノードに対してストレージの自動スケーリングを有効にできます。この機能を有効にすると、CelerData は、設定されたストレージスペースが不足していることを検出したときに、自動的にストレージサイズをスケールアップします。
エラスティッククラスターのスケーリング
CelerData は、垂直スケーリング、水平スケーリング、および Coordinator Node のストレージスケーリングをサポートしています。また、各ウェアハウスの自動スケーリングを有効にして、ウェアハウスの CPU 使用率に基づいてシステムが自動的にコンピュートノードの数をスケールすることができます。
垂直スケーリング
以下の点に注意してください。
- クラスターが EBS ボリュームをストレージとして使用している場合、スケールアップ中にクラスターのノードが順次再起動され、クエリやデータロードの失敗が発生する可能性があります。そのため、ピーク時間外にスケールアップを行うことをお勧めします。
- クラスターがインスタンスストアボリュームをストレージとして使用している場合、スケールアップにかかる時間はクラスター内のデータ量に応じて異なります。
次の手順に従ってください。
-
CelerData Cloud BYOC コンソールにサインインします。
-
Clusters ページで、スケールしたいクラスターをクリックします。
-
クラスターの詳細ページで、Manage をクリックし、Edit cluster を選択します。
注記クラスターが Running 状態にある場合のみスケーリングできます。クラスターが Running 状態にない場合、Edit cluster メニュー項目は無効になります。
-
表示されるページで、Node type ドロップダウンリストからスケールしたいノードのタイプを選択し、Operation type ドロップダウンリストから Scale up/down を選択し、Node type に Compute Node を選択した場合はウェアハウスの名前を選択します。その後、スケールしたいインスタンスタイプを選択し、Subscribe をクリックします。
-
表示されるメッセージで、スケーリング設定を確認し、Subscribe をクリックします。
クラスターは Updating 状態に入ります。
CelerData は、新しいインスタンスタイプのインスタンスを起動し、元のインスタンスから新しいインスタンスにデータとワークロードを移行するために時間を要します。その間、料金は元のインスタンスタイプに基づいて計算されます。
スケーリング操作が完了すると、クラスターは Running 状態に戻ります。
水平スケーリング
スケールアウトまたはスケールインを行うには、以下の操作が可能です:
-
ウェアハウス内の Compute Node の数を編集します。
-
Coordinator Node の数は、1、3、5、6、7、8、9、10、または 11 にのみ設定できます。
注記Coordinator Node は、Leader、Follower、Observer として機能します。Leader Node はメタデータの読み取りと書き込みを行います。Follower Node はメタデータの読み取りのみを行い、Leader Node がクラッシュした場合に Leader 選出に参加します。Observer Node はメタデータの読み取りのみを行い、選出には参加しません。これらは、クラスターのクエリ同時実行数を増やすためにのみ使用されます。
3 つまたは 5 つの Coordinator Node をデプロイして、高可用性の Coordinator Node グループを構築し、サービスにおける単一障害点(SPOF)を防ぐことができます。グループ内のすべての Coordinator Node は Follower Node であり、そのうちの 1 つが Leader Node として選出されます。5 つの Follower Node を除き、クラスターに追加される Coordinator Node はすべて Observer Node となります。
高可用性ソリューションの詳細については、StarRocks のアーキテクチャをご覧ください。
次の手順に従ってください。
-
CelerData Cloud BYOC コンソールにサインインします。
-
Clusters ページで、スケールしたいクラスターをクリックします。
-
クラスターの詳細ページで、Manage をクリックし、Edit cluster を選択します。
注記クラスターが Running 状態にある場合のみスケーリングできます。クラスターが Running 状態にない場合、Edit cluster メニュー項目は無効になります。
-
表示されるページで、Node type ドロップダウンリストからスケールしたいノードのタイプを選択し、Operation type ドロップダウンリストから Scale in/out を選択し、Node type に Compute Node を選択した場合はウェアハウスの名前を選択します。その後、希望するノード数を指定し、Subscribe をクリックします。
-
表示されるメッセージで、スケーリング設定を確認し、Subscribe をクリックします。
クラスターは Updating 状態に入ります。
CelerData は、現在のインスタンスタイプのインスタンスを解放または起動するために時間を要します。その間、料金は元のノード数に基づいて計算されます。
スケーリング操作が完了すると、クラスターは Running 状態に戻ります。
注記クラスターに Multi-AZ Deployment が有効になっている場合、Compute Nodes は可能な限り均等に 3 つのアベイラビリティゾーンに分散されます。CelerData の Multi-AZ Deployment について詳しくは、Multi-AZ Deployments を参照してください。
ストレージスケーリング
手動スケーリング
Coordinator Nodes のみストレージをスケールできます。ディスクサイズに加えて、ディスクの IOPS とスループットを編集できます。
次の手順に従ってください。
-
CelerData Cloud BYOC コンソールにサインインします。
-
Clusters ページで、スケールしたいクラスターをクリックします。
-
クラスターの詳細ページで、Manage をクリックし、Edit cluster を選択します。
注記クラスターが Running 状態にある場合のみスケーリングできます。クラスターが Running 状態にない場合、Edit cluster メニュー項目は無効になります。
-
表示されるページで、Node type ドロップダウンリストから Coordinator Node を選択し、Operation type ドロップダウンリストから Edit storage を選択し、スケールしたいストレージの Disk IOPS、Disk throughput、および Disk size を指定し、Subscribe をクリックします。
注記- 各 Coordinator Node の最小ディスク IOPS は 3000 です。
- 各 Coordinator Node の最小ディスクスループットは 150 MB/s です。
- 各 Coordinator Node の最小ディスクサイズは 30 GB です。
-
表示されるメッセージで、スケーリング設定を確認し、Subscribe をクリックします。
クラスターは Updating 状態に入ります。
CelerData は、ストレージリソースを解放または起動するために時間を要します。その間、料金は元のストレージサイズに基づいて計算されます。
スケーリング操作が完了すると、クラスターは Running 状態に戻ります。
ストレージ自動スケーリング
ストレージの自動スケーリングはデフォルトで有効になっています。コーディネータノードに対するストレージ自動スケーリングポリシーを定義できます。CelerData はノードのストレージ使用量を監視し、ストレージ使用量が事前に定義されたしきい値に達したときに自動的にストレージをスケールアップします。
コーディネーターノードのストレージ自動スケーリングポリシーを定義するには、次の手順に従ってください:
-
CelerData Cloud BYOC コンソールにサインインします。
-
Clusters ページで、ストレージ自動スケーリングポリシーを設定したいクラスターをクリックします。
-
クラスターの詳細ページで、Resource Scheduling タブをクリックします。
-
Storage autoscaling policy セクションで、Edit をクリックします。
-
表示されるダイアログボックスで、次のようにストレージ自動スケーリングポリシーを設定します。
a. Coordinator Storage のスイッチをオンにして、ストレージ自動スケーリングを有効にします。
b. 自動スケーリング操作をトリガーするストレージ使用量のしきい値(パーセンテージ)を設定します。このしきい値は 80% から 90% の間で設定できます。ノードのストレージ使用量がこのしきい値に達し、5 分以上続いた場合、CelerData は次の手順で定義したステップサイズでストレージをスケールアップします。
c. 各自動スケーリング操作のステップサイズを設定します。固定サイズ(GB)またはパーセンテージでステップサイズを設定できます。たとえば、50 GB または 15%(元のストレージサイズの)です。
d. 各ノードの最大ストレージサイズを設定します。CelerData は、ストレージサイズがこのしきい値に達したときにスケールアップを停止します。
-
Submit をクリックしてポリシーを保存します。
- 現在、Azure ベースのクラスターではストレージの自動スケーリングはサポートされていません。
- AWS ベースのクラスターでは、2 回のスケーリング操作(手動スケーリングと自動スケーリングを含む)の間隔は最低 6 時間が必須です。GCP ベースのクラスターでは、間隔は 4 時間です。
- 各ストレージの最大サイズは、AWS ベースのクラスターでは 16TB、GCP ベースのクラスターでは 64TB です。
- コンピュートノードは自動スケーリングをサポートしていません。
コンピュートスケーリング
コンピュート自動スケーリング
各ウェアハウスの自動スケーリング戦略を定義して、Compute Nodes または Compute Node Groups の数を適応的に調整できるようにします。CelerData は、ウェアハウスの CPU 使用率またはクエリキューの長さをリアルタイムで評価し、作成したポリシーに基づいて Compute Nodes または Groups をスケールし、最低限のコストで安定した予測可能なパフォーマンスを維持するのに役立ちます。
- コンピュート自動スケーリングは、データベースカーネルバージョン v4.0 より前のバージョンで実行されるマルチ AZ デプロイメントクラスターでは利用できません。
- v4.0 以降では、マルチ AZ デプロイメントクラスターは Group Scaling 戦略を採用してコンピューティングリソースをスケーリングできます。
CelerData は 2 つのスケーリング戦略を提供します。
-
Node Scaling 戦略は、ノードの粒度でコンピュートリソースをスケールし、2 つのスケーリングポリシーを提供します - CPU utilization based ポリシーと Query queue based ポリシー。
- CPU utilization based ポリシーが有効になっている場合、システムはウェアハウスの CPU 使用率を評価します。ウェアハウスの CPU 使用率が事前に指定された上限を超え、事前に指定された時間の間続いた場合、追加の Compute Nodes がウェアハウスに追加されます。逆に、CPU 使用率が下限を下回り続いた場合、余分な Compute Nodes がウェアハウスから削除されます。
- Query queue based ポリシーが有効になっている場合、システムはウェアハウスのクエリキューの長さを評価します。ウェアハウスのクエリキューの長さが事前に指定された上限を超えるか、キュー内の最初のクエリが事前に指定された時間を超えて待機している場合、追加の Compute Nodes がウェアハウスに追加されます。逆に、ウェアハウスのリソース使用率が事前に指定された下限を下回り続いた場合、余分な Compute Nodes がウェアハウスから削除されます。
-
Group Scaling 戦略は、Compute Node グループの粒度でコンピュートリソースをスケールします。Compute Node グループは、ウェアハウス作成時に Compute Node count として定義された Compute Nodes のグループです。Group Scaling 戦略は Query queue based スケーリングポリシーのみを提供します。ウェアハウスのクエリキューの長さが事前に指定された上限を超えるか、キュー内の最初のクエリが事前に指定された時間を超えて待機している場合、追加の Compute Node グループがウェアハウスに追加されます。逆に、ウェアハウスのリソース使用率が事前に指定された下限を下回り続いた場合、Compute Node グループがウェアハウスから削除されます。
次の手順に従ってください。
-
CelerData Cloud BYOC コンソールにサインインします。
-
Clusters ページで、自動スケーリングを有効にしたいウェアハウスがあるエラスティッククラスターをクリックします。
-
クラスター詳細ページの Warehouses タブで、ウェアハウスのカードの右下隅にカーソルを移動して View more details ボタンを表示し、そのボタンをクリックします。
-
Resource Scheduling タブをクリックします。次に、Autoscaling Policy セクションで Edit をクリックします。
-
Edit autoscaling policy ダイアログボックスで、Autoscaling ドロップダウンリストから自動スケーリング戦略を選択します。Node Scaling または [Private Preview] Group Scaling を選択できます。
-
Node Scaling 戦略を選択した場合、Scaling range(ウェアハウス内の Compute Nodes の最小数と最大数)を指定し、次に Scaling policy を選択します。CPU utilization based または [Private Preview] Query queue based を選択できます。
-
CPU utilization based スケーリングポリシーを選択した場合、スケールアウトおよびスケールインポリシーを次のように設定します。
a. Scale out policy セクションで、CPU 使用率の上限、時間しきい値、および各ステップでスケールアウトする Compute Nodes の数を設定します。
b. Scale in policy セクションで、CPU 使用率の下限、時間しきい値、および各ステップでスケールインする Compute Nodes の数を設定します。
-
[Private Preview] Query queue based スケーリングポリシーを選択した場合、スケールアウトおよびスケールインポリシーを次のように設定します。
Private PreviewThis feature must be enabled by CelerData Support, please open a support case if you would like to use it.
a. Scale out policy セクションで、最大クエリキューの長さと、キュー内の最初のクエリの待機時間しきい値を設定します。
b. Scale in policy セクションで、リソース使用率の下限、時間しきい値、および各ステップでスケールインする Compute Nodes の数を設定します。
-
-
[Private Preview] Group Scaling 戦略を選択した場合、Scaling range(ウェアハウス内の Compute Node グループの最小数と最大数)を指定し、スケールアウトおよびスケールインポリシーを次のように設定します。
Private PreviewThis feature must be enabled by CelerData Support, please open a support case if you would like to use it.
a. Scale out policy セクションで、最大クエリキューの長さと、キュー内の最初のクエリの待機時間しきい値を設定します。
b. Scale in policy セクションで、リソース使用率の下限、時間しきい値、および各ステップでスケールインする Compute Node グループの数を設定します。
注記- 自動スケーリングポリシーは、ウェアハウスが稼働中のときのみ有効です。
- Node Scaling の場合、Scaling range の下限は
1、上限は100です。 - Group Scaling の場合、Scaling range の下限は
1、上限は Single-AZ Deployment で10、Multi-AZ Deployment で2と20です。 - スケールアウトポリシーは、現在の Compute Node または Compute Node Group の数が定義した Scaling range の上限より少ない場合にのみ有効です。
- スケールインポリシーは、現在の Compute Node または Compute Node Group の数が定義した Scaling range の下限より多い場合にのみ有効です。
- スケールアウトポリシーの CPU 使用率の上限は、スケールインポリシーの下限より大きくなければなりません。
- クラスターのパフォーマンスの大きな変動を避けるために、各ステップで最大 2 つの Compute Nodes または Compute Node Groups をスケールインできます。
- ウェアハウスのクエリキューと Compute Node Groups の監視メトリクスについては、Metrics for warehouse query queue および Metrics for warehouse CN Group を参照してください。
-
-
Save changes をクリックしてポリシーを保存します。
コンピュートスケジュールスケーリング
各ウェアハウスのコンピュートリソースに対してスケジュールスケーリングポリシーを定義できます。
次の手順に従ってください。
-
CelerData Cloud BYOC コンソール にサインインします。
-
Clusters ページで、自動スケーリングを有効にしたいウェアハウスがあるエラスティッククラスターをクリックします。
-
クラスター詳細ページの Warehouses タブで、ウェアハウスのカードの右下隅にカーソルを移動して View more details ボタンを表示し、そのボタンをクリックします。
-
Resource Scheduling タブをクリックします。次に、Scheduled Scaling Policy セクションで Create をクリックします。
-
Scheduled Scaling Policy ダイアログボックスで、次のようにスケジュールスケーリングポリシーを設定します。
a. Policy name フィールドに、作成したいポリシーの名前を入力します。
b. Policy description フィールドに、ポリシーの説明をオプションで追加します。
c. Time zone ドロップダウンリストで、ポリシーのタイムゾーンを選択します。この設定はポリシーの有効時間にのみ影響します。
d. Policy enabled スイッチをオンにしておきます。
e. Warehouse size フィールドにスケールする Compute Node の数を指定します。
注記- Warehouse size 範囲の下限は 1 です。
- Warehouse size 範囲の上限は 100 です。
f. Schedule type ドロップダウンリストで、ポリシーの繰り返しタイプを選択します。One-time、Daily、Weekly、または Monthly を選択できます。
- One-time を選択した場合、Select the date フィールドでスケジュールの有効日を選択する必要があります。
- Weekly を選択した場合、Days of week フィールドでスケジュールの曜日を選択する必要があります。
- Monthly を選択した場合、Days of month フィールドでスケジュールの月の日を選択する必要があります。
g. Start time および End time フィールドで、ポリシーの有効時間範囲を指定できます。
-
Save changes をクリックしてポリシーを作成します。
- クラスタ内の異なるポリシー間で有効期間が重複することは不可です。
- スケジュールスケーリングポリシーは、クラスタが Running 状態にある場合にのみ有効です。クラスタが停止状態(自動または手動)の場合、ポリシーは適用されません。クラスタが再開されると、ポリシーは次の開始時刻に適用されます。