用于Ruby on Rails的对象数据库。

时间:2020-12-31 23:31:39

Is there drop-in replacement for ActiveRecord that uses some sort of Object Store?

是否存在使用某种对象存储的ActiveRecord的完全替代?

I am thinking something like Erlang's MNesia would be ideal.

我认为像Erlang的MNesia是理想的。

Update

更新

I've been investigating CouchDB and I think this is the option I am going to go with. It's a toss-up between using CouchRest and ActiveCouch. CouchRest is pretty mature, and is used in the CouchDB peepcode episode, but it's not a drop-in replacement for ActiveRecord, which is a bit of a disadvantage.

我一直在调查CouchDB,我认为这是我的选择。使用CouchRest和ActiveCouch之间是一个选择。CouchRest是相当成熟的,并且在CouchDB peepcode中使用,但是它并不是ActiveRecord的完全替代,这是一个缺点。

Suffice to say CouchDB is pretty phenomenal.

可以说CouchDB是相当惊人的。

Update (November 10, 2009)

更新(2009年11月10日)

CouchDB hasn't really worked for me. CouchDB doesn't really support arbitrary queries (queries need to be written and compiled ahead of time). It also breaks on very large datasets.

CouchDB并没有为我工作。CouchDB并不真正支持任意查询(查询需要提前编写和编译)。它也会破坏非常大的数据集。

I have been playing with MongoDB and it's really incredible. Schema-less JSON data store with queries and indexing.

我一直在和MongoDB合作,这真是难以置信。无模式的JSON数据存储,包含查询和索引。

I've even started building a management tool for it called Ming.

我甚至开始为它构建一个名为Ming的管理工具。

5 个解决方案

#1


2  

AciveCouch purports to be just such a library for CouchDB, which is, in fact, written in Erlang. I wouldn't say it's as mature as ActiveRecord though.

AciveCouch自称是CouchDB的一个库,实际上是用Erlang编写的。我不会说它像ActiveRecord一样成熟。

That is the closest thing I know of to what you're asking for.

这是我所知道的最接近你要求的东西。

#2


5  

Try Maglev!

磁悬浮试试!

#3


2  

Madeleine is an implementation of the Java Prevayler object store

Madeleine是Java Prevayler对象存储的一个实现

see http://madeleine.rubyforge.org/

参见http://madeleine.rubyforge.org/

#4


1  

I'm currently working on a ruby object database that uses mysql as a backing store (hence it's called hybriddb) that you may be interested in.

我目前正在开发一个ruby对象数据库,它使用mysql作为支持存储(因此它被称为hybrid ddb),您可能会感兴趣。

It uses no SQL or migrations, you just save your objects to the database, it also tries to work around the conventional problems with object databases (speed, finding objects quickly, large object graphs) transparently.

它不使用SQL或迁移,只将对象保存到数据库中,它还尝试使用对象数据库(速度、快速查找对象、大型对象图)等常规问题。

It is still an early version so take care. The code is here http://github.com/pauliephonic/hybriddb/tree/master The development branch has support for transactions and I'm currently adding basic validations.

这仍然是早期版本,所以要小心。代码在这里http://github.com/pauliephonic/hybrid ddb/tree/master开发分支支持事务,我目前正在添加基本验证。

I have a web site with some tutorials etc. http://www.hybriddb.org/pages/tutorial_starter

我有一个网站,有一些教程等http://www.hybrid ddb.org/pages/tutorial_starter

Any comments are welcome there.

欢迎有任何意见。

#5


0  

Apart from Madeleine, you can also see:

除了玛德琳,你也可以看到:

http://purple.rubyforge.org/

http://purple.rubyforge.org/

But it depends on scale too. Mnesia is known to support large amount of data, and is clustered, whereas these solutions won't work so well with large amount of data.

但这也取决于规模。Mnesia被公认为支持大量数据,并且是集群的,而这些解决方案不能很好地处理大量数据。

If amount of data is not huge, another options is:

如果数据量不大,另一种选择是:

http://copiousfreetime.rubyforge.org/amalgalite/files/README.html

http://copiousfreetime.rubyforge.org/amalgalite/files/README.html

#1


2  

AciveCouch purports to be just such a library for CouchDB, which is, in fact, written in Erlang. I wouldn't say it's as mature as ActiveRecord though.

AciveCouch自称是CouchDB的一个库,实际上是用Erlang编写的。我不会说它像ActiveRecord一样成熟。

That is the closest thing I know of to what you're asking for.

这是我所知道的最接近你要求的东西。

#2


5  

Try Maglev!

磁悬浮试试!

#3


2  

Madeleine is an implementation of the Java Prevayler object store

Madeleine是Java Prevayler对象存储的一个实现

see http://madeleine.rubyforge.org/

参见http://madeleine.rubyforge.org/

#4


1  

I'm currently working on a ruby object database that uses mysql as a backing store (hence it's called hybriddb) that you may be interested in.

我目前正在开发一个ruby对象数据库,它使用mysql作为支持存储(因此它被称为hybrid ddb),您可能会感兴趣。

It uses no SQL or migrations, you just save your objects to the database, it also tries to work around the conventional problems with object databases (speed, finding objects quickly, large object graphs) transparently.

它不使用SQL或迁移,只将对象保存到数据库中,它还尝试使用对象数据库(速度、快速查找对象、大型对象图)等常规问题。

It is still an early version so take care. The code is here http://github.com/pauliephonic/hybriddb/tree/master The development branch has support for transactions and I'm currently adding basic validations.

这仍然是早期版本,所以要小心。代码在这里http://github.com/pauliephonic/hybrid ddb/tree/master开发分支支持事务,我目前正在添加基本验证。

I have a web site with some tutorials etc. http://www.hybriddb.org/pages/tutorial_starter

我有一个网站,有一些教程等http://www.hybrid ddb.org/pages/tutorial_starter

Any comments are welcome there.

欢迎有任何意见。

#5


0  

Apart from Madeleine, you can also see:

除了玛德琳,你也可以看到:

http://purple.rubyforge.org/

http://purple.rubyforge.org/

But it depends on scale too. Mnesia is known to support large amount of data, and is clustered, whereas these solutions won't work so well with large amount of data.

但这也取决于规模。Mnesia被公认为支持大量数据,并且是集群的,而这些解决方案不能很好地处理大量数据。

If amount of data is not huge, another options is:

如果数据量不大,另一种选择是:

http://copiousfreetime.rubyforge.org/amalgalite/files/README.html

http://copiousfreetime.rubyforge.org/amalgalite/files/README.html