작업 공간 복제

중요

  • 사용자가 소유한 작업 공간에서 복제를 지원하려면 Business Critical(BC) 이상 버전이어야 합니다.

  • 장애 조치 및 장애 복구에는 Business Critical Edition 이상이 필요합니다. 업그레이드에 대해 문의하려면 :doc:`Snowflake 지원</user-guide/contacting-support>`에 문의하세요.

복제는 재해, 중단 또는 사용 불가 상황에서도 계정 전체에서 작업 공간과 기타 중요한 오브젝트를 사용할 수 있도록 하여 비즈니스 연속성을 보장하는 데 도움이 됩니다. 관리자는 복제 그룹을 구성하여 정의된 일정에 따라 기본 계정에서 하나 이상의 보조 계정으로 계정 오브젝트 및 데이터베이스를 복사합니다.

작업 공간 복제 작동 방식

공유 작업 공간은 복제 또는 장애 조치 그룹의 일부인 데이터베이스에 포함될 때 복제됩니다. 비공개 작업 공간은 소유 사용자가 복제될 때 복제됩니다. 보조(대상) 계정에서 복제된 콘텐츠는 읽기 전용이며, 작업 공간 파일은 실행 가능하지만 편집할 수는 없습니다. 새 쿼리를 만들고 실행하려면 보조 계정에서 원래 워크시트 인터페이스를 사용합니다.

데이터베이스 복제는 고가용성을 지원하기 위해 장애 조치 그룹으로 구성할 수 있습니다. 보조 장애 조치 그룹이 기본으로 승격되면 노트북을 포함하여 포함된 모든 오브젝트가 새 기본 계정에서 쓰기 가능 상태가 됩니다.

자세한 내용은 여러 계정에 걸쳐 복제 및 장애 조치 도입 섹션을 참조하십시오.

LOCAL 작업 공간

LOCAL 작업 공간은 작업 공간 복제에 참여하지 않습니다. 작업 공간 파일은 현재 배포 내에 유지되며 다른 배포에 복사되거나 다른 배포와 동기화되지 않습니다.

작업 공간 복제가 활성화되면 보조 배포에 이미 존재하는 모든 기존 작업 공간과 파일이 자동으로 LOCAL로 지정됩니다. 이를 통해 사용자는 복제가 활성화될 때 손실되지 않고 보조 배포에서 기존 작업 공간 데이터에 대한 액세스 권한을 유지할 수 있습니다.

작업 공간 복제 설정하기

작업 공간을 복제하려면 다음 설정 작업을 순서대로 완료해야 합니다.

1단계: 계정에 대한 복제 활성화

ORGADMIN 역할이 있는 사용자는 조직의 각 원본 및 대상 계정에 대해 복제를 활성화해야 합니다.

USE ROLE ORGADMIN;
SELECT SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER(
    '<organization_name>.<account_name>',
    'ENABLE_ACCOUNT_DATABASE_REPLICATION',
    'true');
Copy

자세한 내용은 :ref:`전제 조건: 조직의 계정에 대한 복제 활성화<label-enabling_accounts_for_replication>`를 참조하세요.

2단계: 복제 그룹 생성

복제 그룹은 선택적으로 정의된 일정에 따라 기본 계정에서 보조 계정으로 오브젝트를 복사합니다.

복제 그룹을 생성하려면 복제 그룹의 작업 공간이 포함된 계정을 지정합니다.

기본 계정

USE ROLE ACCOUNTADMIN;

CREATE REPLICATION GROUP my_replication_group
    OBJECT_TYPES = USERS
    ALLOWED_ACCOUNTS = org_name.secondary_account_name
    [ REPLICATION_SCHEDULE = '10 MINUTE' ]
Copy

이 예제에서:

  • ALLOWED_ACCOUNTS - 복제할 보조 계정입니다.

  • REPLICATION_SCHEDULE - 복제가 발생하는 빈도(예: ‘10MINUTE’ 또는 ‘1HOUR’)입니다.

보조 계정

USE ROLE ACCOUNTADMIN;
CREATE REPLICATION GROUP my_replication_group
  AS REPLICA OF org_name.primary_account_name.my_replication_group;
Copy

고가용성을 위한 장애 조치 설정

중단 중에 :ref:`장애 조치<label-replication_and_failover_groups>`를 활성화하려면(보조 계정을 기본 계정으로 승격) 복제 그룹 대신 장애 조치 그룹을 사용해야 합니다.

기본 계정

USE ROLE ACCOUNTADMIN;
CREATE FAILOVER GROUP my_failover_group
  OBJECT_TYPES = USERS
  ALLOWED_ACCOUNTS = org_name.secondary_account_name
  [ REPLICATION_SCHEDULE = '10 MINUTE' ]
Copy

보조 계정

USE ROLE ACCOUNTADMIN;
CREATE FAILOVER GROUP my_failover_group
  AS REPLICA OF org_name.primary_account_name.my_failover_group;
Copy

기본 계정이 실패하면 보조 계정으로 인계

:ref:`장애 조치 그룹을 기본으로 승격<label-replication_promote_failover_group>`하는 경우 작업 공간은 읽기-쓰기 상태가 됩니다.

보조 계정 동작

사용 가능한 읽기-쓰기 작업 공간이 없는 경우 읽기-쓰기를 지원하는 |sf-web-interface|에서 워크시트를 사용하여 되돌릴 수도 있습니다.

고려 사항

  • 쿼리 결과가 복제되지 않음 - 쿼리 결과는 쿼리가 원래 실행된 계정에만 저장됩니다.

  • 파일에 대해 선택한 역할, 웨어하우스, 데이터베이스 및 스키마 컨텍스트가 복제되지 않음 - 해당 계정 수준 오브젝트를 별도로 복제할 수 있지만, 해당 컨텍스트는 대상 계정의 파일에서 선택된 상태로 유지되지 않습니다.

제한 사항

  • 장애 조치 후 현재 Git 통합이 지원되지 않음 - 작업 공간이 있는 보조 계정이 기본 계정으로 승격된 경우 Git 통합을 수동으로 다시 구성해야 합니다.

  • 보조 계정의 작업 공간은 읽기 전용입니다.

복제 동작에 대한 자세한 내용은 :ref:`복제 고려 사항<label-replication_and_tasks>`을 참조하세요.