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 |
PROJECT_NUMBER |
INT64 |
데이터 세트가 포함된 프로젝트의 프로젝트 번호 |
TABLE_CATALOG |
STRING |
데이터 세트가 포함된 프로젝트의 프로젝트 ID |
TABLE_SCHEMA |
STRING |
테이블이나 구체화된 뷰가 포함된 데이터 세트 이름(또는 datasetId 라고 함) |
TABLE_NAME |
STRING |
테이블 또는 구체화된 뷰의 이름(또는 tableId 라고 함) |
CREATION_TIME |
TIMESTAMP |
테이블 생성 시간 |
TOTAL_ROWS |
INT64 |
테이블 또는 구체화된 뷰의 총 행 수 |
TOTAL_PARTITIONS |
INT64 |
테이블 또는 구체화된 뷰에 있는 파티션 수. 파티션을 나누지 않은 테이블은 0을 반환합니다. |
TOTAL_LOGICAL_BYTES |
INT64 |
테이블 또는 구체화된 뷰에 있는 논리적(비압축) 총 바이트 수 |
ACTIVE_LOGICAL_BYTES |
INT64 |
90일을 경과하지 않은 논리적(비압축) 바이트 수 |
LONG_TERM_LOGICAL_BYTES |
INT64 |
90일을 경과한 논리적(비압축) 바이트 수 |
CURRENT_PHYSICAL_BYTES |
INT64 |
모든 파티션에서 현재 테이블 스토리지의 총 물리적 바이트 수 |
TOTAL_PHYSICAL_BYTES |
INT64 |
활성, 장기, 시간 이동(데이터 삭제 또는 변경) 바이트를 포함하여 스토리지에 사용된 총 물리적(압축) 바이트 수 장애 안전(시간 이동 기간 후 보관된 데이터 삭제 또는 변경) 바이트는 포함되지 않습니다. |
ACTIVE_PHYSICAL_BYTES |
INT64 |
시간 이동(데이터 삭제 또는 변경) 바이트를 포함하여 90일을 경과하지 않은 물리적(압축) 바이트 수 |
LONG_TERM_PHYSICAL_BYTES |
INT64 |
90일을 경과한 물리적(압축) 바이트 수 |
TIME_TRAVEL_PHYSICAL_BYTES |
INT64 |
시간 이동 스토리지(데이터 삭제 또는 변경)에 사용된 물리적(압축) 바이트 수 |
STORAGE_LAST_MODIFIED_TIME |
TIMESTAMP |
데이터가 테이블에 작성된 가장 최근 시간입니다. |
DELETED |
BOOLEAN |
테이블 삭제 여부 |
TABLE_TYPE |
STRING |
테이블 유형입니다. 예를 들면 EXTERNAL 또는 BASE TABLE 입니다.
|
FAIL_SAFE_PHYSICAL_BYTES |
INT64 |
장애 안전 스토리지(데이터 삭제 또는 변경)에 사용된 물리적(압축) 바이트 수 |
LAST_METADATA_INDEX_REFRESH_TIME |
TIMESTAMP |
테이블의 마지막 메타데이터 색인 새로고침 시간입니다. |
범위 및 구문
이 뷰에 대한 쿼리에는 리전 한정자가 있어야 합니다. 다음 표에는 이 뷰의 리전 범위가 나와 있습니다.
뷰 이름 | 리소스 범위 | 리전 범위 |
---|---|---|
[`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 | +---------------------+---------------------+