メインコンテンツまでスキップ

高可用性のための構成

このページでは、読み取り可能なセカンダリインスタンスを有効にして、高可用性のために Lakebase データベースインスタンスを構成する方法について説明します。

備考

プレビュー

この機能は、us-east-1us-west-2eu-west-1ap-southeast-1ap-southeast-2eu-central-1us-east-2ap-south-1のリージョンでパブリック プレビューとして提供されています。

Lakebase プロビジョニングは、手動でスケールするプロビジョニング コンピュートを使用します。 新しいLakebase オートスケールとの機能の比較については、 「バージョンの選択」を参照してください。

高可用性を有効にするには、データベース・インスタンスの一部として追加のノードを指定します。プライマリコンピュートが異常または使用不可になった場合、高可用性ノードを使用してフェイルオーバーを実行し、セカンダリノードがプライマリに昇格されます。

また、高可用性ノードが別の DNS エンドポイント (instance-{uuid}と比較してinstance-ro-{uuid}) を使用して読み取り専用ワークロードを処理できる読み取り可能なセカンダリを有効にすることもできます。

高可用性のためにデータベース インスタンスを有効にする

高可用性ノードの数を 1 に設定すると、高可用性と読み取り可能なセカンダリは無効になります。それ以外の場合は、1 つのプライマリ ノードがあり、残りは高可用性ノードです。高可用性ノードの最大数は、データベース・インスタンスごとに 3 つです。

データベース・インスタンスの作成時に、高可用性ノードの数を指定します。データベース ・インスタンスの作成を参照してください。

UI または APIを使用してデータベースインスタンスを変更するには、次の手順を実行します。

  1. クリックアプリアイコン。右上隅の アプリを クリックし、 Lakebase Postgres を選択します。
  2. [プロビジョニング済み] をクリックして、 [プロビジョニング済みインスタンス] ページを開きます。
  3. 更新するデータベース・インスタンスを選択します。
  4. 右上隅の 編集 をクリックします。
  5. [Advced 設定] ドロップダウンで、 [HA を有効にする] [HA プール ノード サイズ (プライマリを含む)] を選択します。
  6. 「読み取り可能なセカンダリを許可する」 を選択し、 HA ノード の数を選択します。
  7. 保存 をクリックします。

コンピュートの回復力

高可用性ノードを構成すると、データベース インスタンスのプライマリ ノードは高可用性によって保護されます。プライマリ ノードが使用できなくなった場合、データベース インスタンスは自動的にそれをセカンダリ ノードにフェールオーバーし、それを新しいプライマリ ノードとして昇格します。コンピュート ノードはステートレスであるため、障害はデータに影響せず、接続文字列は変更されません。 障害の種類に応じて、使用不可状態は数秒から数分で解決されます。フェイルオーバー中はアクティブな接続が切断されるため、アプリケーションはこれらの短時間の切断を処理して自動的に再接続するように構成する必要があります。

データベースインスタンス内のセカンダリノードも、問題が発生すると数分で自動復旧されます。読み取り可能なセカンダリを有効にする場合、プライマリ フェールオーバーが読み取り専用接続に影響を与える場合に備えて、Databricks では、少なくとも 3 つの高可用性ノードを使用することをお勧めします。アプリケーションには、短いダウンタイムを処理するための再接続メカニズムが必要です。

Databricks SQL エディターから読み取り専用クエリを実行する

読み取り可能なセカンダリに接続し、Databricks SQL エディターから読み取り専用クエリを実行するには、 「SQL エディターからデータベース インスタンスにアクセスする」を参照してください。

制限

  • パフォーマンスの回復には時間がかかります。新しいプライマリ ノードにはセッション固有のデータがなく、頻繁にアクセスされるデータ用のローカル キャッシュがあるため、クエリは再構築されるまで最初は実行速度が遅くなる可能性があります。
  • リージョン間のレプリケーションはサポートされていません。リージョン全体の停止が発生した場合、可用性は、影響を受けるリージョンにサービスを復元するクラウド プロバイダーによって異なります。