2015-01-02 79 views
1

我玩弄Python和一些的NoSql DB的创建文件存储(主要是因为建在复制),我的MongoDB和其工作尝试过进行碎片整理,但由于“写贪婪”本性MongoDB的我搬到了cassandra并实施了同样的事情。虽然它的工作,我想知道(指向我的文档,将罚款)如何碎片整理cassandra中的数据。我会用例子来解释一下,比如说我上传了200 MB的文件,然后是20 MB的文件。现在cassandra的数据大小是〜220MB。如果我去并删除200MB文件,那么我也看到数据大小是〜200MB,这样空间不会被回收。在mongoDB中有一个命令获得(重新使用相同的空间用于新文件),我想知道在cassandra中可以实现相同的效果。我正在困惑黑白压缩&压实。如何在卡桑德拉表

为了存储数据,我将文件部分拆分,然后在表中存储为“blob”。

回答

0

卡桑德拉清理删除,并且使用称为compaction处理过期数据。

虽然你可以强迫自己使用nodetool compact compactions,我不会推荐这个,因为它是更好地调整压实,让它在后台发生。

由于cassandra具有一个名为'gc_grace_seconds'的配置属性,可以防止数据被标记为删除(通过逻辑删除)删除,直到gc_grace_seconds通过为止。默认值为10天,但您可以将其配置为较小的值,或者甚至将其设置为0以禁用墓碑。

+0

谢谢安迪:)移动应用程序不允许我upvote或如预期ans –

+0

不用担心,乐意帮助! :) –