共用方式為


設定高可用性

本頁說明如何透過啟用可讀取的次要執行個體來設定 Lakebase 資料庫執行個體以達到高可用性。

這很重要

這項功能在下列區域中處於公開預覽狀態:westus、、westus2eastuseastus2centralussouthcentralusnortheuropewesteuropeaustraliaeastbrazilsouthcanadacentralcentralindia、、 southeastasiauksouth

若要啟用高可用性,請將其他節點指定為資料庫執行個體的一部分。 如果主要計算狀況不良或無法使用,則會使用高可用性節點來執行容錯移轉,並將次要節點升級為主要節點。

您也可以啟用可讀取的次要資料庫,其中高可用性節點可以使用個別的 DNS 端點 (instance-ro-{uuid}instance-{uuid}相比) 來提供唯讀工作負載。

啟用資料庫執行個體以實現高可用性

如果您將高可用性節點數目設定為 1,則會停用高可用性和可讀取的次要節點。 否則,您有一個主要節點,其餘節點都是高可用性節點。 每個資料庫執行個體的高可用性節點數目上限為三個。

在建立資料庫實例時指定高可用性節點的數目。 請參閱 建立資料庫實例

執行下列步驟,以使用 UI 或 API 修改資料庫執行個體。

UI

  1. 在工作區側邊欄中按下 [計算]
  2. 依序點擊資料庫實例索引標籤。
  3. 選取您要更新的資料庫實例。
  4. 按兩下右上角的 [編輯 ]。
  5. 輸入 HA 集區節點大小 (包括主要) 的值。
  6. 開啟 [啟用可讀取的次要資料庫]。
  7. 點選 [儲存]。

curl (Unix指令)

curl -s -X PATCH --header "Authorization: Bearer ${DATABRICKS_TOKEN}" $DBR_URL/database/instances/my-instance -d '{ “node_count”: 3, “enable_readable_secondaries” : true}'

Python SDK

from databricks.sdk import WorkspaceClient
from databricks.sdk.service.database import DatabaseInstance

# Initialize the Workspace client
w = WorkspaceClient()

# Create a database instance with high availability
instance = w.database.create_database_instance(
    DatabaseInstance(
        name="my-database-instance",
        capacity="CU_1",
        node_count=3,  # Set the number of high availability nodes (including primary)
    )
)

print(f"Created database instance: {instance.name}")
print(f"Connection endpoint: {instance.read_write_dns}")

CLI

# Create a database instance
databricks database create-database-instance my-database-instance \
  --capacity CU_1 \
  --node-count 3

計算復原能力

設定高可用性節點後,資料庫執行個體的主要節點會受到高可用性的保護。 如果主要節點無法使用,資料庫執行個體會自動轉移到次要節點,並將其升為新的主要節點。 由於計算節點是無狀態的,因此失敗不會影響您的資料,而且您的連接字串會保持不變。 無法使用會在幾秒鐘到幾分鐘內解決,具體取決於故障類型。 在故障轉移期間,主動連線會被中斷,因此你的應用程式應該設定能處理這些短暫斷線並自動重新連接。

當發生問題時,資料庫執行個體中的次要節點也會在幾分鐘內自動復原。 如果您啟用可讀備援,Databricks 建議您至少有三個高可用性節點,以防止主節點故障轉移影響唯讀連線。 您的應用程式仍然需要重新連線機制來處理短暫的停機時間。

從Azure Databricks SQL Editor執行只讀查詢

若要連接可讀的次要檔案並從 Azure Databricks SQL 編輯器執行唯讀查詢,請參考從 SQL 編輯器存取資料庫實例

局限性

  • 效能需要時間才能恢復。 查詢一開始可能會較慢,直到重建後才會被重建,因為新的主節點沒有特定會話資料,且有一個常用資料的本地快取。
  • 不支援跨區域複寫。 如果發生全區域中斷,可用性取決於雲端供應商將服務還原至受影響的區域。