ゼロにスケーリングする

ゼロにスケーリングすると、非アクティブな期間が経過した後に Lakebase コンピューティングが自動的に中断され、継続的にアクティブではないデータベースのコストが最小限に抑えられます。 この機能は、開発、テスト、ステージング環境、および予測可能なアイドル期間を持つ運用データベースに特に価値があります。

ゼロにスケーリングが有効な場合:

  • 非アクティブな期間が経過すると、コンピューティングは自動的に中断されます。 非アクティブ タイムアウトの既定値は 24 時間で、60 秒から 7 日の間で設定できます
  • 支払いはアクティブなコンピューティング時間に対してのみ行い、アイドル期間には課金されません。
  • 新しいクエリを実行すると、数百ミリ秒以内にコンピューティングが自動的に再アクティブ化されます

この図は、自動スケールと共に 0 にスケーリングする動作を示しています。非アクティブな期間の後に、データベースが再びアクセスされるまでの自動中断が示されています。

視覚化をゼロにスケーリングする

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

ゼロへのスケールのしくみ

自動サスペンション

構成されたタイムアウト期間にコンピューティングがアイドル状態 (クエリまたは接続を受信しない) 場合、Lakebase によって自動的に中断されます。 中断中:

  • コンピューティングはリソースを消費せず、コンピューティング コストも発生しません
  • データは安全に保存され、使用できます
  • 接続文字列と資格情報は引き続き有効です
  • コンピューティング エンドポイントは引き続きアクセス可能ですが、非アクティブです

自動再活性化

新しいクエリまたは接続要求が中断されたコンピューティングに到着すると、Lakebase によって自動的に再アクティブ化されます。 再アクティブ化プロセス:

  • 手動による介入は必要ありません
  • アクティブになった後に接続要求を透過的に処理する
  • コンピューティングを構成済みの最小サイズに復元します (自動スケールが有効になっている場合)

アプリケーションでは、簡単な再アクティブ化期間を適切に処理するための接続再試行ロジックを実装する必要があります。

タイムアウト構成

スケール・トゥ・ゼロのタイムアウトを構成して、アイドル状態になった後にコンピュートがどれだけ早く中断されるかをコントロールします。 60 秒 (1 分) から 7 日の間で設定できます。 タイムアウトによって、次の間のバランスが決まります。

  • 短いタイムアウト (分単位) : 中断時間を短縮するとコストは削減されますが、断続的なワークロードの再アクティブ化の頻度が高くなる可能性があります
  • タイムアウト時間が長くなる (数時間から数日): 再アクティブ化が少ないほど、散発的なアクティビティのユーザー エクスペリエンスが向上します。 既定の 24 時間タイムアウトは、ほとんどの運用データベースに適しています。 アイドルストレッチ中にコンピューティングを長時間アクティブにしたい場合は、ウィンドウを最大 7 日間まで拡張できます。

ゼロまでスケールダウンするメリット

  • コスト削減: 非アクティブなコンピューティングを中断すると、実際の使用時間に対してのみ課金されます。 開発データベースでは、1 日あたり 8 時間を使用すると、常にアクティブなコンピューティングの 3 分の 1 のコストがかかります。
  • 柔軟なデプロイ: ゼロにスケーリングすると、複数の環境のコスト効率の高いデプロイが可能になります。 24 時間 365 日のコンピューティング コストを発生させずに、個別の開発、テスト、ステージング、プレビュー環境を維持できます。
  • 手動管理なし: システムは中断と再アクティブ化を自動的に処理するため、使用パターンに基づいてコンピューティングを手動で開始および停止する必要がなくなります。
  • 保持される構成: 一時停止中も、すべてのコンピューティング設定、接続の詳細、およびデータベース構成はそのまま残ります。 コンピューティングが再アクティブ化されると、同じ構成で再開されます。

スケールをゼロに構成する

任意のコンピューティングに対して 0 にスケーリングをオンまたはオフにすることができます。 オンにすると、中断をトリガーする非アクティブ タイムアウトを構成します。 既定値は 24 時間で、使用できる範囲は 60 秒から 7 日間です。

既定の 24 時間タイムアウトは、ほとんどのデータベースに適しています。これにより、再アクティブ化の頻度を低くしながら、長時間のアイドル期間中のコストが削減されます。 ワークロードでスタートアップ待機時間なしで継続的な可用性が必要な場合は、そのコンピューティングのスケールをゼロにオフにします。 開発ブランチでは、30 分などのタイムアウトが短いほど、コストがさらに削減されます。

