德鲁伊可以取代卡桑德拉吗?

时间:2015-01-07 06:54:13

标签: cassandra druid

我无法帮助认为Cassandra没有比Druid更有效的服务用例。作为时间序列存储或键值,可以使用Druid编写查询以提取所需的数据。 here论证更多的是为了证明德鲁伊而不是卡桑德拉。

除了卡桑德拉的快速写作,还有其他什么吗? Esp给出了德鲁伊的实时聚合/查询能力,它不会超过Cassandra。

对于一个可以回答的更直接的问题 - 德鲁伊没有提供像卡桑德拉那样的特征的超集,并且在使用德鲁伊时不会更好吗?对于所有用例?

3 个答案:

答案 0 :(得分:17)

  

对于一个可以回答的更直接的问题 - 德鲁伊没有提供像卡桑德拉那样的特征的超集,并且在使用德鲁伊时不会更好吗?对于所有用例?

完全没有,他们没有可比性。我们在这里谈论两种截然不同的技术。简单的方法是将Cassandra视为分布式存储解决方案,但德鲁伊是一个分布式聚合器(即一个非常棒的开源OLAP工具(:)。在我看来,你所指的帖子在某种意义上有点误导它比较了数据挖掘领域的两个项目,这不是卡桑德拉的重点。

德鲁伊根本不擅长点查。它喜欢时间序列,并且其分区主要基于基于日期的片段(例如,可以基于大小进一步分片的每小时/每月等片段)。

德鲁伊根据预定义的聚合器预先聚合您的数据 - 这些聚合符是数字(例如,以每日粒度对您网站中点击事件的数量进行求和等)。如果想要从字符串中存储键查找来说出另一个字符串或一个确切的数字,那么德鲁伊是他/她可以寻找的最差解决方案。

答案 1 :(得分:9)

不确定这是一个SO类型的问题,但简单的答案是它是一个用例问题。简而言之,德鲁伊在为实时摄取的数据提供非常快速的即席查询时会发光。它现在读取一致,并且您不受预先计算的查询限制以获得速度。另一方面,你不能写入它所拥有的数据,你只能覆盖。

Cassandra(来自我所阅读的内容;还没有使用它)更像是一个支持写入的最终一致的数据存储,并且非常适合预计算。它并不打算连续摄取数据,同时提供对同一数据的即席查询的实时访问。

事实上,这两者可以合作,就像planetcassandra.org在"Cassandra as a Deep Storage Mechanism for Druid Real-Time Analytics Engine!"中提出的那样。

答案 2 :(得分:0)

这取决于用例。例如,我使用Cassandra进行聚合,即统计数据,如聚合域数w.r.t.用户,部门等。具有可配置时间窗口的事件趋势(带宽,用户,应用程序等)。用德鲁伊取代卡桑德拉对我来说非常好,因为德鲁伊在聚合方面非常有效。另一方面,如果你需要时间序列数据,最终的一致性,卡桑德拉会更好,你可以在哪里获得事件的细节。

德鲁伊和Elasticsearch的结合很好地解决了从我们的Big Dada基础设施中移除Cassandra的问题