Saya memiliki kluster Aurora DB Amazon (AWS) , dan setiap hari, [Billed] Volume Bytes Used
semakin meningkat.
Saya telah memeriksa ukuran semua tabel saya (di semua database saya di cluster itu) menggunakan INFORMATION_SCHEMA.TABLES
tabel:
SELECT ROUND(SUM(data_length)/1024/1024/1024) AS data_in_gb, ROUND(SUM(index_length)/1024/1024/1024) AS index_in_gb, ROUND(SUM(data_free)/1024/1024/1024) AS free_in_gb FROM INFORMATION_SCHEMA.TABLES;
+------------+-------------+------------+
| data_in_gb | index_in_gb | free_in_gb |
+------------+-------------+------------+
| 30 | 4 | 19 |
+------------+-------------+------------+
Total: 53GB
Jadi mengapa saya ditagih hampir 75GB saat ini?
Saya mengerti bahwa ruang yang disediakan tidak pernah bisa dibebaskan, dengan cara yang sama bahwa file-file ibdata pada server MySQL biasa tidak pernah bisa menyusut; Saya setuju dengan itu. Ini didokumentasikan, dan dapat diterima.
Masalah saya adalah bahwa setiap hari, ruang yang ditagih meningkat. Dan saya yakin saya TIDAK menggunakan ruang 75GB untuk sementara. Jika saya melakukan sesuatu seperti itu, saya akan mengerti. Seolah-olah ruang penyimpanan yang saya bebaskan, dengan menghapus baris dari tabel saya, atau menjatuhkan tabel, atau bahkan menjatuhkan database, tidak pernah digunakan kembali.
Saya telah menghubungi dukungan AWS (premium) beberapa kali, dan tidak pernah bisa mendapatkan penjelasan yang bagus tentang alasan itu.
Saya telah menerima saran untuk berjalan OPTIMIZE TABLE
di tabel yang memiliki banyak free_space
(per INFORMATION_SCHEMA.TABLES
tabel), atau untuk memeriksa panjang riwayat InnoDB, untuk memastikan data yang dihapus tidak tetap disimpan di segmen rollback (ref: MVCC ) , dan mulai ulang instance untuk memastikan segmen rollback dikosongkan.
Tidak ada yang membantu.