2010-02-21 20 views
14

Sto cercando un db document-oriented con un'API di Ruby che ha proprietà SQLite simile:Alternativa simile a SQLite per MongoDB?

  • self-contained,
  • serverless,
  • zero-configuration.

Esistono alternative leggere a MongoDB o CouchDB?

RDDB è una possibilità?

In caso contrario, quali sono i migliori percorsi da percorrere?

+1

Ho appena iniziato a guardare MongoDB e la prima cosa che ho pensato è stata, Vorrei che questo fosse diviso come il Tokyo Cabinet e il Tokyo Tyrant in una porzione di database e sul lato della rete. Forse lo è e non l'ho ancora trovato. Sto anche pensando di provare a usare SQLite e Lua per creare una sorta di db orientato al documento. – uroc

+0

Quale sistema operativo? Windows, Linux, IPhone ....? – Theo

+0

@Theo: linux & windows. – davidbe

risposta

3

È possibile utilizzare Tokyo Cabinet tramite la sua API Ruby.

+0

È possibile utilizzare l'armadio Tokyo in un ambiente Windows? – Theo

+0

Ho dato un'occhiata al Gabinetto di Tokyo. Dal punto di vista del documento, non ha una funzione di ricerca come MongoDB. Tokyo Dystopia non ha un'API Ruby. Inoltre, Tokyo Cabinet non è realmente orientato ai documenti. – davidbe

4

Non è ancora pronto, ma la versione incorporabile di CouchDB è sulla tabella di marcia a lungo termine.

La replica ha lo scopo di abilitare le applicazioni offline con CouchDB. Se si è giunti a esigenze molto specifiche, è possibile replicare i dati da couchdb a una infrastruttura locale, archiviarli localmente, aggiornarli e reinserire i dati tramite la replica, ma richiederebbe del codice.

1

Ho quasi la sensazione che potresti fare una sorta di trucco per raggiungere questo obiettivo.

Avere una tabella che utilizza gli ID di riga di sqlite insieme a un campo per il nome della raccolta e il blob di testo che sarebbe codice json.

Avere un'altra tabella per l'indicizzazione con campi in una raccolta (nome raccolta, nome campo, valore campo, ID riga documento).

Si potrebbe fare qualche classe wrapper per gestire cose come aggiornamenti e ricerche. Sarebbe interessante.

2

Se si utilizza Perl, si consiglia di DBM::Deep, che memorizza strutture di dati arbitrarie su disco, comprese le transazioni con commit/rollback, ed è un'installazione non-C one-Perl-module. Non diventa molto più leggero di quello.