在单节点cassandra中设置gc_grace_seconds=0时对性能的影响。

问题描述 投票:0回答:1

我理解,当在Cassandra中删除一条记录时,该值并不是真正被删除,而是被标记为墓碑,这样才能在其他节点之间实现一致性。

在我的生产设置中,我正在接收来自1000个传感器的数据,并将这些数据推送到Azure服务总线上,生产中互联网不是很稳定,所以我有一个cassandra节点来存储还没有发送到Azure的数据。

一旦我发送到Azure,我就会删除成功发送的Cassandra记录中的数据,我已经将GC_Grace_Seconds表设置为0,而且我以后再也不打算在这个集群中添加其他节点(一直是单节点Cassandra)。

这是否会给我未来的这个计划带来任何问题...? 这个表的性能是否会降低...?它会不会影响我可能想在这个节点上创建的任何其他表...?

cassandra cassandra-3.0 tombstone
1个回答
0
投票

对于这个特定的用例,当你有一个计划与单节点cassandra集群进行,它不会有任何这样的影响。所以每当数据从gc_grace_seconds=0的表中被删除时,它将被视为已删除,而不是标记为墓碑。另外,因为这只是一个单节点的cassandra集群,所以不需要担心任何对等节点来共享删除更新。

但另一个问题是选择cassandra数据库作为单节点集群,首选Postgres可以轻松满足你的需求。

© www.soinside.com 2019 - 2024. All rights reserved.