Database di oggetti per Ruby on Rails
-
05-07-2019 - |
Domanda
Esiste un sostituto drop-in per ActiveRecord che utilizza una sorta di Object Store?
Penso che qualcosa come la MNesia di Erlang sarebbe l'ideale.
Aggiorna
Sto indagando su CouchDB e penso che questa sia l'opzione con cui sto andando. È un gioco da ragazzi tra l'utilizzo di CouchRest e ActiveCouch. CouchRest è piuttosto maturo e viene utilizzato nell'episodio peepcode di CouchDB, ma non è un sostituto drop-in per ActiveRecord, il che è un po 'uno svantaggio.
Basti pensare che CouchDB è abbastanza fenomenale.
Aggiornamento (10 novembre 2009)
CouchDB non ha davvero funzionato per me. CouchDB in realtà non supporta query arbitrarie (le query devono essere scritte e compilate in anticipo). Si rompe anche su set di dati molto grandi.
Ho giocato con MongoDB ed è davvero incredibile. Archivio dati JSON senza schema con query e indicizzazione.
Ho persino iniziato a creare uno strumento di gestione per esso chiamato Ming .
Soluzione
AciveCouch pretende di essere proprio una libreria del genere per CouchDB , che di fatto è scritto in Erlang. Non direi che è maturo come ActiveRecord però.
Questa è la cosa più vicina che conosco a ciò che stai chiedendo.
Altri suggerimenti
Prova Maglev !
Madeleine è un'implementazione dell'archivio oggetti Java Prevayler
Attualmente sto lavorando a un database di oggetti ruby ??che utilizza mysql come archivio di backup (da qui si chiama hybriddb ) che potrebbe interessarti.
Non utilizza SQL o migrazioni, è sufficiente salvare i propri oggetti nel database, anche tentare di aggirare i problemi convenzionali con i database degli oggetti (velocità, trovare oggetti rapidamente, grafici di oggetti di grandi dimensioni) in modo trasparente.
È ancora una versione precedente quindi fai attenzione. Il codice è qui http://github.com/pauliephonic/hybriddb/tree/master Il ramo di sviluppo supporta le transazioni e al momento sto aggiungendo convalide di base.
Ho un sito web con alcuni tutorial ecc. http://www.hybriddb.org/pages / tutorial_starter
Eventuali commenti sono benvenuti qui.
Oltre a Madeleine, puoi anche vedere:
Ma dipende anche dalla scala. È noto che Mnesia supporta una grande quantità di dati ed è raggruppata, mentre queste soluzioni non funzionano così bene con una grande quantità di dati.
Se la quantità di dati non è enorme, un'altra opzione è:
http://copiousfreetime.rubyforge.org/amalgalite/files/README.html