Cassandra与Riak的比较

20

我正在寻找一种最终一致性数据存储方式,看起来可能会选择Riak或Cassandra。有没有人对此有经验或意见?

5个回答

34

你可能知道,它们在架构上都受到Dynamo的强烈影响(最终一致性,无单点故障等)。两者都超越了Dynamo,提供了“比纯K / V更丰富”的数据模型-在Cassandra的情况下,提供了类似Bigtable的ColumnFamily模式,在Riak中则是面向文档的模型。我见过理智的人选择两者。

我认为支持Cassandra的因素包括:

支持Riak的因素包括:

  • 开箱即用的map/reduce支持

/Cassandra dev,供参考


1
是的,我对这个还有些犹豫。到目前为止,我对Riak最大的问题是缺乏文档支持,虽然在理论上听起来很完美。你认为Cassandra社区很大吗? - yazzapps.com
5
有没有大牌在使用并不代表产品的好坏。 - Joshua Partogi
12
如果知名品牌在使用它,那么许多高素质人士已经花费了大量时间和金钱来审核,并决定它值得投入大量的运营资本和风险。这表明该产品不仅“好”,而且很可能会获得重要的持续发展和维护。当然,这并不是“证明”,但无疑是一个卓越的指标。 - user359996
3
过去两年发生了很多事情。请您更新您的答案以反映最近的发展情况。 - user359996
我会为Riak添加内置的全文搜索支持。 - gawry
显示剩余5条评论

11

Riak被以下公司使用:

  • Mozilla基金会
  • Ask.com赞助列表
  • 康卡斯特
  • Citigroup
  • Bet365

我认为它们都通过了可信参考客户/用户的测试。

Cassandra似乎更成熟,并且在基准测试中表现更好。Riak似乎更容易随着您的集群增长添加节点。


2

4
本文来自Basho公司,该公司开发了Riak数据库。 - user2003470

1

使用和下载是不同的。最好获取参考资料。

也许可以进行私人对话,分享这些公司中Riak的参考资料?不确定如何在Cassandra中获得这样的资料,但是有一些支持Cassandra的公司社区似乎是一个很好的起点。由于这些公司可能有Cassandra开发的社区参与者,因此这可能是一个非常合理的起点。

我想听听Riak对最近和大规模部署的回答,以及客户是否满意。

我还想看到每个产品的路线图。在我看来,Cassandra要比Riak更容易跟踪(http://wiki.apache.org/cassandra/),因为Cassandra的维基讨论了限制和未来可能会改变的事情,但两者都没有很好地概述未来。我可以理解开源社区的做法...也许...但对于我必须支付费用的产品,我无法理解。


1
我也建议研究Cloudant,它具有非常好的能力分层。它似乎还将Apache领域的其他能力带到了一起。CouchDB是Cloudant基于的Apache平台。但是,当涉及到Cloudant可能走向何方时,Lucene的索引似乎只是冰山一角。创建和管理索引是一个非常系统化的过程,一种数据管道,可以使用其他Apache社区资产进行脚本编写。并且像NLP这样的功能也可以通过Lucene间接添加,或者直接添加到持久化的内容中。
看到Cloudant的路线图会很不错,特别是因为团队可以挖掘Apache社区的财富,并将其集成到Cloudant中。这样的东西可能已经存在,因为Cloudant的收入模型中有一个运营组件需要它,即使没有其他原因。
另一个感兴趣的领域是Cloudant的定价模型。显然,他们的收入模型不是基于软件,而是基于服务。这非常有吸引力,似乎与Cassandra周围的生态系统保持一致。我不知道Basho的人是否已经赢得了足够的nosql社区支持...从他们的网站或产品周围的任何热度都看不出来。

我喜欢这个Cloudant网页(https://cloudant.com/the-data-layer/)。看到嵌入的Erlang功能让我感到惊讶...我不知道CouchDB是用Erlang编写的,因为在Apache社区中这似乎很不寻常(我的无知);CouchDB似乎比我现在了解到的其他nosql产品要旧,它们都是用Erlang编写的。无论他们的策略是什么,至少他们将Amazon EC2和Microsoft Azure列为托管合作伙伴,表明他们对Microsoft和!Microsoft世界的赞赏 - 如果适当地认识到这些类型的数据存储可能具有的中间件价值潜力(超出缓存或哈希表应用),这一点非常重要。

最后,虽然我不太了解这个委员会,但安迪·帕尔默的指导似乎非常有价值。他可以通过VoltDB为结构化数据提供一些指导,以应对一个被公正或不公正地贴上KVP哈希表标签的非结构化数据世界。人们正在认识到需要结构和生态系统来支持nosql“数据库”...请看谷歌在Spanner方面的努力... KVP / 少量结构 / 需要可搜索性促使谷歌投资于Spanner领域。虽然我们可能并不需要像Spanner这样的东西,但我们可能确实需要在这些nosql数据库中具备改进和强大的“企业”管理和互操作能力,以便将它们合理地纳入现代云架构中。所需的结构可以来自互操作性和功能丰富性的易用性。它也可以来自支持将非结构化数据转换为结构化数据的新功能(例如索引,使用NLP创建KVP blob内部事物的结构化和解析呈现等等),如果将其列入路线图并发布,就可以吸引和扩大用户群。Cloudant看起来有很好的成功机会...我会仔细研究它...

看看我发现的CouchDB...

CouchDB带有一系列功能,例如即时文档转换和实时更改通知,使Web应用程序开发变得轻松。它甚至配备了易于使用的Web管理控制台。你猜对了,直接从CouchDB提供!我们非常关心分布式扩展。CouchDB高度可用且具有分区容错性,但最终是一致的。我们非常关心您的数据。CouchDB具有容错存储引擎,将您的数据安全放在首位。

2
Riak 也是使用 Erlang 编写的 https://github.com/basho/riak - Mainguy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接