我设置了一个 mariadb 数据库来记录实验数据。在其中一个表中,我每行都存储了巨大的原始图像。由于每行包含 3 张 512*512px 图像,几百万行数据已经耗尽了磁盘空间。我有 12TB 的磁盘,数据库已经占用了约 10TB。图像之间的差异很小,所以我相信有很大的压缩空间。我想考虑压缩数据库,但由于可用空间有限,我想要一种方法来就地压缩它。我在 Ubuntu 20.04 上使用 mariadb 10.3.39。我不是数据库专家,但我很乐意学习更多。我试过:
ALTER TABLE images ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8 ALGORITHM=INPLACE;
我得到了:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ALGORITHM=INPLACE' at line 1
我还考虑过是否可以将表分成多个块,然后单独压缩每个分区。但是我也不确定对现有表进行分区是否需要更多空间。在盲目尝试之前,我想得到一些建议。