Cassandra vs Hbase用于存储每个用户的事件计数

时间:2015-04-02 07:33:12

标签: cassandra hbase cassandra-2.0

我想知道在下列情况下是否应该使用Hbase或Cassandra:

  1. 我需要为每位客户进行事件跟踪。哪个会存一个 每天和第二天的客户排将创建另一个 为同一客户排。但是这一行可能会得到更新 经常在一天内为客户服务。现在,当有相当的时候 频繁更新表。

  2. 如果频繁更新,数据将被分成多个 SSTables。这将导致阅读时延迟增加。 cassandra柜台背后的主要目的是什么?

  3. 此外,在hbase的情况下,存在单点问题 故障。

1 个答案:

答案 0 :(得分:1)

  1. Cassandra似乎适合您的用例,因为它在写入时非常有效。它看起来像经典"时间序列" case:对于每个customer-day(=分区键),在分区中插入每个事件。
  2. 有几种策略可以改善更新和读取性能:插入新行而不是更新现有行,使用分层压缩而不是大小分层压缩,使用缓存...计数器通常用于计算点击次数,页面查看等统计信息......当故障发生时,它们可能不准确,并且比upsert效率低一些。
  3. HBase是一个主从,以HDFS存储数据(性能较低),并且设置起来比较复杂(HDFS,Zookeeper),除非您已经有Hadoop发行版。这个video可能会让您感兴趣(跳过开头)。