Metrik penggunaan penyimpanan

Halaman ini menjelaskan metrik pemanfaatan penyimpanan yang disediakan Spanner.

Secara default, data Anda disimpan di penyimpanan solid-state drive (SSD). Anda dapat memilih apakah akan menyimpan data di SSD atau hard disk drive (HDD) dengan menggunakan penyimpanan bertingkat. Untuk mengetahui informasi selengkapnya, lihat Ringkasan penyimpanan bertingkat.

Metrik penyimpanan

Spanner menyediakan metrik penyimpanan berikut:

  • Total penyimpanan database: Jumlah data yang disimpan dalam database atau database di instance. Hal ini tunduk pada batas penyimpanan.
  • Total penyimpanan cadangan: Jumlah data yang disimpan oleh cadangan yang terkait dengan instance atau database. Penyimpanan cadangan disimpan dan ditagih secara terpisah dan tidak ada batasan jumlah yang dapat Anda simpan.

Anda dapat melihat diagram untuk metrik ini di konsol Google Cloud atau di konsol Cloud Monitoring.

Selain itu, pemanfaatan penyimpanan database ditampilkan di halaman Instances dan Instance details di konsol Cloud.

Buka halaman instance

Penyimpanan multi-versi

Jika Anda sering menggunakan metrik penyimpanan di atas untuk memeriksa ukuran data, Anda mungkin sesekali menemukan hasil yang tidak sesuai dengan harapan Anda. Misalnya, Anda mungkin melihat total penyimpanan yang dilaporkan untuk database Anda berkurang dalam jumlah yang signifikan, meskipun Anda belum menghapus data apa pun baru-baru ini. Sebaliknya, Anda mungkin melihat ukurannya tetap relatif tidak berubah tepat setelah melakukan penghapusan yang signifikan.

Efek ini berasal dari dukungan Spanner untuk penyimpanan multi-versi. Penyimpanan multi-versi menyimpan semua data yang dihapus atau ditimpa dalam penyimpanan dan tersedia untuk waktu terbatas guna mengaktifkan fitur yang memungkinkan Anda membaca nilai data sebelumnya, seperti pembacaan basi dan pemulihan point-in-time. Penghapusan data dalam jumlah besar tidak akan langsung tercermin dalam metrik penyimpanan database Anda. Demikian pula, penurunan ukuran total database yang tampaknya tidak diminta kemungkinan berarti bahwa proses pemadatan data reguler Spanner baru-baru ini membersihkan sekumpulan besar data yang dihapus atau ditimpa sejak beberapa hari yang lalu.

Spanner menjamin ketersediaan berkelanjutan data yang dihapus atau ditimpa selama interval yang ditentukan oleh opsi version_retention_period (satu jam, secara default). Proses ini otomatis menjalankan proses latar belakang setiap beberapa hari yang menghapus secara permanen semua data usang yang lebih lama dari interval retensi versi ini.

Efek pemisahan

Selama periode beban tinggi atau hotspot, Spanner menggunakan pemisahan sebagai salah satu teknik untuk mendistribusikan pemakaian CPU secara lebih merata di seluruh resource komputasi yang disediakan. Salah satu efek samping dari pemisahan adalah peningkatan sementara dalam penggunaan penyimpanan. Untuk data yang dibagi, selama siklus pemadatan mingguan, mungkin ada hingga dua salinan rentang yang dibagi asli yang dipertahankan pada waktu tertentu hingga siklus memiliki kesempatan untuk mengecilkan pembagian dan menghapus salinan data tambahan.

Statistik penyimpanan

Semua data yang di-ingest ke Spanner biasanya muncul dalam statistik penyimpanan dalam beberapa menit. Namun, dalam kasus tertentu, meskipun data akan dapat diakses untuk dibaca (dan tahan lama melalui teknik seperti pencatatan write-ahead), data akan memerlukan waktu lebih lama untuk muncul dalam statistik penggunaan penyimpanan, hingga beberapa hari.

Hal ini terjadi karena semua data yang di-ingest (selain salinan yang dicatat selama commit untuk tujuan ketahanan dan pemulihan) berada sementara dalam memori sebelum ditulis ke penyimpanan fisik di latar belakang. Jumlah data yang dapat dan akan berada di memori serta durasi data tersebut berada di memori sebelum ditulis ke penyimpanan fisik bergantung pada ukuran komputasi Anda serta ukuran dan performa beban kerja Anda.

Membuat pemberitahuan penyimpanan

Anda dapat membuat pemberitahuan penyimpanan di konsol Cloud Monitoring. Kami juga menyediakan cara mudah untuk membuat pemberitahuan penyimpanan database langsung dari konsolGoogle Cloud . Link Create alerting policy di diagram (lihat screenshot) akan mengarahkan Anda ke halaman pembuatan pemberitahuan di konsol Cloud Monitoring dan otomatis mengisi kolom yang relevan.

Layar metrik Spanner di konsol dengan tombol berlabel Buat kebijakan pemberitahuan.

Sebaiknya jaga total penyimpanan database Anda di bawah batas penyimpanan. Hal ini memastikan bahwa Spanner memiliki cukup ruang kosong untuk beroperasi secara normal dan melakukan pemeliharaan rutin pada data.

Jika Anda mendekati batas, Spanner dapat mencegah Anda melakukan operasi yang membuat Anda melebihi batas, seperti:

  • Memulihkan database dari cadangan.
  • Mengubah skema database (misalnya, menambahkan indeks).
  • Mengurangi kapasitas komputasi instance Anda.

Jika Anda melampaui batas penyimpanan, Spanner akan mencoba beroperasi secara normal, tetapi Anda mungkin mengalami penurunan performa atau kegagalan karena tekanan sumber daya. Jika Anda mendekati atau melampaui maksimum yang direkomendasikan, konsolGoogle Cloud akan menampilkan peringatan yang berbunyi "Instance telah mencapai kapasitas penyimpanan maksimumnya dan mungkin mengalami penurunan aktivitas" saat menampilkan instance yang terpengaruh.

Anda juga dapat membuat pemberitahuan di Cloud Monitoring untuk memberi tahu Anda.

Mengurangi pemanfaatan penyimpanan database

Untuk mengurangi penggunaan penyimpanan database instance, Anda dapat:

  • Tambahkan kapasitas komputasi lainnya.
  • Menghapus database.
  • Menghapus data dari database. Perhatikan bahwa meskipun penghapusan data langsung berlaku dari perspektif visibilitas, penghapusan data tidak memengaruhi metrik pemanfaatan penyimpanan hingga Spanner memadatkan data (biasanya dalam waktu 12 jam, tetapi dapat memakan waktu lebih lama dalam kasus tertentu). Oleh karena itu, Anda mungkin melihat penundaan dari saat data dihapus hingga saat perubahan muncul dalam metrik.

Secara umum, sebaiknya tambahkan kapasitas komputasi ke instance Anda sebagai titik awal. Setelah menambahkan kapasitas komputasi, Anda dapat menyelidiki dan mengatasi penyebab utama pemakaian penyimpanan yang tinggi.

Jika ingin mengotomatiskan proses ini, Anda dapat membuat aplikasi yang memantau penggunaan penyimpanan database, lalu menambahkan dan menghapus kapasitas komputasi sesuai kebutuhan, menggunakan metode UpdateInstance.

Langkah berikutnya