PolyBase 사용 설정 및 사용 중지

<meta <="" content="이 페이지에서는 SQL Server용 Cloud SQL 인스턴스에서 PolyBase를 사용 설정 및 중지하는 방법을 설명합니다." name="description" />

이 페이지에서는 SQL Server용 Cloud SQL 인스턴스에서 PolyBase를 사용 설정 및 중지하는 방법을 보여줍니다.

PolyBase에 대한 개요 정보는 PolyBase에 대한 SQL Server용 Cloud SQL 지원을 참조하세요.

구성을 설정하는 방법은 PolyBase와 함께 사용할 외부 데이터 소스 구성을 참조하세요.

시작하기 전에

  1. 계정에 로그인합니다. Google Cloud 를 처음 사용하는 경우 Google Cloud 계정을 만들어 실제 시나리오에서 제품이 어떻게 작동하는지 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Cloud SQL, Cloud SQL Admin, and Compute Engine APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Cloud SQL, Cloud SQL Admin, and Compute Engine APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  10. SQL Server용 Cloud SQL과 외부 데이터 소스 간의 트래픽을 허용하도록 네트워크를 구성합니다.
    • SQL Server가 연결을 설정할 수 없으면 외부 데이터 소스를 설정하거나 쿼리하는 T-SQL 명령어가 실패합니다.
    • 공개 또는 비공개 IP 주소를 사용하는지 여부에 관계없이 Cloud SQL 인스턴스와 지원 Google Cloud 리소스가 데이터 소스의 방화벽 내에서 외부 데이터 소스에 액세스할 수 있는지 확인합니다.

      Cloud SQL 인스턴스의 공개 IP 주소를 사용하는 경우 기본 Compute Engine VM에 대한 액세스 권한을 얻고 해당 IP 주소를 가져와야 합니다. 이 기본 VM은 사용자에게 외부화되지 않으므로 Google Cloud 지원팀에 문의하여 IP 주소를 가져와야 합니다. 인스턴스가 다시 생성되면 이 IP 주소가 변경될 수 있습니다.

  11. PolyBase를 사용 설정 또는 중지하려면 다음 권한이 필요합니다.
    • cloudsql.instances.get
    • cloudsql.instances.update
    다음 역할 중 하나에 이전 권한이 제공됩니다.
    • roles/cloudsql.editor
    • roles/cloudsql.admin

    액세스 권한을 부여할 때는 최소 권한 원칙 을 사용하는 것이 좋습니다.

    또는 이러한 권한을 맞춤 역할에 할당할 수도 있습니다.

  12. 인스턴스의 기존 웨어하우스 데이터베이스 이름을 검토합니다.

    PolyBase가 사용 설정되면 세 개의 새로운 PolyBase 데이터 웨어하우스 데이터베이스가 생성됩니다.

    • DWConfiguration
    • DWQueue
    • DWDiagnostics

    사용 설정하기 전에 SQL Server Management Studio (SSMS) 와 같은 도구를 사용하여 이러한 이름의 데이터베이스가 이미 있는지 확인합니다. 있는 경우 계속하기 전에 Google Cloud 지원팀 에 문의하여 도움을 받으세요.

    이러한 시스템 데이터베이스에는 특정 제한사항이 적용됩니다.

      • 콘솔, Cloud SQL Admin API, gcloud CLI를 사용하여 DW 데이터베이스에서 특정 작업을 수행할 수 없습니다. Google Cloud
      • 만들기
      • 삭제
      • 목록
      • 가져오기
      하지만 내보내기 명령어를 사용하여 이러한 데이터베이스의 백업을 만들 수 있습니다.
    • SQL Server Management Studio (SSMS)를 사용하여 DW 데이터베이스에 액세스할 수 없습니다.
    • 인스턴스가 복제되면 DW 데이터베이스가 새 리소스에 복사되지 않습니다.
    • PITR을 사용하여 인스턴스가 복원되면 DW 데이터베이스가 새 리소스에 복사되지 않습니다.
    • PolyBase가 중지된 후에도 DW 데이터베이스가 보관됩니다.

    자세한 내용은 다음 리소스를 참조하세요.

데이터베이스 플래그를 사용한 PolyBase 사용 설정

데이터베이스 플래그를 사용하여 SQL Server용 Cloud SQL 인스턴스에서 PolyBase를 사용 설정할 수 있습니다. 필요한 플래그는 사용하려는 외부 데이터 소스의 유형에 따라 다릅니다.

  • polybase 데이터베이스 플래그는 모든 외부 데이터 소스에 필요합니다.
  • Cloud Storage를 사용하는 경우 Microsoft SQL Server 추적 플래그 13702도 적용해야 합니다. 이 플래그를 사용 설정하면 PolyBase 지원에 필요한 다른 추적 플래그도 사용 설정됩니다.

다음 섹션에서는 신규 및 기존 인스턴스에서 PolyBase를 사용 설정하는 방법을 보여줍니다.

PolyBase가 사용 설정된 새 인스턴스 만들기

PolyBase가 사용 설정된 새 인스턴스를 만들려면 다음 gcloud 명령어를 실행합니다.

Oracle

gcloud sql instances create INSTANCE_NAME \
  --database-version=VERSION --region=LOCATION \
  --root-password=PASSWORD --edition=EDITION \
  --cpu=NUMBER_OF_CPUs --memory=MEMORY_SIZE \
  --database-flags="DATABASE_FLAG"

