20

我正在寻找一个最终一致的数据存储,看起来它可能会归结为 Riak 或 Cassandra。有没有人对此有看法?

4

5 回答 5

34

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

我认为有利于 Cassandra 的观点包括

有利于 Riak 的观点包括

  • 开箱即用的映射/减少支持

/Cassandra 开发人员,fwiw

于 2010-01-24T19:45:48.763 回答
12

Riak 被使用

  • Mozilla 基金会
  • Ask.com 赞助列表
  • 康卡斯特
  • 花旗集团
  • 投注365

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

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

于 2011-03-02T00:42:56.697 回答
1

使用和下载是不同的。最好能得到参考。

也许可以进行私人对话,分享这些公司的 Riak 参考资料?不知道如何使用 Cassandra 来实现这一点,但有一个支持 Cassandra 的公司社区似乎是一个不错的起点。由于这些可能有社区参与者参与 Cassandra 开发,因此这可能是一个非常合理的起点。

我想听听 Riak 对客户满意的近期和大型部署的回答。

我还想查看每个产品的路线图。在我看来,Cassandra 比 Riak 更容易跟踪 (http://wiki.apache.org/cassandra/),因为 Cassandra 的 wiki 讨论了限制和未来可能会改变的事情,但都没有很好地勾勒出未来。我可以理解开源社区的意思……也许……但我不能理解我必须为之付费的产品。

于 2012-09-19T18:13:33.633 回答
1

我还建议对 Cloudant 进行研究,它似乎具有非常好的功能分层。它看起来也正在为 Apache 领域的其他地方带来能力。CouchDB 是 Cloudant 所基于的 Apache 平台。但是,当谈到 Cloudant 的发展方向时,使用 Lucene 建立索引似乎只是冰山一角。创建和管理索引是一个非常系统的过程,是一种数据管道,可以使用其他 Apache 社区资产编写脚本。像 NLP 这样的 AND 功能也可以通过 Lucene 间接添加,或者直接添加到持久化的内容中。

很高兴看到提议的 Cloudant 路线图,特别是因为该团队可以挖掘 Apache 社区的财富并将其集成到 Cloudant 中。这种情况可能存在,因为 Cloudant 收入模型中有一个运营组件需要它,如果没有其他原因的话。

另一个感兴趣的领域...... Cloudant 的定价模式...... 很明显,他们的收入模式不是基于软件,而是围绕服务。这很有吸引力,而且似乎也与 Cassandra 周围的生态系统一致。我不知道 Basho 人是否已经赢得了足够多的 nosql 社区的支持……从围绕他们的网站或产品的任何嗡嗡声中看不到这样的情况。

我喜欢这个 Cloudant 网页 (https://cloudant.com/the-data-layer/)。看到嵌入式 Erlang 功能我很惊讶……我不知道 CouchDB 是用 Erlang 编写的,因为这在 Apache 社区中对我来说似乎很不寻常(我的无知);CouchDB 似乎比我知道(现在)用 Erlang 编写的其他 nosql 产品更老。无论他们采取何种策略,他们至少将 Amazon EC2 和 Microsoft Azure 视为托管合作伙伴,这表明对 Microsoft 和 Microsoft 世界的欣赏——如果正确认识到这些类型数据的中间件价值潜力(除了缓存或哈希表应用程序),所有这些都非常重要商店可以有。

最后,虽然我不太了解董事会,但 Andy Palmer 的指导看起来很有价值。他可以将一些针对结构化数据的指导(通过 VoltDB)带到一个可能被不公平地标记为非结构化数据的 KVP 哈希表的世界。围绕 nosql“数据库”的结构和生态系统的需求正在得到认可……见证 Google 与 Spanner 的努力……KVP/小结构/对搜索能力的需求促使 Google 在 Spanner 领域进行投资。虽然我们都可能不需要像 Spanner 这样的东西,但我们可能确实需要在这些 nosql 数据库中改进和强大的“企业”管理和互操作性能力,以便将它们合理地整合到现代云架构中。所需的结构可以来自互操作性和功能丰富性的易用性。它还可以来自支持将非结构化数据转换为结构化数据的新功能(例如索引、使用 NLP 创建 KVP blob 内事物的结构化和解析渲染,以及许多其他事物,如果放入路线图和发布,可以吸引和扩大用户群)。Cloudant 看起来很有可能成功……我会仔细研究一下……

看看我对 CouchDB 的发现......

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

于 2012-09-19T18:58:43.450 回答