首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >卡桑德拉的产品是否已经准备好用于Rails?

卡桑德拉的产品是否已经准备好用于Rails?
EN

Stack Overflow用户
提问于 2010-03-04 20:18:33
回答 5查看 15.2K关注 0票数 34

我正在做一个正在考虑使用Cassandra作为数据库的项目。考虑到MySQL的可伸缩性,我们希望最终迁移到Cassandra,即使我们一开始就使用它。我知道像Facebook、Digg和最近推特这样的大公司正在使用Cassandra,但我不相信任何这样的网站会偏离轨道。我的问题是,使用Rails使用Cassandra是否可行。需要考虑的几点:

  1. 我们在很大程度上依赖于Authlogic宝石。切换到卡桑德拉会影响它的工作方式吗?
  2. 卡桑德拉有成熟的红宝石客户吗?从吉蒂布的角度来看,动物协会的客户(现在是twitters的客户)似乎是最成熟的。有人有生产经验吗?

谢谢你的建议。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-03-04 21:51:56

Twitter的大部分前端都在运行rails。动物群的客户端实际上是由twitter构建和发布的,因此您可以相当肯定它在大型工作负载上是最新的和稳定的。回顾提交的历史表明,经常会对其进行改进,这是很棒的。

很可能需要定制Authlogic,以便与Cassandra一起正常工作。特别是,它似乎提供了基于named_scope和关系数据的某些方法。

确实有人在Authlogic中为DataMapper支持构建了一个插件:http://twitter.com/collintmiller/statuses/2064046718。你也许可以用它作为一个起点,使它与卡桑德拉兼容。

祝好运!

票数 17
EN

Stack Overflow用户

发布于 2010-03-04 22:38:14

我不认为从MySQL开始,然后搬到卡桑德拉是个好主意。

Cassandra是一个NoSQL解决方案,而MySQL是一个“经典”的SQL驱动数据库。

这意味着你的模型会有所不同。

如果您从MySQL开始,您将不得不依赖ActiveRecord来创建您的模型。如果然后更改为Cassandra,则必须将所有模型更改为与NoSQL兼容的中间件(如BigRecord)。这不仅意味着更改您的模型,还意味着使用它们的控制器(因为它们的接口不同)。

这就是说,Cassandra等应该被用于非常苛刻的应用程序--比如twitter。

其他的网络应用程序没有那么强烈--你确定你还需要卡桑德拉吗?

PostgreSQL和一个设计良好的数据库,在98%的时间里都是足够好的.

票数 10
EN

Stack Overflow用户

发布于 2010-03-21 23:48:41

如果然后更改为Cassandra,则必须将所有模型更改为NoSQL。

这根本不是真的。如果您已经以这样的方式编程,您的MySQL db执行了大量的连接,那么是的,您可能有一个问题。当我们开始MySQL路由时,我们从一开始就尽量避免加入。然后,当我们开始迁移到卡桑德拉,这是相当容易的,我们这样做的1模式,只是在一开始。然后一次说出4个模型。等。效果很好。事实上,当你阅读twitter的采访时,你会注意到他们在一段时间内并行运行MySQL和Casandra,同时运行相同的模型:http://nosql.mypopescu.com/post/407159447/cassandra-twitter-an-interview-with-ryan-king

至于Authlogic,您可以将该部分保存在mySQL中,只要您愿意,只需将其与您的Cassandra数据松散耦合即可。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2382436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档