14 Stimmen

Objektdatenbank für Ruby on Rails

Gibt es Drop-in-Ersatz für ActiveRecord, die eine Art von Object Store verwendet?

Ich denke, etwas wie Erlangs MNesia wäre ideal.

Update

Ich habe mich mit CouchDB beschäftigt und ich denke, dass ich mich für diese Option entscheiden werde. Es ist eine Entscheidung zwischen CouchRest und ActiveCouch. CouchRest ist ziemlich ausgereift und wird in der CouchDB Peepcode Episode verwendet, aber es ist kein direkter Ersatz für ActiveRecord, was ein kleiner Nachteil ist.

Es genügt zu sagen, dass CouchDB ziemlich phänomenal ist.

Aktualisierung (10. November 2009)

CouchDB hat bei mir nicht wirklich funktioniert. CouchDB unterstützt nicht wirklich beliebige Abfragen (Abfragen müssen im Voraus geschrieben und kompiliert werden). Außerdem bricht es bei sehr großen Datensätzen zusammen.

Ich habe gespielt mit MongoDB und es ist wirklich unglaublich. Schemaloser JSON-Datenspeicher mit Abfragen und Indizierung.

Ich habe sogar damit begonnen, ein Verwaltungstool dafür zu entwickeln. Ming .

5voto

nes1983 Punkte 14621

Essayez Magnetschwebebahn !

2voto

Kyle Burton Punkte 25900

AciveCouch gibt vor, eine solche Bibliothek zu sein für CouchDB das in der Tat in Erlang geschrieben ist. Ich würde aber nicht sagen, dass es so ausgereift ist wie ActiveRecord.

Das ist das, was dem am nächsten kommt, wonach Sie fragen.

2voto

joshnuss Punkte 231

Madeleine ist eine Implementierung des Java Prevayler Objektspeicher

siehe http://madeleine.rubyforge.org/

1voto

pauliephonic Punkte 2127

Ich arbeite derzeit an einer Ruby-Objekt-Datenbank, die mysql als Backing-Store verwendet (daher heißt es hybriddb ), die für Sie von Interesse sein könnten.

Es verwendet kein SQL oder Migrationen, Sie speichern einfach Ihre Objekte in der Datenbank, es versucht auch, die herkömmlichen Probleme mit Objektdatenbanken (Geschwindigkeit, schnelles Finden von Objekten, große Objektgraphen) transparent zu umgehen.

Es handelt sich noch um eine frühe Version, also seien Sie vorsichtig. Der Code ist hier http://github.com/pauliephonic/hybriddb/tree/master Der Entwicklungszweig bietet Unterstützung für Transaktionen und ich füge derzeit grundlegende Validierungen hinzu.

Ich habe eine Website mit einigen Tutorials usw. http://www.hybriddb.org/pages/tutorial_starter

Alle Kommentare sind dort willkommen.

0voto

Außer Madeleine kann man auch noch andere sehen:

http://purple.rubyforge.org/

Aber das hängt auch vom Umfang ab. Mnesia ist dafür bekannt, dass es große Datenmengen unterstützt und geclustert ist, während diese Lösungen bei großen Datenmengen nicht so gut funktionieren.

Wenn die Datenmenge nicht sehr groß ist, gibt es andere Möglichkeiten:

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X