2010-03-30 11 views
6

Sto cercando una chiave/valore correttamente distribuito (cioè non solo ombreggiato) e persistente (non limitato dalla memoria disponibile su nodo singolo o cluster di nodi) "nosql") archivio che supporta le query di intervallo per chiave primaria.L'archivio di chiavi/valori persistente distribuito più semplice che supporta le query dell'intervallo di chiavi primarie

Finora il sistema più vicino è Cassandra, che fa sopra. Tuttavia, aggiunge il supporto per altre funzionalità che non sono essenziali per me. Quindi, anche se mi piace (e prenderò in considerazione l'utilizzo ovviamente), sto cercando di capire se potrebbero esserci altri progetti maturi che implementano ciò di cui ho bisogno. Specificamente, per me l'unico aspetto di valore che mi serve è accedervi come un blob. Per la chiave, tuttavia, ho bisogno di query di intervallo (come in, accesso ai valori ordinati, limitato dai valori di inizio e/o di fine). Mentre i valori possono avere strutture, non c'è bisogno di usare quella struttura per nulla sul lato server (può fare l'associazione dati lato client, valori flessibili/tipi di contenuto, ecc.). Per il bonus aggiuntivo, lo storage in stile Cassandra (registrato su giornale, tutte le scritture sequenziali) sembra abbastanza ottimale per il mio caso d'uso.

Per aiutare a filtrare le risposte, ho esaminato alcune alternative all'interno del dominio generale come: Voldemort (chiave/valore, ma non ordinamento) e CouchDB (solo con maggiore complessità, più orientato ai batch); e sono a conoscenza di sistemi che non sono abbastanza distribuiti mentre altrimenti si qualificano (varianti bdb, tokyo cabinet stesso (non sono sicuro che Tyrant possa qualificarsi), redis (solo in memoria)).

MODIFICA: sembra che hBase supporti le query dell'intervallo di chiavi primarie e i relativi dati siano distribuiti a causa di hdf sottostanti. Tuttavia, non penso che sia completamente distribuito dal punto di vista del sistema, dal momento che i server regionali stanno solo condividendo lo spazio delle chiavi ma non c'è ridondanza (supponendo che non abbia interpretato erroneamente la documentazione).

+0

Ok, sembra che sia ancora Cassandra; che va bene, è un grande progetto. Voglio solo assicurarmi che non manchi un avversario ovvio qui. – StaxMan

risposta

0

Se stai cercando Simple, potresti voler dare un'occhiata a Redis. È molto più semplice di Cassandra in termini di struttura dei dati. In realtà è solo un negozio di valore chiave, mentre Cassandra ha famiglie di colonne e super colonne.

+1

Sì tranne che non è distribuito. Redis è davvero bello per il caso di utilizzo con host singolo (o master/slave) o forse per sharding. – StaxMan

0

Hai provato Archiviazione tabella di Microsoft di Microsoft?

+0

No. È open source? Avrei dovuto ulteriormente menzionarlo come una limitazione; Non sto cercando soluzioni commerciali. Ma grazie per averlo fatto notare; Dovrei leggere un po 'di più su di esso in ogni caso. – StaxMan