Spanner menyediakan tabel bawaan berikut:
SPANNER_SYS.TABLE_SIZES_STATS_1HOUR: mencantumkan ukuran tabel dan indeks dalam database Anda.SPANNER_SYS.TABLE_SIZES_STATS_PER_LOCALITY_GROUP_1HOUR: mencantumkan ukuran tabel dan indeks dalam database Anda untuk setiap grup lokalitas.
Ukuran tabel dalam byte. Ukuran tabel mencakup versi data. Anda dapat menggunakan tabel bawaan ini untuk memantau ukuran tabel dan indeks dari waktu ke waktu. Anda juga dapat memantau ukuran indeks saat Anda membuat, menghapus, dan mengubahnya (saat Anda menyisipkan lebih banyak baris ke dalam indeks atau saat Anda menambahkan kolom baru ke indeks). Selain itu, Anda juga dapat melihat ukuran tabel aliran perubahan.
Penyimpanan database dapat dipantau dengan metrik Total penyimpanan database.
Anda dapat melihat perincian penyimpanan database dengan SPANNER_SYS.TABLE_SIZES_STATS_1HOUR dan SPANNER_SYS.TABLE_SIZES_STATS_PER_LOCALITY_GROUP_1HOUR.
Mengakses statistik ukuran tabel
Spanner menyediakan statistik ukuran tabel dalam skema SPANNER_SYS. Anda dapat menggunakan cara berikut untuk mengakses data SPANNER_SYS:
Halaman Spanner Studio database di Google Cloud konsol.
Perintah
gcloud spanner databases execute-sql.Metode
executeSqlatauexecuteStreamingSql.
Metode baca tunggal berikut yang disediakan Spanner tidak mendukung SPANNER_SYS:
- Melakukan pembacaan yang kuat dari satu baris atau beberapa baris dalam tabel.
- Melakukan pembacaan yang tidak valid dari satu baris atau beberapa baris dalam tabel.
- Membaca dari satu baris atau beberapa baris dalam indeks sekunder.
TABLE_SIZES_STATS_1HOUR
SPANNER_SYS.TABLE_SIZES_STATS_1HOUR berisi ukuran semua tabel dalam database Anda, yang diurutkan berdasarkan interval_end. Interval didasarkan pada waktu jam, yang berakhir pada jam. Secara internal, setiap 5 menit, Spanner mengumpulkan data dari semua server, lalu menyediakan data di tabel TABLE_SIZES_STATS_1HOUR segera setelahnya. Data kemudian dirata-ratakan per jam. Misalnya, pada pukul 11.59.30, TABLE_SIZES_STATS_1HOUR menampilkan ukuran tabel rata-rata dari interval 10.00.00 - 10.59.59.
Skema tabel
| Nama kolom | Jenis | Deskripsi |
|---|---|---|
INTERVAL_END |
TIMESTAMP |
Akhir interval waktu saat ukuran tabel dikumpulkan. |
TABLE_NAME |
STRING |
Nama tabel atau indeks. |
USED_BYTES |
FLOAT64 |
Ukuran tabel dalam byte. |
USED_SSD_BYTES |
FLOAT64 |
Penyimpanan SSD yang digunakan oleh tabel dalam byte. |
USED_HDD_BYTES |
FLOAT64 |
Penyimpanan HDD yang digunakan oleh tabel dalam byte. |
Contoh kueri
Bagian ini mencakup beberapa contoh pernyataan SQL yang mengambil statistik ukuran tabel gabungan. Anda dapat menjalankan pernyataan SQL ini menggunakan the library klien, the gcloud spanner, atau the Google Cloud konsol.
Membuat kueri 4 tabel dan indeks terbesar untuk interval terbaru
Kueri berikut menampilkan 4 tabel dan indeks terbesar untuk interval terbaru:
SELECT interval_end,
table_name,
used_bytes
FROM spanner_sys.table_sizes_stats_1hour
WHERE interval_end = (
SELECT MAX(interval_end)
FROM spanner_sys.table_sizes_stats_1hour)
ORDER BY used_bytes DESC
LIMIT 4;
Output kueri
| interval_end | table_name | used_bytes |
|---|---|---|
2022-11-15 13:00:00-07:00 |
order_item |
60495552 |
2022-11-15 13:00:00-07:00 |
orders |
13350000 |
2022-11-15 13:00:00-07:00 |
item_inventory |
2094549 |
2022-11-15 13:00:00-07:00 |
customer |
870000 |
Membuat kueri tren ukuran untuk tabel atau indeks tertentu selama 24 jam terakhir
Kueri berikut menampilkan ukuran tabel selama 24 jam terakhir:
GoogleSQL
SELECT interval_end, used_bytes FROM spanner_sys.table_sizes_stats_1hour WHERE interval_end > TIMESTAMP_ADD(CURRENT_TIMESTAMP(), INTERVAL -24 HOUR) AND table_name = "table_name" ORDER BY interval_end DESC;
Dengan:
table_nameharus berupa tabel atau indeks yang ada dalam database.
PostgreSQL
SELECT interval_end, used_bytes FROM spanner_sys.table_sizes_stats_1hour WHERE interval_end > spanner.timestamptz_subtract(now(), '24 HOUR') AND table_name = 'table_name' ORDER BY interval_end DESC;
Dengan:
table_nameharus berupa tabel atau indeks yang ada dalam database.
Output kueri
| interval_end | used_bytes |
|---|---|
2022-11-15 13:00:00-07:00 |
13350000 |
2022-11-15 12:00:00-07:00 |
13350000 |
2022-11-15 11:00:00-07:00 |
13350000 |
2022-11-15 10:00:00-07:00 |
13350000 |
2022-11-15 09:00:00-07:00 |
13350000 |
2022-11-15 08:00:00-07:00 |
12350000 |
2022-11-15 07:00:00-07:00 |
12350000 |
2022-11-15 06:00:00-07:00 |
12350000 |
2022-11-15 05:00:00-07:00 |
11350000 |
2022-11-15 04:00:00-07:00 |
11350000 |
2022-11-15 03:00:00-07:00 |
11350000 |
2022-11-15 02:00:00-07:00 |
11350000 |
2022-11-15 01:00:00-07:00 |
11350000 |
2022-11-15 00:00:00-07:00 |
10350000 |
2022-11-14 23:00:00-07:00 |
10350000 |
2022-11-14 22:00:00-07:00 |
10350000 |
2022-11-14 21:00:00-07:00 |
10350000 |
2022-11-14 20:00:00-07:00 |
10350000 |
2022-11-14 19:00:00-07:00 |
10350000 |
2022-11-14 18:00:00-07:00 |
10350000 |
2022-11-14 17:00:00-07:00 |
10350000 |
2022-11-14 16:00:00-07:00 |
10350000 |
2022-11-14 15:00:00-07:00 |
10350000 |
2022-11-14 14:00:00-07:00 |
10350000 |
2022-11-14 13:00:00-07:00 |
10350000 |
TABLE_SIZES_STATS_PER_LOCALITY_GROUP_1HOUR
SPANNER_SYS.TABLE_SIZES_STATS_PER_LOCALITY_GROUP_1HOUR berisi ukuran semua tabel dalam database Anda, yang diurutkan berdasarkan interval_end, untuk setiap grup lokalitas. Interval didasarkan pada waktu jam, yang berakhir pada jam. Secara internal, setiap 5 menit, Spanner mengumpulkan data dari semua server, lalu menyediakan data di tabel TABLE_SIZES_STATS_PER_LOCALITY_GROUP_1HOUR segera setelahnya. Data kemudian dirata-ratakan per jam. Misalnya, pada pukul 11.59.30, TABLE_SIZES_STATS_PER_LOCALITY_GROUP_1HOUR menampilkan ukuran tabel rata-rata untuk setiap grup lokalitas dari interval 10.00.00 - 10.59.59.
Skema tabel
| Nama kolom | Jenis | Deskripsi |
|---|---|---|
INTERVAL_END |
TIMESTAMP |
Akhir interval waktu saat ukuran tabel dikumpulkan. |
TABLE_NAME |
STRING |
Nama tabel atau indeks. |
LOCALITY_GROUP |
STRING |
Nama grup lokalitas. |
USED_BYTES |
FLOAT64 |
Ukuran tabel dalam byte. |
USED_SSD_BYTES |
FLOAT64 |
Penyimpanan SSD yang digunakan oleh tabel dalam byte. |
USED_HDD_BYTES |
FLOAT64 |
Penyimpanan HDD yang digunakan oleh tabel dalam byte. |
Retensi data
Minimal, Spanner menyimpan data untuk SPANNER_SYS.TABLE_SIZES_STATS_1HOUR untuk interval yang mencakup 30 hari sebelumnya.
Langkah berikutnya
- Pelajari alat Introspeksi lainnya.
- Pelajari informasi lain yang disimpan Spanner untuk setiap database di tabel skema informasi database.
- Pelajari praktik terbaik SQL untuk Spanner lebih lanjut.
- Pelajari lebih lanjut Cara menyelidiki penggunaan CPU yang tinggi.