외부 데이터 소스 소개

이 페이지에서는 BigQuery 외부에 저장된 데이터 쿼리의 개요를 제공합니다.

개요

외부 데이터 소스(제휴 데이터 소스라고도 함)는 데이터가 BigQuery에 저장되어 있지는 않지만 직접 쿼리할 수 있는 데이터 소스입니다. 데이터를 로드하거나 스트리밍하는 대신 외부 데이터 소스를 참조하는 테이블을 만들 수 있습니다.

BigQuery에서 직접적인 데이터 쿼리를 지원하는 외부 소스는 다음과 같습니다.

외부 데이터 소스의 사용 사례는 다음과 같습니다.

  • 외부 데이터 소스(BigQuery 외부의 위치)에서 데이터를 쿼리하고 정리된 결과를 BigQuery 저장소에 작성해 단 한 번의 전달로 데이터를 로드하고 정리합니다.
  • 다른 테이블과 연결해서 활용하는 데이터 중에서 자주 변경되는 양이 적어집니다. 외부 데이터 소스이기 때문에 자주 변경되는 데이터를 업로드할 때마다 매번 다시 로드할 필요가 없습니다.

외부 데이터 소스 제한사항

외부 데이터 소스의 제한사항은 다음과 같습니다.

  • BigQuery에서는 외부 데이터 소스의 데이터 일관성을 보장하지 않습니다. 쿼리가 실행되는 동안 기본 데이터가 변경되면 예상치 못한 동작이 발생할 수 있습니다.
  • 외부 데이터 소스의 쿼리 성능은 기본 BigQuery 테이블의 데이터를 쿼리할 때보다 낮을 수도 있습니다. 쿼리 속도가 중요한 경우에는 외부 데이터 소스를 설정하는 대신 데이터를 BigQuery에 로드합니다. 외부 데이터 소스를 포함한 쿼리 성능은 외부 저장소 유형에 따라 다릅니다. 예를 들어, Cloud Storage에 저장된 데이터 쿼리는 Google 드라이브에 저장된 데이터 쿼리보다 빠릅니다. 일반적으로 외부 데이터 소스의 쿼리 성능은 외부 저장소에서 직접 데이터를 읽을 때와 동일합니다.
  • TableDataList JSON API 메소드를 사용하여 외부 데이터 소스에 위치한 테이블에서 데이터를 검색할 수 없습니다. 자세한 내용은 테이블 데이터: 목록을 참조하세요.

    제한사항을 우회하려면 대상 테이블에 쿼리 결과를 저장하면 됩니다. 그러면 결과 테이블에 TableDataList 메소드를 사용할 수 있습니다.

  • 외부 데이터 소스의 데이터를 내보내는 BigQuery 작업을 실행할 수 없습니다.

    제한사항을 우회하려면 대상 테이블에 쿼리 결과를 저장하면 됩니다. 그러면 결과 테이블을 대상으로 내보내기 작업을 실행할 수 있습니다.

  • 와일드 카드 테이블 쿼리에서는 외부 데이터 소스를 참조할 수 없습니다.

  • 현재 Parquet 또는 ORC 형식으로 저장된 외부 데이터를 쿼리할 수 없습니다.

  • 외부 데이터 소스를 쿼리하면 결과가 캐시 처리되지 않습니다. 동일한 쿼리를 여러 번 발행해도 외부 테이블에 쿼리할 때마다 요금이 청구됩니다. 자주 변경되지 않는 외부 테이블에 반복하여 쿼리해야 하는 경우, 영구 테이블에 쿼리 결과를 작성하여 영구 테이블에 쿼리를 실행하는 것을 고려해 보는 것이 좋습니다.

  • 현재 다음 지역에서만 Cloud Bigtable의 데이터 쿼리를 사용할 수 있습니다.
    지역 영역
    us-central1

    us-central1-a

    us-central1-b

    us-central1-c

    us-central1-f

    europe-west1

    europe-west1-b

    europe-west1-c

    europe-west1-d

  • Cloud Bigtable 외부 데이터 소스에 대한 동시 쿼리는 4개로 제한됩니다.

위치 고려 사항

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

  • 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 드라이브 외부 데이터 소스에는 적용되지 않습니다.
  • 데이터 관리 계획을 세웁니다.
    • BigQuery 데이터세트 또는 Cloud Storage 버킷과 같은 리전 내 저장소 리소스를 선택한 경우 데이터를 지리적으로 관리하기 위한 계획을 세웁니다.

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

다른 위치 간 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에서 외부 데이터 소스를 쿼리하면 쿼리에서 읽은 바이트 수에 대한 요금이 부과됩니다. 자세한 내용은 쿼리 가격을 참조하세요.

또한 애플리케이션의 가격 가이드 라인에 따라 소스 애플리케이션에서 사용되는 데이터 및 리소스 저장 비용이 청구됩니다.

  • Cloud Storage 가격에 대한 자세한 내용은 Cloud Storage 가격을 참조하세요.
  • Cloud Bigtable 가격에 대한 자세한 내용은 가격 책정을 참조하세요.
  • Google 드라이브 가격에 대한 자세한 내용은 가격 책정을 참조하세요.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.