TABLE_STORAGE_BY_ORGANIZATION 뷰

INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION 뷰에는 각 테이블에 대한 하나의 행 또는 현재 프로젝트와 연관된 전체 조직에 대한 구체화된 뷰가 포함되어 있습니다. 이 테이블의 데이터는 실시간으로 표시되지 않으며 몇 초부터 몇 분까지 지연이 발생할 수 있습니다.

테이블 스토리지 뷰를 사용하면 현재 및 이전 스토리지 소비 현황을 편리하게 관찰할 수 있으며, 스토리지에 논리적 비압축 바이트, 물리적 압축 바이트 또는 시간 이동 바이트가 사용되는지 여부에 대한 세부정보를 제공합니다. 이 정보는 향후 성장 계획 및 테이블 업데이트 패턴 이해와 같은 태스크에 도움이 될 수 있습니다.

*_BYTES 열에 포함된 데이터

테이블 스토리지 뷰의 *_BYTES 열에는 스토리지 바이트 사용에 대한 정보가 포함됩니다. 이 정보는 구체화된 뷰 및 다음 유형의 테이블에 대한 스토리지 사용량을 확인하여 결정됩니다.

  • 테이블 만들기 및 사용에 설명된 방법을 통해 생성된 영구 테이블
  • 세션에서 생성된 임시 테이블. 이 테이블은 '_c018003e063d09570001ef33ae401fad6ab92a6a'와 같은 생성된 이름으로 데이터 세트에 배치됩니다.
  • 멀티 문 쿼리('스크립트')에서 생성된 임시 테이블. 이러한 테이블은 '_script72280c173c88442c3a7200183a50eeeaa4073719'와 같은 생성된 이름으로 데이터 세트에 배치됩니다.

쿼리 결과 캐시에 저장된 데이터에는 요금이 청구되지 않으므로 이 데이터는 *_BYTES 열 값에 포함되지 않습니다.

클론 및 스냅샷은 기본 테이블에서 사용되는 스토리지의 델타를 표시하는 대신 전체 테이블처럼 *_BYTES 열 값을 표시하므로 과대 예측입니다. 청구서에 스토리지 사용량의 델타가 올바르게 반영됩니다. 클론 및 스냅샷으로 저장되고 청구되는 델타 바이트에 대한 자세한 내용은 TABLE_STORAGE_USAGE_TIMELINE를 참조하세요.

스토리지 청구 예측

데이터 세트의 월별 스토리지 청구를 예측하려면 데이터 세트에서 사용하는 데이터 세트 스토리지 청구 모델에 따라 이 뷰에서 logical 또는 physical *_BYTES 열을 사용하면 됩니다. 이는 대략적인 예측이며 정확한 청구 금액은 BigQuery 스토리지 청구 인프라의 사용량을 기준으로 계산되며 Cloud Billing에 표시됩니다.

논리적 청구 모델을 사용하는 데이터 세트의 경우 월별 스토리지 비용을 다음과 같이 예측할 수 있습니다.

((ACTIVE_LOGICAL_BYTES 값/POW(1024, 3)) * 활성 논리 바이트 가격 책정) + ((LONG_TERM_LOGICAL_BYTES 값/POW(1024, 3)) * 장기 논리 바이트 가격 책정)

테이블의 ACTIVE_LOGICAL_BYTES 값은 해당 테이블에서 현재 사용되는 활성 바이트를 반영합니다.

물리적 청구 모델을 사용하는 데이터 세트의 경우 스토리지 비용을 다음과 같이 예측할 수 있습니다.

((ACTIVE_PHYSICAL_BYTES + FAIL_SAFE_PHYSICAL_BYTES 값/POW(1024, 3)) * 활성 물리 바이트 가격 책정) + ((LONG_TERM_PHYSICAL_BYTES 값/POW(1024, 3)) * 장기 물리 바이트 가격 책정)

테이블의 ACTIVE_PHYSICAL_BYTES 값은 현재 해당 테이블에서 사용 중인 활성 바이트에 해당 테이블의 시간 이동에 사용된 바이트를 더한 값을 반영합니다.

테이블의 활성 바이트만 보려면 ACTIVE_PHYSICAL_BYTES 값에서 TIME_TRAVEL_PHYSICAL_BYTES 값을 뺍니다.

자세한 내용은 스토리지 가격 책정을 참조하세요.

필수 권한

INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION 뷰를 쿼리하려면 조직에 대한 다음 Identity and Access Management(IAM) 권한이 필요합니다.

  • bigquery.tables.get
  • bigquery.tables.list

