将一张大桌子分成多个较小的Cassandra?

时间:2014-10-13 10:53:19

标签: hadoop cassandra

来自MongoDB背景,我们倾向于根据周将数据摄取分成多个集合(包含相同类型的数据)。这完全取决于我们的索引的性能。

考虑在Cassandra中对这个相同的概念进行建模,是否值得做同样的事情,并根据时间段设置多个表?所以也许每周一次表。

是否有任何性能提升?

我也问这个问题,由于我对Hadoop集成的研究,我可能只想映射/减少超过一周的数据,而不是所有的数据和我可以告诉的这是最好的方法隔离我们想要映射的数据。

提前感谢您对此的任何意见。

2 个答案:

答案 0 :(得分:1)

这不是必需的。但是,重要的是要注意您不应该使用Cassandra的二级索引,您应该对数据建模以匹配您正在执行的查询。

如果您经常希望每周执行一次操作,那么您可能希望按周提取数据。也就是说,每个分区都有1周的数据。 (分区可以包含多行)

您可能会觉得通过几个月前拍摄的Cassandra视频介绍是有益的:https://www.youtube.com/watch?v=W45Ysb9b6oE

答案 1 :(得分:0)

随着Cassandra内部工作,你已经拥有了。 Cassandra中的节点包含许多PK(分区键)及其数据。如果您选择每周PK数据,则需要对其进行排序。 Cassandra会将特定PK的所有数据放在一个节点中。

当您查询时,Cassandra知道哪个节点保存该PK的数据。它将仅查询该节点并检索数据。所以Cassandra做了你想出的问题。