2010-12-22 78 views
4

我想知道如何实现自定义数据复制策略,我可以完全控制每个记录的复制方式(可以通过覆盖分区程序和/或ReplicatePlacementStrategy来完成)。cassandra中的自定义数据复制?

我希望只能复制一些精选的记录,而不用单独复制剩余的记录。 所以,基本上我想说:“通过所有节点复制此记录”或“通过仅两个节点复制该记录”或“根本不复制记录!”

如果这样的事情是不可能的,那么最简单的事情就是在调用写入代码时简单地使用ONE/ALL/QUORUM/etc一致性级别?

显然,我是卡桑德拉的新人,并没有完全包裹着我的头。任何澄清将是伟大的!

+0

你为什么要这样做?你有几个特定的​​密钥,你事先知道将是热点阅读,或者是否有其他原因? – yfeldblum 2010-12-22 15:29:21

+1

这就是我想要这样做的确切原因。我打算跟踪热点并相应地进行复制。 – Dennis 2010-12-22 22:08:00

回答

3

NetworkTopologyStrategy允许您在每个按键空间的基础上对其进行控制。如果您确实需要按键,则需要在自定义策略中重写calculateNaturalEndpoints方法。