Cassandra的低延迟聚集

时间:2014-07-31 20:09:33

标签: cassandra

我们正在向系统中提取大量时间序列指标。我们无法使用当前的基础架构处理写入负载。所以,我们正在评估cassandra。

有关我们现有实时系统的更多信息

  • 我们收集特定于应用程序的时间序列指标
  • 我们将它们写入数据库
  • 这是我们跟踪的数据样本
{
  appId: 'applicationId', 
  route: 'routeName', 
  time: 1406845866304, 
  resTime: 500, 
  dbTime: 200
}
  • 然后在添加数据后,我们将它们聚合成不同的分辨率
  • 例如,我们为每个跟踪的指标预先汇总了1分钟,30分钟,3小时,天的分辨率数据
  • 然后我们的前端应用会提出如下的不同问题。我们对他们进行adhoc聚合。

    • 给我这个X时间段的平均resTime
    • 列出在给定时间段内具有更高resTime的前10条路线

对Cassandra的关注

我们可以通过运行一些后台作业与cassandra进行预聚合。但我们需要在低延迟(低于5毫秒)下进行特殊查询。通过我们预先汇总的数据,这似乎微不足道。

但由于cassandra没有聚合支持,我们需要找到其他解决方案。我们尝试了一些内存数据源中的spark(没有cassandra)。但是花费更多的时间来为这样的少量数据进行聚合。

因此,唯一可行的选择是在cassandra之上创建聚合引擎。我只是想知道还有其他方法可以做到这一点还是有一些现有的解决方案?

0 个答案:

没有答案