cassandra:多次发送onse商店

时间:2015-12-22 14:44:50

标签: optimization insert cassandra

我需要用完全相同的数据在cassandra中填充4个不同的表。

我的意思是,我有N个字段,每个都有一些值,但我需要将它们存储在4个不同的表中(使用不同的PK定义)以允许不同的选择。

为此,我需要触发4个插入。

网络开销增加4倍,并且可以为cassandra和数据生成者工作。

在cassandra中有没有办法发送1-ce并保存在N个不同的表中?

我需要一些优化,但批次看起来不合适。

请帮助!!

2 个答案:

答案 0 :(得分:1)

Cassandra触发器也适用于你。您可以创建一个触发器Java类,并将它在Jar中部署到每个节点。当它拦截你的主表插入时,它也会写入其他人的写入。

答案 1 :(得分:0)

如果您不想使用批量插入,并且您有机会使用Cassandra 3.x,则可以使用新功能Materialized Views。 通过物化视图,您基本上可以完全满足您的要求。 您必须创建一个主表,您可以在其中执行所有插入操作。然后你必须创建3个物化视图。

当您将数据插入主表时,所有视图都将由cassandra更新。内部cassandra也将执行这些插入,因此流量开销仍然存在(仅从协调器开始而不是在客户端上)

请注意,这些新功能不是免费的。正如我所说,协调员将有高额流量和工作。目前只有简单的select语句,更复杂的查询现在无法正常工作。

提供的链接提供了有关这些视图如何工作的更多见解,因此请在那里进一步了解。