Lo scenario è di circa 1 miliardo di record. Ogni record ha dimensioni di dati 1kb ed è memorizzato in SSD. Quale archivio kv può fornire le migliori prestazioni di lettura casuale? È necessario ridurre l'accesso al disco a una sola volta per query e tutto l'indice dei dati verrà archiviato in memoria.Memorizza valore chiave persistente ad alte prestazioni per una quantità enorme di record
Redis è veloce ma è troppo costoso per memorizzare 1 TB di dati in memoria. LevelDB legge il disco più volte per ogni query. Il più vicino che ho trovato è fatcache ma non è persistente. È un memcached con supporto SSD.
Qualche suggerimento?
Ho confrontato RocksDB e LMDB. Nel mio ambiente di test, RocksDB vince. – avhacker
Immagino che LMDB vincerà quando tutti i dati possono essere caricati in memoria. Ecco il mio ambiente di test: 4 GB di RAM VM, 10 milioni di record, ogni record ha la chiave di dimensione 16 byte e il valore di dimensione 1024 byte. Puoi vedere che la dimensione dei dati è almeno 10 GB. Ho provato ripetutamente la lettura casuale nel test impostato più volte e RocksDB vince sempre. – avhacker
Sicuro dipende dalla dimensione dei valori. Vedi questo nuovo rapporto benchmark su disco: http://symas.com/mdb/ondisk/ – hyc