views:

1583

answers:

5

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

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

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.

Suffice to say CouchDB is pretty phenomenal.

Update (November 10, 2009)

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.

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

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

+2  A: 

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.

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

Kyle Burton
I was actually thinking that CouchDB might be the answer ... I have the Peepcode screencast, will check it out and comment back here.
Toby Hede
Any updated now that you've looked at it?
Kyle Burton
+2  A: 

Madeleine is an implementation of the Java Prevayler object store

see http://madeleine.rubyforge.org/

Ah prevayler. Was that ever *hyped*. Such a simple and useful idea.
Toby Hede
A: 

Apart from Madeleine, you can also see:

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.

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

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

A: 

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.

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.

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.

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

Any comments are welcome there.

pauliephonic
Ah interesting, cheers. I was actually thinking of building something like this myself.
Toby Hede
+2  A: 

Try Maglev!

nes1983