cassandra更新所有相关(超级)列族的最佳实践

时间:2011-10-24 05:25:48

标签: java design-patterns cassandra

以twissandra为例,当收到新的推文时,不仅需要更新推文的列族,还需要更新一些其他(超级)列族。当然,我们可以在收到新推文时按顺序执行此操作,逐个更新每个系列。但是,如果有十几个列系列需要更新呢?这对我来说似乎不是一种有效的方法。有没有其他方式,要么依赖于编程框架(例如Java),要么依赖于Message Queue之类的其他“实用程序”,或者更好的编程模型/设计模式来使其更具可扩展性和可维护性?

1 个答案:

答案 0 :(得分:2)

是的,您可以使用批量突变将一组更新组合在一起。例如,在Hector中,您可以执行以下操作:

mutator.addInsertion("jsmith", "Standard1",
    HFactory.createStringColumn("first", "John"))
    .addInsertion("jsmith", "Standard1", HFactory.createStringColumn("last", "Smith"))
    .addInsertion("jsmith", "Standard1", HFactory.createStringColumn("middle", "Q"));
mutator.execute();

请参阅“使用Mutator插入多个列”下的https://github.com/rantav/hector/wiki/User-Guide