다음을 통해 공유


고가용성 구성

이 페이지에서는 읽기 가능한 보조 인스턴스를 사용하도록 설정하여 고가용성을 위해 Lakebase 데이터베이스 인스턴스를 구성하는 방법을 설명합니다.

중요합니다

이 기능은 다음 지역의 공개 미리 보기에 있습니다. westuswestus2eastuseastus2centralussouthcentralusnortheuropewesteuropeaustraliaeastbrazilsouthcanadacentralcentralindiasoutheastasiauksouth

고가용성을 사용하도록 설정하려면 데이터베이스 인스턴스의 일부로 추가 노드를 지정합니다. 주 컴퓨팅이 비정상 상태가 되거나 사용할 수 없게 되면 고가용성 노드를 사용하여 장애 조치(failover)를 수행하고 보조 노드는 주 노드로 승격됩니다.

읽기 가능한 보조 노드를 활성화하여 고가용성 노드가 별도의 DNS 엔드포인트(instance-ro-{uuid} 비교 instance-{uuid})를 사용해 읽기 전용 워크로드를 처리할 수 있도록 설정할 수도 있습니다.

고가용성을 위해 데이터베이스 인스턴스 사용

고가용성 노드 수를 1로 설정하면 고가용성 및 읽기 가능한 보조 노드가 비활성화됩니다. 그렇지 않으면 주 노드가 하나 있고 나머지는 고가용성 노드입니다. 최대 고가용성 노드 수는 데이터베이스 인스턴스당 3개입니다.

데이터베이스 인스턴스를 만들 때 고가용성 노드 수를 지정합니다. 데이터베이스 인스턴스 만들기를 참조하세요.

UI 또는 API를 사용하여 데이터베이스 인스턴스를 수정하려면 다음 단계를 수행합니다.

사용자 인터페이스 (UI)

  1. 작업 영역 사이드바에서 컴퓨팅을 클릭합니다.
  2. 데이터베이스 인스턴스 탭을 클릭합니다.
  3. 업데이트하려는 데이터베이스 인스턴스를 선택합니다.
  4. 오른쪽 위 모서리에서 편집 을 클릭합니다.
  5. HA 풀 노드 크기(기본 포함)에 대한 값을 입력합니다.
  6. 읽기 가능한 보조 복제본을 사용하도록 설정합니다.
  7. 저장을 클릭합니다.

curl

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

컴퓨팅 복원력

고가용성 노드를 구성하면 데이터베이스 인스턴스의 주 노드가 고가용성으로 보호됩니다. 주 노드를 사용할 수 없게 되면 데이터베이스 인스턴스가 자동으로 보조 노드로 장애 조치되어 새 주 노드로 승격됩니다. 컴퓨팅 노드는 상태 비 상태이므로 오류는 데이터에 영향을 주지 않으며 연결 문자열은 변경되지 않습니다. 사용 불가는 실패 유형에 따라 몇 초에서 몇 분 안에 해결됩니다. 장애 조치(failover) 중에 활성 연결이 끊어지므로 이러한 짧은 연결 끊김을 처리하고 자동으로 다시 연결하도록 애플리케이션을 구성해야 합니다.

데이터베이스 인스턴스의 보조 노드도 문제가 발생할 때 몇 분 안에 자동으로 복구됩니다. 읽기 가능한 보조를 사용하도록 설정하는 경우, 주 장애 조치가 읽기 전용 연결에 영향을 미칠 수 있는 경우를 대비해 Databricks는 최소 세 개 이상의 고가용성 노드를 사용할 것을 권장합니다. 애플리케이션은 여전히 짧은 가동 중지 시간을 처리하기 위해 다시 연결 메커니즘이 필요합니다.

Azure Databricks SQL 편집기에서 읽기 전용 쿼리 실행

읽을 수 있는 보조 데이터베이스에 연결하고 Azure Databricks SQL 편집기에서 읽기 전용 쿼리를 실행하려면 SQL 편집기에서 데이터베이스 인스턴스 액세스를 참조하세요.

제한점

  • 성능은 복구하는 데 시간이 걸립니다. 새 주 노드에는 세션별 데이터와 자주 액세스하는 데이터에 대한 로컬 캐시가 없기 때문에 쿼리가 다시 작성될 때까지 쿼리가 더 느리게 실행될 수 있습니다.
  • 지역 간 복제는 지원되지 않습니다. 지역 전체 가동 중단 시 가용성은 영향을 받는 지역에 서비스를 복원하는 클라우드 공급자에 따라 달라집니다.