Tengo un clúster Aurora DB de Amazon (AWS) , y cada día [Billed] Volume Bytes Used
aumenta.
He verificado el tamaño de todas mis tablas (en todas mis bases de datos en ese clúster) usando la INFORMATION_SCHEMA.TABLES
tabla:
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: 53 GB
Entonces, ¿por qué me cobran casi 75 GB en este momento?
Entiendo que el espacio aprovisionado nunca se puede liberar, de la misma manera que los archivos ibdata en un servidor MySQL normal nunca pueden reducirse; Estoy bien con eso. Esto está documentado y es aceptable.
Mi problema es que cada día aumenta el espacio que me facturan. Y estoy seguro de que NO estoy usando 75GB de espacio temporalmente. Si tuviera que hacer algo así, lo entendería. Es como si el espacio de almacenamiento que estoy liberando, eliminando filas de mis tablas, o soltando tablas, o incluso soltando bases de datos, nunca se reutilice.
Me he puesto en contacto con el soporte de AWS (premium) varias veces, y nunca pude obtener una buena explicación de por qué.
He recibido sugerencias para ejecutar OPTIMIZE TABLE
en las tablas en las que hay mucho free_space
(según la INFORMATION_SCHEMA.TABLES
tabla), o para verificar la longitud del historial de InnoDB, para asegurarme de que los datos eliminados no se mantengan en el segmento de reversión (ref: MVCC ) y reinicie las instancias para asegurarse de que el segmento de reversión esté vacío.
Ninguno de esos ayudó.