datashare를 사용한 작업 - Amazon Redshift

datashare를 사용한 작업

다른 클러스터의 사용자가 데이터를 쿼리할 수 있도록 datashare를 생성할 수 있습니다. 공유하려는 데이터가 포함된 클러스터를 생산자 클러스터라고 합니다. 공유하려는 데이터베이스 객체를 대상으로 생산자 클러스터에 datashare를 생성합니다. 스키마, 테이블, 보기 및 SQL 사용자 정의 함수 (UDF)를 공유할 수 있습니다. 데이터를 공유하려는 클러스터를 소비자 클러스터라고 합니다. 소비자 클러스터에서 datashare에서 데이터베이스를 생성합니다. 그런 다음 소비자 클러스터의 사용자가 데이터를 쿼리할 수 있습니다. datashare에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 가이드데이터 공유 시작하기 섹션을 참조하세요.

datashare 생성

클러스터에서 생산자 클러스터로 사용할 datashare를 생성합니다. Datashare에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 가이드Amazon Redshift에서 데이터 공유 시 고려 사항 섹션을 참조하세요.

  1. 사용하려는 생산자 클러스터에서 데이터베이스를 선택합니다.

  2. Datashare를 만듭니다. 예:

    create datashare mysource;
  3. Datashare에 대한 권한을 설정합니다. 예:

    grant alter, share on datashare mysource to admin;
  4. 공유하려는 데이터베이스 개체에 대한 사용 권한을 설정합니다. 예:

    alter datashare mysource add schema public;
    alter datashare mysource add table public.event;
  5. Datashare에 액세스하기 위해 소비자 클러스터 네임스페이스에 대한 권한을 설정합니다. 예:

    grant usage on datashare mysource to namespace '2b12345-1234-5678-9012-bb1234567890';

Datashares 보기

생산자 클러스터에서 생성한 datashares를 표시할 수 있습니다.

  1. 생산자 클러스터를 선택합니다.

  2. Datashares를 표시합니다. 예:

    show datashares;
    share_name share_owner source_database consumer_database share_type createdate is_publicaccessible share_acl producer_account producer_namespace test_datashare 100 db_producer NULL OUTBOUND 2/15/2022 FALSE admin 123456789012 p1234567-8765-4321-p10987654321

소비자 데이터베이스 생성

소비자 클러스터에서 datashare에서 데이터베이스를 생성합니다. 이 단계에서는 동일한 계정의 두 클러스터 간에 데이터를 공유하는 방법을 설명합니다. AWS 계정 간 데이터 공유에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 가이드AWS 계정 간 데이터 공유를 참조하세요.

SQL 명령 또는 쿼리 편집기 v2 트리 보기 패널을 사용하여 데이터베이스를 만들 수 있습니다.

SQL을 사용하려면
  1. 계정 및 생산자 클러스터의 네임스페이스에서 datashare에서 데이터베이스를 생성합니다. 예:

    create database share_db from datashare mysource of account '123456789012' namespace 'p1234567-8765-4321-p10987654321';
  2. 사용자가 데이터베이스와 스키마에 액세스할 수 있도록 권한을 설정합니다. 예:

    grant usage on database share_db to usernames;
    grant usage on schema public to usernames;
쿼리 편집기 v2 트리 보기 패널을 사용하려면
  1. Create생성(Create)을 선택한 후 데이터베이스(Database)를 선택합니다.

  2. 데이터베이스 이름(Database name)을 입력합니다.

  3. (선택 사항) 사용자 및 그룹(Users and groups)을 선택하고 데이터베이스 사용자(Database user)를 선택합니다.

  4. datashare를 사용하여 생성(Create using a datashare)을 선택합니다.

  5. Datashare를 선택합니다.

  6. 데이터베이스 생성를 선택합니다.

    쿼리 편집기 v2 트리 보기 패널에 새 datasharedatashare 데이터베이스가 표시됩니다.

  7. 사용자가 데이터베이스와 스키마에 액세스할 수 있도록 권한을 설정합니다. 예:

    grant usage on database share_db to usernames;
    grant usage on schema public to usernames;

datashare 객체 쿼리

데이터베이스 클러스터에서 데이터베이스, 스키마 및 객체 이름의 세 부분으로 구성된 표기법으로 표현된 완전한 객체 이름을 사용하여 데이터 공유를 쿼리할 수 있습니다.

  1. 쿼리 편집기 v2 트리 보기 패널에서 스키마를 선택합니다.

  2. 테이블 정의를 보려면 테이블을 선택합니다.

    테이블 열 및 데이터 유형이 표시됩니다.

  3. 테이블을 쿼리하려면 테이블을 선택하고 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 사용하여 Select table(테이블 선택)을 선택합니다.

  4. SELECT 명령을 사용하여 테이블 쿼리 예:

    select top 10 * from test_db.public.event;