테이블 소개

BigQuery 테이블에는 행으로 구성된 개별 레코드가 포함됩니다. 각 레코드는 열(또는 필드라고도 부름)로 구성됩니다.

모든 테이블은 열 이름, 데이터 유형, 기타 정보를 설명하는 스키마로 정의됩니다. 테이블을 만들 때 테이블의 스키마를 지정하거나 스키마 없이 테이블을 만들고 쿼리 작업에서 스키마를 선언하고 여기에 데이터를 채우는 작업을 로드할 수 있습니다.

GoogleSQL을 사용할 경우 projectname.datasetname.tablename 형식을 사용하거나 bq 명령줄 도구를 사용할 때 projectname:datasetname.tablename 형식을 사용하여 테이블 이름을 정규화합니다.

테이블 유형

다음 섹션에서는 BigQuery가 지원하는 테이블 유형을 설명합니다.

  • 표준 BigQuery 테이블: BigQuery 스토리지에 저장된 구조화된 데이터입니다.
  • 외부 테이블: BigQuery 외부에 저장된 데이터를 참조하는 테이블입니다.
  • : SQL 쿼리를 사용하여 생성되는 논리적 테이블입니다.

표준 BigQuery 테이블

표준 BigQuery 테이블에는 구조화된 데이터가 포함되어 있으며 BigQuery 스토리지에 열 형식으로 저장됩니다. 여기에는 다음 유형이 포함됩니다.

  • 스키마가 있고 스키마의 모든 열에 데이터 유형이 있는 테이블입니다.

    테이블을 만드는 방법은 테이블 만들기를 참조하세요.

  • 테이블 클론: BigQuery 테이블의 쓰기 가능한 경량 사본입니다. BigQuery는 테이블 클론과 기본 테이블 간의 델타만 저장합니다.

    테이블 클론을 만드는 방법에 대한 자세한 내용은 테이블 클론 만들기를 참조하세요.

  • 테이블 스냅샷은 테이블의 특정 시점 사본입니다. 읽기 전용이지만 테이블 스냅샷에서 테이블을 복원할 수 있습니다. BigQuery는 스냅샷과 기본 테이블 간에 차이가 있는 바이트를 저장합니다. 따라서 테이블 스냅샷은 일반적으로 테이블의 전체 복사본보다 적은 스토리지를 사용합니다.

    테이블 스냅샷을 만드는 방법에 대한 자세한 내용은 테이블 스냅샷 만들기를 참조하세요.

외부 테이블

외부 테이블은 BigQuery 스토리지 외부에 저장되며 BigQuery 외부에 저장된 데이터를 참조합니다. 자세한 내용은 외부 데이터 소스 소개를 참조하세요. 외부 테이블에는 다음 유형이 포함됩니다.

  • BigLake 테이블: Cloud Storage, Amazon Simple Storage Service(Amazon S3), Azure Blob Storage 등의 데이터 저장소에 저장된 구조화된 데이터를 참조하는 테이블입니다. 이러한 테이블을 사용하면 테이블 수준에서 세분화된 보안을 적용할 수 있습니다.

    BigLake 테이블을 만드는 방법에 대한 자세한 내용은 다음 주제를 참조하세요.

  • 객체 테이블: Cloud Storage와 같은 데이터 저장소에 저장된 구조화되지 않은 데이터를 참조하는 테이블입니다.

    객체 테이블을 만드는 방법에 대한 자세한 내용은 객체 테이블 만들기를 참조하세요.

  • BigLake가 아닌 외부 테이블: Cloud Storage, Google Drive, Bigtable 등의 데이터 저장소에 저장된 정형 데이터를 참조합니다. BigLake 테이블과 달리 이러한 테이블에서는 테이블 수준에서 세분화된 보안을 적용할 수 없습니다.

    BigLake가 아닌 외부 테이블을 만드는 방법에 대한 자세한 내용은 다음 주제를 참조하세요.

뷰는 SQL 쿼리를 사용하여 정의되는 논리적 테이블입니다. 여기에는 다음 유형이 포함됩니다.

  • : SQL 쿼리를 사용하여 정의되는 논리적 테이블입니다. 이러한 쿼리는 뷰가 쿼리될 때마다 실행되는 뷰를 정의합니다.

    뷰를 만드는 방법에 대한 자세한 내용은 뷰 만들기를 참조하세요.

  • 구체화된 뷰: 뷰 쿼리 결과를 주기적으로 캐시하는 미리 계산된 뷰입니다. 캐시된 결과는 BigQuery 스토리지에 저장됩니다.

    구체화된 뷰를 만드는 방법에 대한 자세한 내용은 구체화된 뷰 만들기를 참조하세요.

테이블 제한사항

BigQuery 테이블에는 다음 제한사항이 적용됩니다.

  • 데이터 세트마다 테이블 이름이 고유해야 합니다.
  • BigQuery 테이블 데이터를 내보낼 때 지원되는 유일한 대상은 Cloud Storage입니다.
  • API 호출을 사용할 때 데이터 세트의 테이블 수가 50,000개에 근접하면 열거 성능이 저하됩니다.
  • Google Cloud 콘솔은 각 데이터 세트에 대해 최대 50,000개의 테이블을 표시할 수 있습니다.

BigQuery 외부 테이블 제한사항에 대한 자세한 내용은 다음 주제를 참조하세요.

테이블 할당량

할당량과 한도는 다음 할당량을 포함하여 테이블에 대해 실행할 수 있는 여러 작업 유형에 적용됩니다.

모든 할당량 및 한도에 대한 자세한 내용은 할당량 및 한도를 참조하세요.

테이블 가격 책정

BigQuery에서 테이블을 만들고 사용할 때, 요금은 테이블과 파티션에 저장된 데이터의 양과 테이블 데이터에 대해 실행하는 쿼리를 기준으로 청구됩니다.

데이터 로드, 복사, 내보내기를 포함한 여러 테이블 작업은 무료입니다. 이러한 작업은 무료지만 BigQuery의 할당량 및 한도가 적용됩니다. 모든 무료 작업에 대한 자세한 내용은 가격 책정 페이지의 무료 작업을 참조하세요.

테이블 보안

BigQuery에서 테이블에 대한 액세스를 제어하려면 테이블 액세스 제어 소개를 참조하세요.

다음 단계