【问题标题】:Truncating the data create the snapshot in Cassandra consuming unnecessary space截断数据在 Cassandra 中创建快照,消耗不必要的空间
【发布时间】:2016-12-03 21:04:23
【问题描述】:
我有一个包含 40GB 空间的列族。我截断了列族。因此,在GC_GRACE_SECONDS Cassandra 创建了截断数据的快照之后,这些数据占用了相同的空间量。有什么方法可以在不禁用快照创建的情况下摆脱快照使用的空间。我的意思是没有任何超时参数,之后它将删除消耗不必要空间的快照。
【问题讨论】:
标签:
cassandra
cassandra-2.0
datastax-enterprise
cassandra-2.1
【解决方案1】:
截断列族后创建的快照实际上是 C* 中的一种安全机制,可避免在意外表删除或截断的情况下大量数据丢失(顺便说一句,它与 gc_grace_seconds 无关)。 cassandra.yaml 中有一个设置“auto_snapshot”,默认为 true。来自 DataStax 文档
自动快照
(默认值: true )启用或禁用是否在键空间截断或删除表之前对数据进行快照。为防止数据丢失,强烈建议使用默认设置。如果设置为 false,则会在截断或丢弃时丢失数据。
如果您想删除快照,则可以使用 nodetool clearsnapshot 命令,如here
中所述