2009-07-21 11 views

risposta

7

Nella pagina Related Projects del wiki CouchDB, in "Alternative" accennano alcuni simili progetti:

  • Feather DB* CouchDB clone in java.
  • StrokeDB* Un database simile a CouchDB scritto in Ruby per semplificare l'incorporamento nelle app Ruby.
  • mongoDB Un database orientato ai documenti ad alte prestazioni, open source e privo di schemi.

E naturalmente che è già stato menzionato.

C'è anche neo4j che è un "database grafico" per java.

Naturalmente, parte della potenza di CouchDB e alcuni degli altri non è solo la possibilità di memorizzare coppie chiave/valore, ma l'elevata capacità, la replica e in particolare le viste, che sono fondamentalmente il modo di eseguire le query sui tuoi documenti

Se hai semplicemente bisogno di un semplice datastore di chiavi/valori che puoi incorporare nel tuo programma, che non deve contenere concerti di dati, il venerabile GDBM potrebbe soddisfare le tue esigenze.

Un po 'difficile rispondere senza conoscere un po' di più sulle vostre esigenze (linguaggio di programmazione, requisiti di concorrenza, volumi di dati e così via).

* Il sito Web non sembra funzionare al momento della stesura di questo documento.

5

Sarebbe adatto TinyCDB?

http://www.corpit.ru/mjt/tinycdb.html

Introduzione

TinyCDB è un pacchetto molto veloce e semplice per la creazione e la lettura di basi di dati costante, una struttura dati introdotti da Dan J. Bernstein nel suo pacchetto CDB. Può essere utilizzato per accelerare le ricerche in una sequenza di coppie (chiave, valore) con un numero molto grande di record. L'utilizzo di esempio sta indicizzando una grande lista di utenti - dove una ricerca richiede la lettura lineare di un grande file/etc/passwd e per molte altre attività. Il suo utilizzo/API è simile a quelli trovati nelle librerie BerkeleyDB, gdbm e tradizionali * nix dbm/ndbm, ed è compatibile in larga misura con il pacchetto cdb-0.75 di Dan Bernstein.

CDB è un database costante, ovvero non può essere aggiornato in un runtime, ma solo ricostruito. La ricostruzione è un'operazione atomica ed è molto veloce, molto più veloce di molti altri pacchetti simili. Una volta creato, CDB può essere interrogato e una query richiede pochissimo tempo per essere completata.

+0

Non conoscevo TinyCDB, ma ucciderei per un clone CDB che non ha la restrizione di 4 GB. – sds

+0

Se sei appassionato, modifica la fonte per rimuovere la restrizione. – Matt

+1

stasera 2.5 milioni di record sul mio MBP hanno impiegato 0.081 per trovare un record casuale con cdbget. –

1

Per quale piattaforma? è un peso leggero, integrabile, motore di database associativo per una varietà di ambienti di scripting (Java, Ruby, Perl, Lua, et al.)

3

Il file system del sistema operativo è un database chiave/valore leggero. Le chiavi sono nomi di file e i valori sono dati nei file.

La parola "incorporabile" ha un significato strano se deve essere RESTful, quindi non capisco le vostre esigenze; ma se tutto ciò che serve è la memorizzazione e il recupero, perché non usare la FS?

+0

In nessun momento l'OP dice che * ha * solo bisogno di archiviazione e recupero. – devios1

4

Database di chiavi/valori semplice e integrabile? Più o meno BDB

1

Check out Perst - è concesso in licenza GPLv2 e/o proprietario a seconda delle esigenze. Non l'ho mai usato ma sento che è buono. Si tratta di un database di archivio di valore-chiave incorporato nell'applicazione in fase di sviluppo attivo con porte a un numero di framework e lingue popolari.