데이터세트 위치

이 페이지에서는 데이터 위치의 개념과 데이터세트를 만들 수 있는 다양한 위치에 대해 설명합니다. 데이터세트의 위치를 설정하는 방법을 알아보려면 데이터세트 만들기를 참조하세요.

BigQuery의 리전 가격에 대한 자세한 내용은 가격 책정 페이지를 참조하세요.

주요 개념

데이터세트를 만들 때는 BigQuery 데이터를 저장할 위치를 지정해야 합니다. 데이터세트를 만든 후 이 위치를 변경할 수 없지만 데이터세트를 다른 리전으로 복사할 수는 있습니다.

다음과 같은 두 가지 유형의 위치가 있습니다.

  • 리전은 특정한 지리적 장소(예: 런던)입니다.

  • 멀티 리전은 두 개 이상의 지리적 장소를 포함하는 넓은 지리적 지역(예: 미국)입니다.

BigQuery는 서비스별 약관에 따라 선택된 위치에 데이터를 저장합니다.

리전 위치

리전 이름 리전 설명
미주
us-west2 로스앤젤레스
northamerica-northeast1 몬트리올
us-east4 북버지니아
southamerica-east1 상파울루
us-east1 사우스캐롤라이나
유럽
europe-north1 핀란드
europe-west3 프랑크푸르트
europe-west2 런던
europe-west6 취리히
아시아 태평양
asia-east2 홍콩
asia-south1 뭄바이
asia-northeast2 오사카
asia-northeast3 서울
asia-southeast1 싱가포르
australia-southeast1 시드니
asia-east1 타이완
asia-northeast1 도쿄

다중 지역 위치

다중 리전 이름 멀티 리전 설명
EU 유럽 연합 회원국의 데이터 센터1
US 미국의 데이터 센터

1 EU 멀티 리전에 있는 데이터는 europe-west2(런던) 또는 europe-west6(취리히) 리전에 저장되지 않습니다.

위치 지정

BigQuery는 데이터를 로드, 쿼리 또는 내보낼 때 요청에서 참조된 데이터세트를 토대로 작업을 실행할 위치를 결정합니다. 예를 들어 쿼리가 asia-northeast1 리전에 저장된 데이터세트의 테이블을 참조하는 경우 쿼리 작업은 해당 리전에서 실행됩니다. 쿼리가 데이터세트에 포함된 테이블 또는 다른 리소스를 참조하지 않으며 제공된 대상 테이블이 없는 경우 쿼리 작업은 프로젝트의 정액제 예약 위치에서 실행됩니다. 프로젝트에 정액제 예약이 없는 경우 작업은 US 리전에서 실행됩니다. 2개 이상의 정액제 예약이 프로젝트와 연결되어 있는 경우 슬롯이 가장 많은 예약 위치에서 작업이 실행됩니다.

작업을 실행할 위치를 명시적으로 지정하려면 다음 안내를 따르세요.

  • Cloud Console을 사용하여 데이터를 쿼리할 때는 더보기 > 쿼리 설정을 클릭하고 처리 위치에서 자동 선택을 클릭한 후 데이터의 위치를 선택합니다.
  • 기본 BigQuery 웹 UI를 사용하여 데이터를 쿼리할 때는 옵션 표시를 클릭한 후 처리 위치에서 미지정을 클릭하고 데이터의 위치를 선택합니다.
  • 명령줄 도구를 사용하는 경우 --location 글로벌 플래그를 지정하고 값을 사용자 위치로 설정합니다.
  • API를 사용하는 경우 작업 리소스jobReference 섹션에 있는 location 속성에서 리전을 지정합니다.

BigQuery는 지정된 위치가 요청한 데이터세트의 위치와 일치하지 않으면 오류를 반환합니다.

위치 고려사항

