2016-09-27 110 views
1

我有一个使用历史记录页面的Messenger应用程序,您可以在其中查看您发送和接收的消息。动态Cassandra查询

由于消息量已经降低了我的表现,我一直在考虑使用Cassandra。

在研究Cassandra的主题之后,我发现你必须构建表来满足你的查询。

现在的问题:在历史页面上,您可以同时使用x个不同的过滤器。例如按日期,收件人和发件人过滤。

如果我要使用Cassandra,是否需要为这些过滤器的每个组合创建一个表? 或者这对Cassandra来说是一个糟糕的用例呢? 如果是这样,有没有其他的选择?

回答

0

你为什么不做一个SELECT语句。 你应该明确地看看CQL(Cassandra查询语言)。 虽然CQL和SQL共享类似的语法,但查询有很大不同。 这些差异的原因是Cassandra正在处理分布式数据,并且旨在防止低效查询。

查看this link仅供参考。它显示你可以或不可以做的查询。

+0

根据文章,where子句的属性需要有索引或是主键的一部分。在我的用例中,这意味着表的所有属性都有索引或是PK的一部分。还是我误解了某些东西? – Joshu

+0

主键是分区键列和聚簇列之间的组合。 聚类对于有效地检索行非常重要 – TableCreek