Tampilan TABLE_STORAGE
Tampilan INFORMATION_SCHEMA.TABLE_STORAGE
memberikan ringkasan saat ini dari penggunaan penyimpanan untuk tabel dan tampilan terwujud. Saat Anda membuat kueri tampilan INFORMATION_SCHEMA.TABLE_STORAGE
, hasil kueri akan berisi satu baris untuk setiap tabel atau tampilan terwujud untuk project saat ini. Data dalam tampilan INFORMATION_SCHEMA.TABLE_STORAGE
tidak disimpan secara real time, dan update biasanya tertunda selama beberapa detik hingga beberapa
menit. Perubahan penyimpanan yang hanya disebabkan oleh partisi atau akhir masa berlaku tabel,
atau yang disebabkan oleh modifikasi pada periode perjalanan waktu set data, mungkin memerlukan
waktu hingga satu hari untuk ditampilkan dalam tampilan INFORMATION_SCHEMA.TABLE_STORAGE
.
Tampilan penyimpanan tabel memberikan cara mudah untuk mengamati konsumsi penyimpanan saat ini. Selain itu, tampilan ini memberikan detail tentang apakah penyimpanan Anda menggunakan byte logis yang tidak terkompresi, byte fisik terkompresi, atau byte perjalanan waktu. Informasi ini dapat membantu Anda menangani tugas-tugas seperti merencanakan pertumbuhan pada masa mendatang dan memahami pola pembaruan untuk tabel.
Data yang disertakan dalam kolom *_BYTES
Kolom *_BYTES
dalam tampilan penyimpanan tabel menyertakan informasi tentang penggunaan byte penyimpanan. Informasi ini ditentukan dengan melihat penggunaan penyimpanan untuk tampilan terwujud dan jenis tabel berikut:
- Tabel permanen yang dibuat melalui salah satu metode yang dijelaskan dalam Membuat dan menggunakan tabel.
- Tabel sementara yang dibuat dalam beberapa sesi. Tabel ini ditempatkan ke dalam set data dengan nama yang dihasilkan seperti "_c018003e063d09570001ef33ae401fad6ab92a6a".
- Tabel sementara yang dibuat di kueri multi-pernyataan ("skrip"). Tabel ini ditempatkan ke dalam set data dengan nama yang dihasilkan seperti "_script72280c173c88442c3a7200183a50eeeaa4073719".
Data yang disimpan di cache hasil kueri tidak ditagihkan kepada Anda, sehingga tidak disertakan dalam nilai kolom *_BYTES
.
Clone dan snapshot menampilkan nilai kolom *_BYTES
seolah-olah merupakan tabel lengkap, bukan menampilkan delta dari penyimpanan yang digunakan oleh tabel dasar, sehingga clone dan snapshot tersebut merupakan estimasi yang berlebihan. Tagihan Anda memperhitungkan penggunaan penyimpanan delta ini secara tepat. Untuk informasi selengkapnya tentang byte delta yang disimpan dan ditagih oleh clone dan
snapshot, lihat tampilan
TABLE_STORAGE_USAGE_TIMELINE
.
Memperkirakan penagihan penyimpanan
Untuk memperkirakan penagihan penyimpanan bulanan untuk set data, Anda dapat menggunakan kolom logical
atau physical *_BYTES
dalam tampilan ini, bergantung pada model penagihan penyimpanan set data yang digunakan oleh set data. Perlu diperhatikan bahwa ini hanya perkiraan kasar, dan jumlah penagihan yang tepat dihitung berdasarkan penggunaan oleh infrastruktur penagihan penyimpanan BigQuery serta terlihat di Penagihan Cloud.
Untuk set data yang menggunakan model penagihan logis, Anda dapat memperkirakan biaya penyimpanan bulanan sebagai berikut:
((nilai ACTIVE_LOGICAL_BYTES
/POW
(1024, 3)) * harga byte logis aktif) + ((nilai LONG_TERM_LOGICAL_BYTES
/POW
(1024, 3)) * harga byte logis jangka panjang)
Nilai ACTIVE_LOGICAL_BYTES
untuk tabel mencerminkan byte aktif yang saat ini digunakan oleh tabel tersebut.
Untuk set data yang menggunakan model penagihan fisik, Anda dapat memperkirakan biaya penyimpanan sebagai berikut:
((nilai ACTIVE_PHYSICAL_BYTES + FAIL_SAFE_PHYSICAL_BYTES
/POW
(1024, 3)) * harga byte fisik aktif) + ((nilai LONG_TERM_PHYSICAL_BYTES
/POW
(1024, 3)) * harga byte fisik jangka panjang)
Nilai ACTIVE_PHYSICAL_BYTES
untuk tabel mencerminkan byte aktif yang saat ini digunakan oleh tabel tersebut, plus byte yang digunakan dalam perjalanan waktu untuk tabel tersebut.
Untuk melihat byte aktif tabel saja, kurangi nilai TIME_TRAVEL_PHYSICAL_BYTES
dari nilai ACTIVE_PHYSICAL_BYTES
.
Untuk mengetahui informasi selengkapnya, lihat Harga penyimpanan.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk membuat kueri tampilan INFORMATION_SCHEMA.TABLE_STORAGE
, minta administrator untuk memberi Anda peran IAM BigQuery Metadata Viewer (roles/bigquery.metadataViewer
) pada project.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Manage access.
Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk membuat kueri tampilan INFORMATION_SCHEMA.TABLE_STORAGE
. Untuk melihat izin yang pasti diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat kueri tampilan INFORMATION_SCHEMA.TABLE_STORAGE
:
-
bigquery.tables.get
-
bigquery.tables.list
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran yang telah ditetapkan lainnya.
Skema
Tampilan INFORMATION_SCHEMA.TABLE_STORAGE
memiliki skema berikut:
Nama kolom | Jenis data | Nilai |
---|---|---|
PROJECT_ID |
STRING |
ID project dari project yang berisi set data |
TABLE_CATALOG |
STRING |
ID project dari project yang berisi set data |
PROJECT_NUMBER |
INT64 |
Nomor project dari project yang berisi set data |
TABLE_SCHEMA |
STRING |
Nama set data yang berisi tabel atau tampilan terwujud, juga disebut sebagai datasetId |
TABLE_NAME |
STRING |
Nama tabel atau tampilan terwujud, juga disebut sebagai tableId |
CREATION_TIME |
TIMESTAMP |
Waktu pembuatan tabel |
DELETED |
BOOLEAN |
Menunjukkan apakah tabel dihapus atau tidak |
STORAGE_LAST_MODIFIED_TIME |
TIMESTAMP |
Waktu terakhir kali data ditulis ke tabel. |
TOTAL_ROWS |
INT64 |
Jumlah total baris dalam tabel atau tampilan terwujud |
TOTAL_PARTITIONS |
INT64 |
Jumlah partisi yang ada dalam tabel atau tampilan terwujud. Tabel yang tidak dipartisi menampilkan 0. |
TOTAL_LOGICAL_BYTES |
INT64 |
Jumlah total byte logis (tidak terkompresi) dalam tabel atau tampilan terwujud |
ACTIVE_LOGICAL_BYTES |
INT64 |
Jumlah byte logis (tidak terkompresi) dengan usia kurang dari 90 hari |
LONG_TERM_LOGICAL_BYTES |
INT64 |
Jumlah byte logis (tidak terkompresi) dengan usia lebih dari 90 hari |
TOTAL_PHYSICAL_BYTES |
INT64 |
Jumlah total byte fisik (terkompresi) yang digunakan untuk penyimpanan, termasuk byte aktif, jangka panjang, dan perjalanan waktu (data yang dihapus atau diubah) |
ACTIVE_PHYSICAL_BYTES |
INT64 |
Jumlah byte fisik (terkompresi) dengan usia kurang 90 hari, termasuk byte perjalanan waktu (data dihapus atau diubah) |
LONG_TERM_PHYSICAL_BYTES |
INT64 |
Jumlah byte fisik (terkompresi) dengan usia lebih dari 90 hari |
TIME_TRAVEL_PHYSICAL_BYTES |
INT64 |
Jumlah byte fisik (terkompresi) yang digunakan oleh penyimpanan perjalanan waktu (data yang dihapus atau diubah) |
FAIL_SAFE_PHYSICAL_BYTES |
INT64 |
Jumlah byte fisik (terkompresi) yang digunakan oleh penyimpanan gagal aman (data yang dihapus atau diubah) |
TABLE_TYPE |
STRING |
Jenis tabel. Misalnya, `EXTERNAL` atau `BASE TABLE` |
Cakupan dan sintaksis
Kueri terhadap tabel virtual ini harus menyertakan penentu region. Tabel berikut menjelaskan cakupan region untuk tabel virtual ini:
Nama tabel virtual | Cakupan resource | Cakupan region |
---|---|---|
[`PROJECT_ID`.]`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE[_BY_PROJECT] |
Level project | REGION |
- Opsional:
PROJECT_ID
: ID project Google Cloud Anda. Jika tidak ditentukan, project default akan digunakan. REGION
: nama region set data apa pun. Misalnya,region-us
.
Contoh berikut menunjukkan cara menampilkan informasi penyimpanan untuk tabel di project yang ditentukan:
SELECT * FROM `myProject`.`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE;
Contoh berikut menunjukkan cara menampilkan informasi penyimpanan untuk tabel di region yang ditentukan:
SELECT * FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_BY_PROJECT;
Contoh
Contoh 1:
Contoh berikut menunjukkan total byte logis yang ditagih untuk project saat ini.
SELECT SUM(total_logical_bytes) AS total_logical_bytes FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE;
Hasilnya mirip dengan berikut ini:
+---------------------+ | total_logical_bytes | +---------------------+ | 971329178274633 | +---------------------+
Contoh 2:
Contoh berikut menunjukkan cara memperkirakan perbedaan harga per set data antara model penagihan logis dan fisik selama 30 hari ke depan. Contoh ini mengasumsikan bahwa penggunaan penyimpanan mendatang bersifat konstan selama 30 hari ke depan sejak kueri dijalankan. Perlu diperhatikan bahwa perkiraan dibatasi untuk tabel dasar. Perkiraan tidak mencakup semua jenis tabel lainnya dalam set data.
Harga yang digunakan dalam variabel harga untuk kueri ini adalah untuk region us-central1
. Jika Anda ingin menjalankan kueri ini untuk wilayah lain, perbarui variabel harga dengan tepat. Lihat Harga penyimpanan untuk mengetahui informasi harga.
Buka halaman BigQuery di Konsol Google Cloud.
Masukkan kueri GoogleSQL berikut di kotak Query editor.
INFORMATION_SCHEMA
memerlukan sintaksis GoogleSQL. GoogleSQL adalah sintaksis default di Konsol Google Cloud.DECLARE active_logical_gib_price FLOAT64 DEFAULT 0.02; DECLARE long_term_logical_gib_price FLOAT64 DEFAULT 0.01; DECLARE active_physical_gib_price FLOAT64 DEFAULT 0.04; DECLARE long_term_physical_gib_price FLOAT64 DEFAULT 0.02; WITH storage_sizes AS ( SELECT table_schema AS dataset_name, -- Logical SUM(IF(deleted=false, active_logical_bytes, 0)) / power(1024, 3) AS active_logical_gib, SUM(IF(deleted=false, long_term_logical_bytes, 0)) / power(1024, 3) AS long_term_logical_gib, -- Physical SUM(active_physical_bytes) / power(1024, 3) AS active_physical_gib, SUM(active_physical_bytes - time_travel_physical_bytes) / power(1024, 3) AS active_no_tt_physical_gib, SUM(long_term_physical_bytes) / power(1024, 3) AS long_term_physical_gib, -- Restorable previously deleted physical SUM(time_travel_physical_bytes) / power(1024, 3) AS time_travel_physical_gib, SUM(fail_safe_physical_bytes) / power(1024, 3) AS fail_safe_physical_gib, FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_BY_PROJECT WHERE total_physical_bytes > 0 -- Base the forecast on base tables only for highest precision results AND table_type = 'BASE TABLE' GROUP BY 1 ) SELECT dataset_name, -- Logical ROUND(active_logical_gib, 2) AS active_logical_gib, ROUND(long_term_logical_gib, 2) AS long_term_logical_gib, -- Physical ROUND(active_physical_gib, 2) AS active_physical_gib, ROUND(long_term_physical_gib, 2) AS long_term_physical_gib, ROUND(time_travel_physical_gib, 2) AS time_travel_physical_gib, ROUND(fail_safe_physical_gib, 2) AS fail_safe_physical_gib, -- Compression ratio ROUND(SAFE_DIVIDE(active_logical_gib, active_no_tt_physical_gib), 2) AS active_compression_ratio, ROUND(SAFE_DIVIDE(long_term_logical_gib, long_term_physical_gib), 2) AS long_term_compression_ratio, -- Forecast costs logical ROUND(active_logical_gib * active_logical_gib_price, 2) AS forecast_active_logical_cost, ROUND(long_term_logical_gib * long_term_logical_gib_price, 2) AS forecast_long_term_logical_cost, -- Forecast costs physical ROUND((active_no_tt_physical_gib + time_travel_physical_gib + fail_safe_physical_gib) * active_physical_gib_price, 2) AS forecast_active_physical_cost, ROUND(long_term_physical_gib * long_term_physical_gib_price, 2) AS forecast_long_term_physical_cost, -- Forecast costs total ROUND(((active_logical_gib * active_logical_gib_price) + (long_term_logical_gib * long_term_logical_gib_price)) - (((active_no_tt_physical_gib + time_travel_physical_gib + fail_safe_physical_gib) * active_physical_gib_price) + (long_term_physical_gib * long_term_physical_gib_price)), 2) AS forecast_total_cost_difference FROM storage_sizes ORDER BY (forecast_active_logical_cost + forecast_active_physical_cost) DESC;
Klik Run.
Hasilnya mirip dengan berikut ini:
+--------------+--------------------+-----------------------+---------------------+------------------------+--------------------------+-----------------------------+------------------------------+----------------------------------+-------------------------------+----------------------------------+--------------------------------+ | dataset_name | active_logical_gib | long_term_logical_gib | active_physical_gib | long_term_physical_gib | active_compression_ratio | long_term_compression_ratio | forecast_active_logical_cost | forecaset_long_term_logical_cost | forecast_active_physical_cost | forecast_long_term_physical_cost | forecast_total_cost_difference | +--------------+--------------------+-----------------------+---------------------+------------------------+--------------------------+-----------------------------+------------------------------+----------------------------------+-------------------------------+----------------------------------+--------------------------------+ | dataset1 | 10.0 | 10.0 | 1.0 | 1.0 | 10.0 | 10.0 | 0.2 | 0.1 | 0.04 | 0.02 | 0.24 |