다음과 같이 사전 정의된 각 IAM 역할에는 위 권한이 포함되어 있습니다.

  • roles/bigquery.admin
  • roles/bigquery.dataViewer
  • roles/bigquery.dataEditor
  • roles/bigquery.metadataViewer

이 스키마 뷰는 Google Cloud 조직이 정의된 사용자만 사용할 수 있습니다.

BigQuery 권한에 대한 자세한 내용은 IAM으로 액세스 제어를 참조하세요.

스키마

INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION 뷰에는 다음과 같은 스키마가 있습니다.

열 이름 데이터 유형
PROJECT_ID STRING 데이터 세트가 포함된 프로젝트의 프로젝트 ID
TABLE_CATALOG STRING 데이터 세트가 포함된 프로젝트의 프로젝트 ID
PROJECT_NUMBER INT64 데이터 세트가 포함된 프로젝트의 프로젝트 번호
TABLE_SCHEMA STRING 테이블이나 구체화된 뷰가 포함된 데이터 세트 이름(또는 datasetId라고 함)
TABLE_NAME STRING 테이블 또는 구체화된 뷰의 이름(또는 tableId라고 함)
CREATION_TIME TIMESTAMP 테이블 생성 시간
DELETED BOOLEAN 테이블 삭제 여부
STORAGE_LAST_MODIFIED_TIME TIMESTAMP 데이터가 테이블에 작성된 가장 최근 시간입니다.
TOTAL_ROWS INT64 테이블 또는 구체화된 뷰의 총 행 수
TOTAL_PARTITIONS INT64 테이블 또는 구체화된 뷰에 있는 파티션 수. 파티션을 나누지 않은 테이블은 0을 반환합니다.
TOTAL_LOGICAL_BYTES INT64 테이블 또는 구체화된 뷰에 있는 논리적(비압축) 총 바이트 수
ACTIVE_LOGICAL_BYTES INT64 90일 미만이 경과된 논리적(비압축) 바이트 수
LONG_TERM_LOGICAL_BYTES INT64 90일을 초과하여 경과된 논리적(비압축) 바이트 수
TOTAL_PHYSICAL_BYTES INT64 활성, 장기, 시간 이동(데이터 삭제 또는 변경) 바이트를 포함하여 스토리지에 사용된 총 물리적(압축) 바이트 수
ACTIVE_PHYSICAL_BYTES INT64 시간 이동(데이터 삭제 또는 변경) 바이트를 포함하여 90일 미만이 경과된 물리적(압축) 바이트 수
LONG_TERM_PHYSICAL_BYTES INT64 90일을 초과하여 경과된 물리적(압축) 바이트 수
TIME_TRAVEL_PHYSICAL_BYTES INT64 시간 이동 스토리지(데이터 삭제 또는 변경)에 사용된 물리적(압축) 바이트 수
FAIL_SAFE_PHYSICAL_BYTES INT64 장애 안전 스토리지(데이터 삭제 또는 변경)에 사용된 물리적(압축) 바이트 수
TABLE_TYPE STRING 테이블 유형입니다. 예: `EXTERNAL` 또는 `BASE TABLE`

범위 및 구문

이 뷰에 대한 쿼리에는 리전 한정자가 있어야 합니다. 다음 표에는 이 뷰의 리전 범위가 나와 있습니다.

뷰 이름 리소스 범위 리전 범위
[`PROJECT_ID`.]`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION 지정된 프로젝트가 포함된 조직 REGION
다음을 바꿉니다.

  • (선택사항) PROJECT_ID: Google Cloud 프로젝트의 ID입니다. 지정하지 않으면 기본 프로젝트가 사용됩니다.
  • REGION: 모든 데이터 세트 리전 이름입니다. 예를 들면 region-us입니다.

다음 예시에서는 조직에서 지정된 프로젝트의 테이블에 대해 스토리지 정보를 반환하는 방법을 보여줍니다.

SELECT * FROM `myProject`.`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION;

다음 예시에서는 조직의 테이블에 대해 스토리지 정보를 반환하는 방법을 보여줍니다.

SELECT * FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION;

예시

다음 예시에서는 조직에서 현재 스토리지를 가장 많이 사용하는 프로젝트를 보여줍니다.

SELECT
  project_id,
  SUM(total_logical_bytes) AS total_logical_bytes
FROM
  `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION
GROUP BY
  project_id
ORDER BY
  total_logical_bytes DESC;

결과는 다음과 비슷합니다.

+---------------------+---------------------+
|     project_id      | total_logical_bytes |
+---------------------+---------------------+
| projecta            |     971329178274633 |
+---------------------+---------------------+
| projectb            |     834638211024843 |
+---------------------+---------------------+
| projectc            |     562910385625126 |
+---------------------+---------------------+