Cassandra计算用例

时间:2014-10-05 05:16:37

标签: cassandra cassandra-2.0

我正在尝试为Casandra的计数器功能找出合适的用例。我想到了一个情况,我想知道这是否可行。我不太确定,因为我还在尝试使用Cassandra所以任何建议都会受到赞赏。

让我们说你有一个小视频服务,你录制了Cassandra的视图日志,同时录制了播放的视频,用户播放的视频,乡村,参考等等。你显然想要显示该视频的次数每次插入一个播放事件时,播放会增加一个计数器是一个很好的解决方案吗?或者会有更好的选择。计算每次读取的所有事件都会产生相当大的性能损失,即使您缓存了结果,如果您有一个繁忙的站点,缓存也会很快失效。

任何建议都将不胜感激!

1 个答案:

答案 0 :(得分:2)

计数器可以用于应用程序中需要计算的任何内容 - “前端”数据和“后端”数据。我个人使用它们来存储用户的行为信息(用于后端分析)和前端评级(用户在我的平台中执行的每个操作都会向用户提供一些点)。用例没有实际限制 - 限制是由几个技术限制给出的,我想到的更大:

  1. 计数器cf只能由计数器列(显然除了PK)
  2. 计数器无法重置:将0值设置为您需要在写入前读取和计算的计数器(不保证其他人在您之前更新)
  3. 没有ttl且没有索引/删除
  4. 就你的视频服务而言,这一切都取决于你如何选择建模数据 - 如果你找到一个有效的模型,每次你写/读时你会看到几个分区,你有一个很好的密钥分配,我看不到任何实施中的实际问题。

    顺便说一下:你标记了Cassandra 2.0,但如果你必须使用计数器,你应该考虑2.1,因为所描述的原因here