Ho un cluster Aurora DB Amazon (AWS) e ogni giorno [Billed] Volume Bytes Used
è in aumento.
Ho controllato la dimensione di tutte le mie tabelle (in tutti i miei database su quel cluster) usando la INFORMATION_SCHEMA.TABLES
tabella:
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 |
+------------+-------------+------------+
Totale: 53 GB
Quindi perché un fatturazione di quasi 75 GB in questo momento?
Capisco che lo spazio fornito non può mai essere liberato, allo stesso modo in cui i file ibdata su un normale server MySQL non possono mai ridursi; Sono d'accordo con quello. Questo è documentato e accettabile.
Il mio problema è che ogni giorno aumenta lo spazio che mi viene addebitato. E sono sicuro che NON sto usando temporaneamente 75 GB di spazio. Se dovessi fare qualcosa del genere, capirei. È come se lo spazio di archiviazione che sto liberando, eliminando le righe dalle mie tabelle, o rilasciando le tabelle, o persino eliminando i database, non venisse mai riutilizzato.
Ho contattato il supporto AWS (premium) più volte e non sono mai stato in grado di ottenere una buona spiegazione del perché.
Ho ricevuto suggerimenti per l'esecuzione OPTIMIZE TABLE
sulle tabelle in cui è presente free_space
(per INFORMATION_SCHEMA.TABLES
tabella) o per verificare la lunghezza della cronologia di InnoDB, per assicurarmi che i dati eliminati non siano ancora conservati nel segmento di rollback (rif: MVCC ) e riavviare le istanze per assicurarsi che il segmento di rollback sia svuotato.
Nessuno di questi ha aiutato.