데이터 위치를 선택할 때는 다음 사항을 고려해야 합니다.

  • BigQuery 데이터세트와 외부 데이터 소스를 같은 위치에 배치합니다.
    • Cloud Storage 같은 외부 데이터 소스의 데이터를 쿼리할 경우 쿼리하는 데이터가 BigQuery 데이터세트와 동일한 위치에 있어야 합니다. 예를 들어 BigQuery 데이터세트가 EU 멀티 리전 위치에 있는 경우 쿼리하는 데이터가 포함된 Cloud Storage 버킷은 EU 내 멀티 리전 버킷에 있어야 합니다. 데이터세트가 US 멀티 리전 위치에 있는 경우 Cloud Storage 버킷은 US 내 멀티 리전 버킷에 있어야 합니다.
    • 데이터세트가 리전 위치에 있는 경우 쿼리하는 데이터가 포함된 Cloud Storage 버킷은 같은 위치의 리전 버킷에 있어야 합니다. 예를 들어 데이터세트가 도쿄 리전에 있으면 Cloud Storage 버킷은 도쿄의 리전 버킷에 있어야 합니다.
    • 외부 데이터세트가 Cloud Bigtable에 있는 경우 데이터세트는 US 또는 EU 멀티 리전 위치에 있어야 합니다. Cloud Bigtable 데이터는 지원되는 Cloud Bigtable 위치 중 하나에 있어야 합니다.
    • 위치 고려 사항은 Google 드라이브 외부 데이터 소스에는 적용되지 않습니다.
  • 데이터를 로드하기 위한 Cloud Storage 버킷을 같은 위치에 배치합니다.
    • BigQuery 데이터세트가 멀티 리전 위치에 있는 경우 로드하는 데이터가 포함된 Cloud Storage 버킷은 같은 위치의 리전이나 멀티 리전 버킷에 있어야 합니다. 예를 들어 BigQuery 데이터세트가 EU에 있으면 Cloud Storage 버킷은 EU 내 리전 또는 멀티 리전 버킷에 있어야 합니다.
    • 데이터세트가 리전 위치에 있는 경우 Cloud Storage 버킷은 같은 위치의 리전 버킷에 있어야 합니다. 예를 들어 데이터세트가 도쿄 리전에 있으면 Cloud Storage 버킷은 도쿄 내 리전 버킷에 있어야 합니다.
    • 예외: 데이터세트가 US 멀티 리전 위치에 있는 경우 모든 리전 또는 멀티 리전 위치의 Cloud Storage 버킷에서 데이터를 로드할 수 있습니다.
  • 데이터를 내보내기 위한 Cloud Storage 버킷을 같은 위치에 배치합니다.
    • 데이터를 내보내는 경우, 리전 또는 멀티 리전 Cloud Storage 버킷은 BigQuery 데이터세트와 같은 위치에 있어야 합니다. 예를 들어 BigQuery 데이터세트가 EU 멀티 리전 위치에 있는 경우 내보내는 데이터가 포함된 Cloud Storage 버킷은 EU 리전 또는 멀티 리전 위치에 있어야 합니다.
    • 데이터세트가 리전 위치에 있는 경우 Cloud Storage 버킷은 같은 위치의 리전 버킷에 있어야 합니다. 예를 들어 데이터세트가 도쿄 리전에 있으면 Cloud Storage 버킷은 도쿄 내 리전 버킷에 있어야 합니다.
    • 예외: 데이터세트가 US 멀티 리전 위치에 있는 경우 모든 리전 내 또는 멀티 리전 위치의 Cloud Storage 버킷으로 데이터를 내보낼 수 있습니다.
  • 데이터 관리 계획을 세웁니다.
    • BigQuery 데이터세트 또는 Cloud Storage 버킷과 같은 Regional Storage 리소스를 선택한 경우 데이터를 지리적으로 관리하기 위한 계획을 세웁니다.

Cloud Storage 위치에 대한 자세한 내용은 Cloud Storage 문서의 버킷 위치를 참조하세요.

다른 위치 간 BigQuery 데이터 이동

