Autoscaling

自動スケーリングでは、現在のワークロードの需要に応じて、Lakebase コンピューティングに割り当てられるコンピューティング リソースの量が動的に調整されます。 アプリケーションで 1 日を通してさまざまなレベルのアクティビティが発生する場合、自動スケーリングでは、ピーク時にコンピューティング容量が自動的に増加し、より静かな期間中にコンピューティング容量が減り、手動による介入が不要になります。

この視覚化は、一般的な 1 日を通して自動スケールがどのように機能するかを示しています。コンピューティング リソースは需要に基づいてスケールアップまたはスケールダウンされ、ピーク外の時間帯にリソースを節約しながら、必要なリソースがデータベースに確実に含まれるようにします。

オートスケーリングの視覚化

自動スケールは、ユーザー定義の範囲内で動作します。 たとえば、コンピューティングを 2 から 8 コンピューティング ユニット (CU) の間でスケーリングするように設定し、各 CU で 2 GB の RAM を提供できます。 コンピューティングは、ワークロードに基づいてこれらの制限内で自動的に調整され、需要に関係なく最小値を下回ったり最大値を超えたりすることはありません。 自動スケールは、最大 64 CU (128 GB) のコンピューティングで使用できます。

自動スケーリングのしくみ

リソースの自動調整

自動スケーリングを有効にし、最小コンピューティング サイズと最大コンピューティング サイズを設定すると、Lakebase はワークロードを継続的に監視し、リソースを自動的に調整します。 システムは、スケーリングの決定を行うために 3 つの主要なメトリックを追跡します。

  • CPU 負荷: プロセッサ使用率を監視して、データベースに十分な処理能力があることを確認します。
  • メモリ使用量: メモリの制約を防ぐために RAM の消費量を追跡します。
  • ワーキング セットのサイズ: キャッシュのパフォーマンスを最適化するために、頻繁にアクセスされるデータを見積もります。

これらのメトリックに基づいて、Lakebase は需要が増加したときにコンピューティングをスケールアップし、アクティビティが減少したときにスケールダウンします。これらはすべて、構成された範囲内に留まります。

スケーリングによる境界の拡大

スケーリング範囲を定義する場合は、最小コンピューティング サイズと最大コンピューティング サイズを設定します。 この範囲は次の機能を提供します。

  • パフォーマンスの保証: 最小値を指定すると、アクティビティが少ない場合でもベースラインのパフォーマンスが保証されます。
  • コスト管理: 最大値を指定すると、無制限のリソース消費とコストが防止されます。
  • 自動最適化: これらの境界内では、Lakebase はすべてのスケーリングの決定を処理します。

最大値と最小値の差は 16 CU (つまり、 max - min ≤ 16 CU) を超えることはできません。

ダウンタイムや手動介入なし

構成した範囲内の自動スケール調整は、コンピューティングの再起動や接続の中断を必要とせずに行われます。 ただし、CU の最小構成または最大構成を変更すると、アクティブな接続が短時間中断される可能性があります。 構成後、システムは自律的に動作するため、インフラストラクチャ管理ではなくアプリケーションに集中できます。

自動スケールの利点

コスト効率: 実際に使用するコンピューティング リソースに対してのみ課金されます。 ピーク外の時間帯は、コンピューティングがスケールダウンされ、コストが削減されます。 ピーク期間中は、パフォーマンスを維持するためにスケールアップします。

パフォーマンスの最適化: ワークロードが増加すると、データベースは自動的に追加のリソースを受け取り、トラフィックの急増や集中的な操作中のパフォーマンスの低下を防ぎます。

予測可能なコスト: 最大コンピューティング サイズを設定することで、コンピューティング コストの上限を制御し、リソースの暴走による予期しない費用を防ぎます。

簡略化された操作: 自動スケーリングにより、ワークロード パターンを手動で監視し、コンピューティング サイズを調整する必要がなくなり、運用オーバーヘッドと人的エラーのリスクが軽減されます。

オートスケーリングの設定

自動スケールを構成するには、最小と最大のコンピューティング サイズを設定します。 自動スケールは、最大 64 CU (128 GB) のコンピューティングで使用できます。 64 CU を超える CU を必要とするワークロードでは、より大きな固定サイズのコンピューティングを使用できます。

自動スケールの有効化と構成の詳細な手順については、「コンピューティングの 管理」を参照してください。

一般的な自動スケール シナリオ

エージェントとアプリケーションのワークロード

Databricks 上に構築されたエージェントと対話型アプリケーションでは、多くの場合、可変の要求パターンが発生します。 自動スケーリングにより、アクティブなユーザー セッション中のトラフィックの急増をデータベースで確実に処理しながら、静かな期間中のコストを削減できます。

Lakebase と Databricks AI およびアプリケーション サービスの接続の詳細については、 Databricks の統合に関するページを参照してください。

開発環境とテスト環境

スキーマの変更をテストしたり、データ パイプラインを検証したりするための開発ブランチでは、通常、断続的なアクティビティが表示されます。 自動スケールを使用すると、アイドル期間中のリソースが最小限に抑えられます。同時に、アクティブな開発時に適切なパフォーマンスが確保されます。

顧客向けのダッシュボードとアプリケーション

エンド ユーザーに分析または運用上の分析情報を提供するアプリケーションには、多くの場合、時間帯の使用パターンがあります。 自動スケールでは、1 日を通してユーザーのアクティビティに合わせてリソースが自動的に調整されます。

自動スケーリングとゼロへのスケーリング

自動スケーリングは、スケールをゼロにする機能と組み合わせて動作します。 自動スケールではワークロードの需要に基づいてリソースが調整されますが、ゼロにスケーリングすると、非アクティブな期間が経過するとコンピューティングが完全に中断され、アイドル期間中のコンピューティング コストがゼロに減ります。

両方の機能を構成する場合:

  1. アクティブ期間: 自動スケールでは、定義された範囲内のワークロードに基づいてコンピューティング サイズが調整されます。
  2. 非アクティブな期間: スケールからゼロへのタイムアウトの後、コンピューティングは完全に中断されます。
  3. 再開されたアクティビティ: 新しいクエリが到着すると、コンピューティングは最小自動スケール サイズで再起動されます。

この組み合わせにより、特にアイドル期間が長い開発、テスト、またはステージング環境のコスト効率が最大化されます。

自動スケールと高可用性

自動スケールは、 高可用性エンドポイントでサポートされています。 CU サイズの調整は、高可用性構成内のすべてのコンピューティングに均一に適用されます。構成する自動スケール範囲は、プライマリとすべてのセカンダリに一緒に適用されます。

自動スケールを高可用性と組み合わせる場合は、次の 2 つの制約が適用されます。

  • セカンダリは、プライマリの現在の CU サイズを下回ってスケーリングすることはできません。 これにより、昇格後にパフォーマンスのギャップなしにセカンダリが常にプライマリとして引き継ぐ準備が整います。
  • 高可用性構成のコンピューティングでは、ゼロにスケーリングすることはできません。 非アクティブ時のコストを削減するには、HA 以外のブランチでスケールをゼロにすることを検討してください。

その他のリソース