다음을 바꿉니다.

  • INSTANCE_NAME: Cloud SQL 인스턴스의 이름.
  • VERSION: 사용할 데이터베이스 버전.
  • LOCATION: Cloud SQL 인스턴스의 위치.
  • PASSWORD: Cloud SQL 인스턴스의 비밀번호.
  • EDITION: 사용할 데이터베이스 버전.
  • NUMBER_OF_CPUs: 사용할 CPU 수.
  • MEMORY_SIZE: 사용할 메모리 양.
  • DATABASE_FLAG: 외부 데이터 소스의 유형과 관계없이 PolyBase를 사용 설정하는 데 필요한 데이터베이스 플래그 값.

    cloud sql enable polybase=on을 입력해야 합니다.

    자세한 내용은 데이터베이스 플래그를 참조하세요.

Cloud Storage

gcloud sql instances create INSTANCE_NAME \
  --database-version=VERSION --region=LOCATION \
  --root-password=PASSWORD --edition=EDITION \
  --cpu=NUMBER_OF_CPUs --memory=MEMORY_SIZE \
  --database-flags="DATABASE_FLAG_CLOUD_STORAGE"

다음을 바꿉니다.

  • INSTANCE_NAME: Cloud SQL 인스턴스의 이름.
  • VERSION: 사용할 데이터베이스 버전.
  • LOCATION: Cloud SQL 인스턴스의 위치.
  • PASSWORD: Cloud SQL 인스턴스의 비밀번호.
  • EDITION: 사용할 데이터베이스 버전.
  • NUMBER_OF_CPUs: 사용할 CPU 수.
  • MEMORY_SIZE: 사용할 메모리 양.
  • DATABASE_FLAG_CLOUD_STORAGE: PolyBase를 사용 설정하는 데 필요한 데이터베이스 플래그 값. 외부 데이터 소스가 Cloud Storage인 경우 cloud sql enable polybase=on,13702=on을 입력해야 합니다.

    자세한 내용은 데이터베이스 플래그를 참조하세요.

기존 인스턴스에서 PolyBase 사용 설정

기존 인스턴스에서 PolyBase를 사용 설정하려면 다음 gcloud 명령어를 실행합니다.

Oracle

gcloud sql instances patch INSTANCE_NAME \
--database-flags="DATABASE_FLAG"

다음을 바꿉니다.

  • INSTANCE_NAME: Cloud SQL 인스턴스의 이름.
  • DATABASE_FLAG: 외부 데이터 소스의 유형과 관계없이 PolyBase를 사용 설정하는 데 필요한 데이터베이스 플래그 값.

cloud sql enable polybase=on을 입력해야 합니다.

이 예시는 설명을 위한 것입니다. 특정 데이터베이스 플래그 설정으로 patch 작업을 실행하면 기존 데이터베이스 플래그가 대체됩니다. 보관할 기존 데이터베이스 플래그를 포함해야 합니다. 이전에 설정한 데이터베이스 플래그를 생략하면 생략된 플래그가 기본값으로 되돌아갑니다.

자세한 내용은 데이터베이스 플래그를 참조하세요.

Cloud Storage

gcloud sql instances patch INSTANCE_NAME \
--database-flags="DATABASE_FLAG_CLOUD_STORAGE"

다음을 바꿉니다.

  • INSTANCE_NAME: Cloud SQL 인스턴스의 이름.
  • DATABASE_FLAG_CLOUD_STORAGE: 외부 데이터 소스의 유형과 관계없이 PolyBase를 사용 설정하는 데 필요한 데이터베이스 플래그 값.

cloud sql enable polybase=on,13702=on을 입력해야 합니다.

이 예시는 설명을 위한 것입니다. 특정 데이터베이스 플래그 설정으로 patch 작업을 실행하면 기존 데이터베이스 플래그가 대체됩니다. 보관할 기존 데이터베이스 플래그를 포함해야 합니다. 이전에 설정한 데이터베이스 플래그를 생략하면 생략된 플래그가 기본값으로 되돌아갑니다.

자세한 내용은 데이터베이스 플래그를 참조하세요.

인스턴스 구성 확인

기존 인스턴스에서 PolyBase가 사용 설정되어 있는지 확인하려면 다음 gcloud 명령어를 실행합니다.

gcloud

gcloud sql instances describe INSTANCE_NAME \
  --format="value(settings.databaseFlags)"

다음을 바꿉니다.

  • INSTANCE_NAME: Cloud SQL 인스턴스의 이름.

PolyBase 중지

인스턴스에서 PolyBase를 중지하려면 다음 gcloud 명령어를 실행합니다.

gcloud

gcloud sql instances patch INSTANCE_NAME \
--database-flags="cloud sql enable polybase=off"

다음을 바꿉니다.

  • INSTANCE_NAME: Cloud SQL 인스턴스의 이름.

PolyBase가 중지되면 다음 PolyBase 리소스가 삭제되지 않습니다.

  • DW 시스템 데이터베이스
  • 데이터베이스 마스터 키 (DMK)
  • 데이터 소스
  • 데이터 범위 사용자 인증 정보
  • 외부 테이블

이러한 리소스는 나중에 이 기능을 다시 사용 설정하려는 경우를 대비하여 보관됩니다.

다음 단계