是否有适用于Ruby的对象数据库?

4

我似乎找不到任何适用于Ruby的对象数据库(请勿与文档导向型数据库混淆,如Coach和Mongo)。

是否存在更成熟的适用于Ruby的OODBMS?

谢谢。


我不确定你所做的区分是什么。你想要存储什么,以及你想如何检索它? - Mark Thomas
你能提供一个在Ruby之外使用的对象数据库的例子吗? - Brian
1
样例OODBs包括siaqodb、db4o和stsdb。我想要存储对象本身。 - Dmytrii Nagirniak
抱歉,各位。那是一个打错字。我本意是说“不要与‘文档’导向混淆……” - Dmytrii Nagirniak
2个回答

4

我对此了解不多,但我相信 Ruby 的 MagLev 实现将包括一个对象数据库。


MagLev看起来非常有趣。但是任何被引用的对象默认都会变成持久化对象(我认为这太过了)。尽管如此,它仍然是迄今为止最先进的Ruby面向对象数据库。 - Dmytrii Nagirniak
1
如果它像GLASS、Smalltalk/Seaside/Gemstone一样出色,你将再也不会喜欢看关系型数据库了。 - Stephan Eggermont
仅澄清一下: "任何引用对象都变成持久性" 不完全正确。只有来自持久化对象的引用才会使对象成为持久性(在下次提交时)。许多/大多数对象是瞬态的,它们的引用不会导致对象变为持久性。 - Peter McLain
(@StephanEggermont 旧帖子,但是没错,在Smalltalk环境中使用Gemstone真是一件美妙的事情。) - Dave Newton

0

没有成熟的解决方案 - 因为通常情况下 Ruby 程序员不会这样做或者不需要。


1
这并不是 Ruby 程序员“不欢迎”它,我认为只是没有太多需要。在 Ruby 的绝大多数情况下,许多人习惯于使用 ORM 而不是直接访问 OODB,而且这些 ORM(特别是 ActiveRecord)非常成熟和被广泛理解。 - Paul Leader
2
我认为这个答案是真实的,因为它在实践上是显而易见的。:-) 因为没有真正的OODB解决方案,所以那些真正想要OODB的人要么会使用Ruby一段时间然后离开它(就像我一样),要么看看它并决定不选择它。如果今天没有真正的OODB解决方案,那么根据定义,今天的Ruby程序员就是那些不强烈渴望OODB的人! - Ken
1
我想我应该补充一点:我们真正知道的是,那些想要一个OODB和Ruby的人,显然更希望避免为Ruby编写(和维护)一个OODB,而不是同时拥有Ruby和一个OODB。 :-) - Ken
嗯,MagLev基于Gemstone开发,使其成为最成熟的面向对象数据库。 - Stephan Eggermont

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