데이터세트가 생성된 후에는 데이터세트 위치를 변경할 수 없지만 데이터세트를 복사할 수 있습니다. 한 위치에서 다른 위치로 데이터세트를 옮길 수 없지만 수동으로 데이터세트를 이동(재생성)할 수는 있습니다. BigQuery Data Transfer Service는 많은 리전에서 데이터를 BigQuery 데이터세트로 전송할 수 있습니다.

데이터세트 복사

리전 간 복사를 비롯하여 데이터세트를 복사하는 단계를 알아보려면 데이터세트 복사를 참조하세요.

데이터세트 이동

데이터세트를 수동으로 한 위치에서 다른 위치로 옮기려면 다음 절차를 따르세요.

  1. 데이터세트와 같은 위치 내 리전 또는 멀티 리전 Cloud Storage 버킷으로 BigQuery 테이블의 데이터를 내보냅니다. 예를 들어 데이터세트가 EU 멀티 리전 위치에 있는 경우 EU 내 리전 또는 멀티 리전 버킷으로 데이터를 내보냅니다.

    BigQuery에서 데이터를 내보내는 경우에는 요금이 청구되지 않지만 Cloud Storage에 내보낸 데이터를 저장하는 경우에는 요금이 청구됩니다. BigQuery 내보내기를 사용하는 경우 내보내기 작업의 제한사항이 적용됩니다.

  2. Cloud Storage 버킷의 데이터를 새로운 위치에 있는 리전 또는 멀티 리전 버킷으로 복사하거나 이동합니다. 예를 들어 US 멀티 리전 위치의 데이터를 도쿄 리전 위치로 이동하는 경우 데이터를 도쿄 내 리전 버킷으로 전송합니다. Cloud Storage 객체 전송에 대한 자세한 내용은 Cloud Storage 문서의 객체 이름 변경, 복사, 이동을 참조하세요.

    리전 간에 데이터를 전송하면 Cloud Storage에 네트워크 이그레스 요금이 청구됩니다.

  3. 새 위치의 Cloud Storage 버킷으로 데이터를 전송한 후 새 위치에서 새로운 BigQuery 데이터세트를 만듭니다. 그런 다음 Cloud Storage 버킷의 데이터를 BigQuery로 로드합니다.

    BigQuery로 데이터를 로드하는 경우에는 요금이 청구되지 않지만 데이터 또는 버킷을 삭제하기 전에 데이터를 Cloud Storage에 저장하면 요금이 청구됩니다. 데이터를 로드한 후 BigQuery에 데이터를 저장하는 경우에도 요금이 청구됩니다. BigQuery로 데이터를 로드하는 경우 로드 작업의 제한사항이 적용됩니다.

Cloud Storage를 사용하여 대규모 데이터세트를 저장 및 이동하는 방법에 대한 자세한 내용은 빅데이터에 Cloud Storage 사용을 참조하세요.

BigQuery 데이터세트에 데이터 전송

BigQuery Data Transfer Service는 BigQuery에서 소스 데이터를 대상 데이터세트로 전송(복사)합니다. BigQuery와 마찬가지로 BigQuery Data Transfer Service는 멀티 리전 리소스입니다.

BigQuery 데이터세트의 지역은 BigQuery Data Transfer Service로 전송되는 데이터를 저장하기 위해 대상 데이터세트를 만들 때 지정됩니다. 전송을 설정할 때 전송 구성은 대상 데이터세트와 동일한 위치에 설정됩니다. BigQuery Data Transfer Service는 대상 BigQuery 데이터세트와 같은 위치에서 데이터를 처리하고 스테이징합니다.

BigQuery로 전송할 데이터에는 리전이 있을 수도 있습니다. 대부분의 경우 데이터가 저장되는 리전과 BigQuery에서 대상 데이터세트의 위치는 관련성이 없습니다. 다른 유형의 전송에서는 데이터세트와 소스 데이터가 동일한 리전 또는 호환되는 리전에서 같은 위치에 배치되어야 합니다.

전송 및 리전 호환성에 대한 자세한 내용은 데이터세트 위치 및 전송을 참조하세요.

다음 단계