ゼロへのスケール設定を構成する方法の詳細については、「 コンピューティングの管理」を参照してください。

ゼロにスケーリングする一般的なシナリオ

開発環境とテスト環境

スキーマの変更のテスト、データ パイプラインの検証、新機能の実験のための開発ブランチでは、通常、断続的なアクティビティが表示されます。 ゼロにスケーリングすると、夜間、週末、および作業セッション間にこれらのコンピューティングが自動的に中断され、コストが大幅に削減されます。

ステージング環境とプレビュー環境

プル要求用に作成されたデプロイ前の検証またはプレビュー環境に使用されるステージング環境は、多くの場合、テスト サイクル間でアイドル状態のままです。 0 にスケーリングすると、これらの環境はアクティブなテスト期間中にのみリソースを消費します。

アイドル期間がある AI エージェントとアプリケーション

特定の営業時間を提供したり、予測可能なダウンタイム パターンを持つ AI エージェント、チャットボット、または内部ツールは、スケーリングからゼロへのメリットを得ることができます。 コンピューティングは、時間外に中断され、ユーザーが戻ったときに自動的に再アクティブ化されます。

マルチテナント アプリケーション データベース

複数の顧客にサービスを提供するアプリケーションは、テナント固有のデータベースに対してスケールをゼロに使用できます。 非アクティブなテナントのコンピューティングは自動的に中断され、すべてのテナントの集計コンピューティング コストが削減されます。

重要な考慮事項

セッション コンテキストのリセット

コンピューティングが中断され、後で再アクティブ化されると、セッション コンテキストがリセットされます。 これには次のものが含まれます。

  • メモリ内の統計情報とキャッシュの内容
  • 一時テーブルと準備されたステートメント
  • セッション固有の構成設定
  • 接続プールとアクティブなトランザクション

アプリケーションで永続的なセッション データが必要な場合は、継続的なコンピューティングの可用性を維持するために、スケールをゼロにオフにすることを検討してください。

スタートアップの待機時間

短時間の再アクティブ化期間 (通常は数百ミリ秒) は、中断後の最初のクエリのユーザー エクスペリエンスに影響する可能性があります。 すぐに応答時間が必要なアプリケーションの場合は、次のことができます。

  • 常時利用可能なコンピュートのゼロスケーリングを無効にする
  • アプリケーション レベルの接続ウォーミングを実装する
  • タイムアウト期間を長くして再アクティブ化の頻度を減らす

プロダクションブランチの動作

プロジェクトを作成すると、 production ブランチが作成され、既定ではスケールがゼロに設定され、24 時間の非アクティブ タイムアウトが発生します。 ワークロードで継続的な可用性が必要な場合は、タイムアウトを調整するか、運用ブランチのスケールをゼロにオフにすることができます。

ゼロにスケーリングし、自動スケールする

ゼロにスケーリングすると 、自動スケールが 補完され、パフォーマンスとコストの両方が最適化されます。

  • アクティブな期間中: 自動スケーリングでは、構成した範囲内のワークロードの需要に基づいてコンピューティング サイズが調整され、高いアクティビティ中はスケールアップされ、負荷が軽い場合はスケールダウンされます。
  • 非アクティブな期間中: スケールからゼロへのタイムアウトの後、コンピューティングは完全に中断され、構成されている自動スケール範囲に関係なく、コンピューティング コストはゼロに低下します。
  • 再アクティブ化された場合: コンピューティングは最小自動スケール サイズ (自動スケールが有効な場合) で再起動し、自動スケールは新しいワークロードに基づいてリソースを調整します。

この組み合わせにより、効率が最大化されます。自動スケーリングではアクティビティ中のリソース使用量が最適化され、ゼロにスケーリングすると、非アクティブ時のコストが削減されます。

次のステップ

  • ゼロへのスケール設定を構成する: コンピューティングのスケールを 0 に対して有効、調整、またはオフにする方法について説明します。 「 ゼロにスケーリングする」を参照してください。
  • コンピューティング メトリックの表示: メトリックが非アクティブなコンピューティング期間とスケールからゼロへの動作を反映する方法を確認します。 メトリック ダッシュボードを参照してください。
  • 自動スケール: アクティブな期間中にコンピューティングによってリソースがどのように調整されるかを理解します。 自動スケールを参照してください。
  • データベース ブランチ: 開発とテスト用に分離されたデータベース環境を作成します。 ブランチを参照してください。