데이터 세트 위치

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

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

주요 개념

위치 또는 리전 유형

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

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

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

데이터 세트 위치

데이터 세트를 만들 때는 BigQuery 데이터를 저장할 위치를 지정해야 합니다. 데이터 세트를 만든 후에는 위치를 변경할 수 없지만 데이터 세트를 다른 위치에 복사하거나 수동으로 다른 위치에서 데이터 세트를 이동(다시 만들기)할 수 있습니다.

BigQuery는 쿼리 중인 테이블이 포함된 데이터 세트와 동일한 위치에 있는 쿼리를 처리합니다.

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

지원되는 리전

리전 위치

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

멀티 리전 위치

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

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

위치 지정

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

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

  • Cloud Console을 사용하여 데이터를 쿼리할 때는 더보기 > 쿼리 설정을 클릭하고 처리 위치에서 자동 선택을 클릭한 후 데이터의 위치를 선택합니다.
  • 기본 BigQuery 웹 UI를 사용하여 데이터를 쿼리할 때는 옵션 표시를 클릭한 후 처리 위치에서 미지정을 클릭하고 데이터의 위치를 선택합니다.
  • bq 명령줄 도구를 사용하는 경우 --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 Composer를 사용하여 대규모 데이터 세트를 프로그래매틱 방식으로 이동하고 복사할 수도 있습니다.

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에서 대상 데이터 세트의 위치는 관련성이 없습니다. 다른 유형의 전송에서는 데이터 세트와 소스 데이터가 동일한 리전 또는 호환되는 리전의 같은 위치에 배치되어야 합니다.

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

다음 단계