【问题标题】:Is Cassandra really ready & mature enough for production environments for big projects? [closed]Cassandra 真的为大型项目的生产环境做好了准备和成熟吗? [关闭]
【发布时间】:2011-06-01 02:11:05
【问题描述】:

NoSQL 数据库,尤其是 Cassandra,以其低成本的高可扩展性承诺引起了广泛关注。

关于 Cassandr 被 facebook、twitter、digg 等社交网络专业人士采用的话题有很多讨论。但事实上,fb 在最近的项目中不再真正考虑 Cassandra,而且 facebook 从未完全依赖 cassandra 放弃 mysql,尽管它仍在努力使用 mySQL,而其中 Cassandra 可能非常适合他们的模型。

甚至 twitter 也放弃了迁移到 Cassandra 集群的计划

此外,Digg 的 Cassandra 实施也不是很成功(但不清楚这应该归咎于谁)。

这样一来,就不会留下任何以与 Cassandra 一起玩而自豪的大牌玩家了..!!

它仍处于 alpha 阶段 并且具有 小型社区,因此应该考虑将 Cassandra 用于大型项目的生产环境吗?对于社交网站,MySQL 和 Cassandra 之间的数据库解决方案是:

  1. 更易于构建、维护和管理
  2. 提供良好的性能
  3. 更便宜的解决方案
  4. 面向未来(在可扩展性、可靠性等方面)
  5. 需要更少的人工管理。

除此之外,我主要怀疑它的可靠性....我是在用 Cassandra 拿我的数据冒险!!???

您还有什么其他建议吗?

【问题讨论】:

    标签: sql database database-design nosql cassandra


    【解决方案1】:

    编辑,2017 年 11 月:请注意原始答案是在 2010 年编写的。Cassandra 现在已成为领先的 NoSQL 数据存储之一。它可靠、成熟且受到 Datastax 的良好支持。它发生了显着变化。没有了超级列,有了二级索引,使用 JNI 进行了大量改进,现在它拥有了类似 SQL 的查询语言,并与 Spark、Hadoop 等分布式计算工具很好地集成。随着时间的推移,也出现了其他选择。结帐 ScyllaDB。


    不确定我是否能说服你。但是,我正在开发一个使用 Cassandra 的项目。 Cassandra 不是完整的解决方案,但它速度非常快,并且适合分组信息。

    我们已将所有密集的读写数据卸载到 Cassandra,需求较少且确实需要关系完整性的数据仍在 MySQL 中(在其之上还有 MemcacheD)。而且,我猜 Facebook 肯定也有 MySQL、Cassandra、MemcacheD 的混合体。至少我猜是这样的。

    回答您的问题(根据我对 Cassandra 和 MySQL 的短暂体验)

    1. MySQL 是传统的,您可以轻松地在它之上构建。 Cassandra(或任何新的 NoSQL 方法)需要被同化,有时您会发现术语相互冲突。所以,MySQL 在这里获胜。
    2. 性能方面的 Cassandra 获胜。 (读写性能)
    3. 如果您谈论的是硬件,我不确定。但我想,硬件方面,一个 MySQL 主节点 + 四个从节点与 4 个 Cassandra 节点相同。但老实说,我不知道。
    4. 可扩展性:Cassandra,可靠性:MySQL。如果您阅读 Cassandra 文档,它会说它最终是一致的。但我没有测试过 Cassandra 的可靠性。顺便说一句,通过在可靠性下指出“最终一致性”,我并不是说它不可靠。我的意思是,在任何给定时间,您都可能不确定某个节点是否是最新的以及是否有所有更新。
    5. 有很多用于数据库管理、更改的自动化工具。但对于 Cassandra 来说,没有那么多。所以,MySQL 在这里获胜。但我想,Cassandra 的工具很快就会推出。

    我们刚刚从 Cassandra 开始,我希望有人可以指出以上任何内容是否不正确。如有必要,我很乐意重新测试和纠正。


    当我开始时,我没有找到太多的文档,但现在看起来 Apache Cassandra 页面列出了很多文章。参考:

    【讨论】:

    • 谢谢 Nishant .. 是的,可靠性是我发现不成熟的 Cassandra 现在不能保证的主要问题,顺便说一句.. 很高兴知道您有一个正在开发的网站.. 我想使用 cassandra,但我担心我的数据..:) 您是否使用任何高级客户端进行通信或节俭?你在哪里可以获得关于 Cassandra 的好的文档。Cassandra wiki 仍然没有得到适当的开发,并且结构也不是很容易。
    • 我猜你会被我的可靠性点弄糊涂,所以我更新了它。这并非不现实,至少这是我们的测试显示的。我们使用 Hector——一个 Java Cassandra 客户端,它是 Cassandra 的 Thrift API 的高级客户端。我认为 Cassandra 上有很多文档/提示/HowTo——但目前没有组织。我查看了 Apache 的 Cassandra 网站上给出的链接,并且有一本关于 Cassandra 的权威书籍。
    • 顺便说一句,别担心。使用 Cassandra,您的数据不会面临风险——我至少可以这么说。
    • @Raj 更新了我用于 Cassandra 的资源
    猜你喜欢
    • 1970-01-01
    • 2012-05-10
    • 2016-07-05
    • 2010-10-19
    • 2011-08-13
    • 1970-01-01
    • 2011-12-30
    • 2011-11-15
    • 2011-02-24
    相关资源
    最近更新 更多