2008-10-07 6 views
14

Existe-t-il un remplacement direct pour ActiveRecord qui utilise une sorte de magasin d'objets?Base de données d'objets pour Ruby on Rails

Je pense que quelque chose comme le MNesia d'Erlang serait idéal.

Mise à jour

Je suis enquêtait sur CouchDB et je pense que c'est l'option que je vais aller avec. C'est un mélange entre CouchRest et ActiveCouch. CouchRest est assez mature, et est utilisé dans l'épisode peepcode de CouchDB, mais ce n'est pas un remplacement direct pour ActiveRecord, ce qui est un peu désavantageux. Il suffit de dire que CouchDB est assez phénoménal.

Mise à jour (10 Novembre, 2009)

CouchDB n'a pas vraiment fonctionné pour moi. CouchDB ne supporte pas vraiment les requêtes arbitraires (les requêtes doivent être écrites et compilées à l'avance). Il casse également sur de très grands ensembles de données.

J'ai joué avec MongoDB et c'est vraiment incroyable. Banque de données JSON sans schéma avec requêtes et indexation. J'ai même commencé à construire un outil de gestion appelé Ming.

Répondre

2

AciveCouch prétend être juste une telle bibliothèque pour CouchDB, qui est, en fait, écrite en Erlang. Je ne dirais pas que c'est aussi mature que ActiveRecord.

C'est la chose la plus proche que je connaisse de ce que vous demandez.

+0

Je pensais en fait que CouchDB pourrait être la réponse ... J'ai le screencast Peepcode, va le vérifier et commenter ici. –

+0

Une mise à jour maintenant que vous l'avez regardé? –

2

Madeleine est une implémentation de l'objet Java Prevayler magasin

voir http://madeleine.rubyforge.org/

+0

Ah prevayler. Était-ce jamais * hype *. Une idée si simple et si utile. –

0

En dehors de la Madeleine, vous pouvez aussi voir:

http://purple.rubyforge.org/

Mais cela dépend à l'échelle aussi. Mnesia est connu pour supporter une grande quantité de données, et est en cluster, alors que ces solutions ne fonctionneront pas aussi bien avec une grande quantité de données.

Si quantité de données ne sont pas énormes, une autre option est:

1

Je travaille actuellement sur une base de données objet Ruby qui utilise MySQL comme un magasin de support (d'où il est ce qu'on appelle hybriddb) Il ne nécessite aucun SQL ou migrations, il vous suffit d'enregistrer vos objets dans la base de données, il essaie également de contourner les problèmes classiques avec les bases de données objet (vitesse, recherche rapide d'objets, grands graphiques d'objets) de manière transparente.

Il est encore une version précoce, alors faites attention.Le code est ici http://github.com/pauliephonic/hybriddb/tree/master La branche développement supporte les transactions et j'ajoute actuellement des validations de base.

J'ai un site web avec quelques tutoriels etc. http://www.hybriddb.org/pages/tutorial_starter

Tous les commentaires sont bienvenus.

+0

Ah intéressant, applaudissements. Je pensais vraiment à construire quelque chose comme ça moi-même. –