AWS RDS MariaDB 在简单的更改表上无缘无故地消耗了 300GB

lib*_*bik 6 database alter-table amazon-web-services mariadb devops

我们在 r5.large 实例上的 AWS RDS 中有 MariaDB。我们有 4 个实例,每个实例使用了大约 350GB 的存储空间。每个实例有近 2000 个不同的数据库,迁移尝试在所有数据库上运行,但算法会一一执行迁移。

我们正在修改的表实际上很小——每个数据库通常有数百行。

出于某种奇怪的原因,当我们运行此迁移时,AWS RDS MariaDB 消耗了我们拥有的所有存储,因为我们已自动扩展存储,它的值从 350GB 跃升至约 650GB,但仍然不够。此外,如此庞大的数据消耗非常快(基于监控1-2分钟)。然后它就停止了,因为 AWS 拒绝如此迅速地给我们更多的空间,而且没有剩余的存储空间。

它发生在所有 4 个实例上。

这是我们使用的alter表

ALTER TABLE `item_place`
    ADD COLUMN IF NOT EXISTS `deleted_at` datetime NULL,
    ALGORITHM=NOCOPY, LOCK=NONE;

ALTER TABLE `item_place`
    ADD INDEX IF NOT EXISTS `deleted_at` (`deleted_at`),
    ALGORITHM=NOCOPY, LOCK=NONE;
Run Code Online (Sandbox Code Playgroud)

我们没有看到任何异常。此外,我们有具有相同迁移的 TEST 数据库,但那里什么也没发生。虽然它们要小得多(5GB),但是当在那里执行迁移时,我们没有看到存储空间的小幅下降。

我们在日志中没有发现任何特别之处。

the*_*fon 2

我们有同样的问题。将 MariaDB 版本从 10.3.8 升级到 10.5.8 解决了该问题。