データベースインスタンスを高可用性のために構成し、読み取り可能なセカンダリインスタンスを有効にします
プレビュー
この機能は、us-east-1
、us-west-2
、eu-west-1
、ap-southeast-1
、ap-southeast-2
、eu-central-1
、us-east-2
、ap-south-1
の各地域でパブリック プレビュー段階です。
このページでは、Lakebaseデータベースインスタンスを高可用性のために構成する方法と、関連する利点の概要を説明します。
高可用性を有効にするには、データベース・インスタンスの一部として追加のノードを指定します。プライマリ コンピュートが異常になったり、使用できなくなったりすると、高可用性ノードを使用してフェールオーバーが実行され、セカンダリ ノードがプライマリに昇格されます。
また、読み取り可能なセカンダリを有効にして、高可用性ノードが別の DNS エンドポイント (instance-{uuid}
と比較してinstance-ro-{uuid}
) を使用して読み取り専用ワークロードを処理できるようにすることもできます。
高可用性のためのデータベース・インスタンスの有効化
高可用性ノードの数を 1 に設定すると、高可用性と読み取り可能なセカンダリは無効になります。それ以外の場合は、1 つのプライマリ ノードがあり、残りは高可用性ノードです。高可用性ノードの最大数は、データベース・インスタンスごとに 3 つです。
データベース・インスタンスの作成時に、高可用性ノードの数を指定します。データベース・インスタンスの作成を参照してください。
UI または API を使用してデータベースインスタンスを変更するには、次の手順を実行します。
- UI
- curl
- ワークスペースのサイドバーで「 コンピュート 」をクリックします。
- データベース・インスタンス タブをクリックします。
- 更新するデータベース・インスタンスを選択します。
- 右上隅の 編集 をクリックします。
- HA プールノードサイズ (プライマリを含む) の値を入力します。
- 読み取り可能なセカンダリを有効にする をオンにします。
- 保存 をクリックします。
curl -s -X PATCH --header "Authorization: Bearer ${DATABRICKS_TOKEN}" $DBR_URL/database/instances/my-instance -d '{ “node_count”: 3, “enable_readable_secondaries” : true}'
コンピュートの回復力
高可用性ノードを構成すると、データベース・インスタンスのプライマリ・ノードは高可用性によって保護されます。プライマリノードが使用できなくなった場合、データベースインスタンスは自動的にセカンダリノードにフェイルオーバーし、新しいプライマリノードとして昇格します。コンピュート ノードはステートレスであるため、障害がデータに影響を与えることはなく、接続文字列は変更されません。 使用不可は、障害の種類に応じて、数秒から数分で解決されます。ただし、アプリケーションは、短時間の切断を処理し、自動的に再接続するように構成する必要があります。
データベースインスタンス内のセカンダリノードも、問題が発生したときに数分で自動リカバリされます。読み取り可能なセカンダリを有効にする場合、Databricks では、プライマリ フェールオーバーが読み取り専用接続に影響を与える場合に備えて、少なくとも 3 つの高可用性ノードを用意することをお勧めします。アプリケーションには、短時間のダウンタイムを処理するための再接続メカニズムがまだ必要です。
制限
パフォーマンスの回復には時間がかかります。クエリは、新しいプライマリノードにはセッション固有のデータがなく、頻繁にアクセスされるデータのローカルキャッシュがないため、最初は再構築されるまで実行速度が遅くなる可能性があります。
- リージョン間レプリケーションはサポートされていません。リージョン全体で障害が発生した場合、可用性は、影響を受けるリージョンにサービスを復元するクラウド プロバイダーによって異なります。