작업 공간 복제

중요

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

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

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

작업 공간 복제 작동 방식

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

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

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

LOCAL 작업 공간

LOCAL 작업 공간은 작업 공간 복제를 사용하지 않습니다. 작업 공간 파일은 현재 배포 내에 유지되며 다른 배포에 복사되거나 다른 배포와 동기화되지 않습니다. LOCAL 작업 공간은 ``LOCAL``이라는 스키마에 저장되며, 계정이 기본 계정인지 보조 계정인지에 관계없이 항상 읽기-쓰기 상태입니다.

작업 공간 복제가 처음 활성화되면 보조 배포에 이미 존재하는 모든 작업 공간이 첫 번째 새로 고침 중에 PUBLIC 스키마에서 LOCAL 스키마로 자동 마이그레이션됩니다. 이 일회성 마이그레이션을 통해 사용자는 복제가 활성화될 때 손실되지 않고 보조 배포에서 기존 작업 공간 데이터에 대한 액세스 권한을 유지할 수 있습니다.

일회성 마이그레이션 후에는 표준 Snowflake 복제 동작이 적용됩니다.

  • 보조 계정의 작업 공간(LOCAL 스키마에 있는 작업 공간 제외)은 새로 고칠 때마다 기본 계정을 반영하도록 업데이트되며 읽기 전용입니다.

  • LOCAL 스키마의 작업 공간은 복제 새로 고침의 영향을 받지 않으며 읽기-쓰기 상태로 유지됩니다.

작업 공간 복제 설정하기

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

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

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

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

자세한 내용은 :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' ]

이 예제에서:

  • 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;

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

중단 중에 :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' ]

보조 계정

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

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

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

보조 계정 동작

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

고려 사항

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

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

제한 사항

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

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

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