ActiveRecord 和 NoSQL

7

我已经使用Rails几年了,非常习惯ActiveRecord,但最近有一个任务可以从(某些)NoSQL数据存储中受益。

少量数据最好放在NoSQL系统中,但大部分仍应放在关系型数据库中。然而,我看过的每个NoSQL包装器/ gem似乎都需要从应用程序中删除ActiveRecord。

是否有建议将这两种技术结合起来的方法?


1
你为什么这么说?ActiveRecord可以很愉快地生存,而不需要考虑其他任何宝石...你能给出一个例子宝石,需要“从应用程序中删除ActiveRecord”吗? - Uri Agassi
https://dev59.com/WW035IYBdhLWcg3wc_sm - chridam
今天下午我看了两个东西,@UriAgassi 的CouchPotato(见Github页面,Ctrl-F Activerecord)和MongoDB(“这里重要的是避免加载ActiveRecord。”)。 - user1381745
2个回答

3
不确定您正在寻找哪种NoSQL服务,但我们现在已经使用MongoDB和Postgres配合使用一段时间了。有一个有用的提示,他们说你需要摆脱ActiveRecord,但实际上你不需要。大多数人只是这么说因为你最终不会设置数据库.yml和/或运行rake命令来设置AR数据库。
还要记住,Postgres拥有HStore和JSON数据类型,可以提供与NoSQL数据存储类似的功能。此外,如果您要存储的数据不是非常复杂,我强烈建议您考虑使用Redis。

看起来,正如你所说,这只是过于热心的文档记录而已。感谢澄清! - user1381745
如果你只使用 MongoDB,而没有正确配置 AR(database.yml),当你尝试运行 Ruby 进程时,AR 会抛出一堆错误。 - tagCincy

0

如果你查看这个项目Gemfile.lock,你会发现它使用了ActiveRecord和Mongoid。

即使你使用其他不需要ActiveRecord的gem,你也不应该关心。如果你正在使用它,你应该有一个有效的理由。


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