Hi,

I am pleased to announce the release of robaho/leveldb 
<http://www.github.com/robaho/leveldb> It is a key-value store using LSM trees 
based on my original keydb but has been updated to use an api which is very 
similar to Google’s C++ LevelDB.

It has some features still under development, like sequence/snapshots and 
reverse iteration, but it is stable.

The performance is excellent. Running tests on the same hardware/os:

Google LevelDB

fillseq      :       5.487 micros/op    
fillsync     :   11305.127 micros/op
fillbatch    :       2.338 micros/op
readrandom   :       5.595 micros/op
readseq      :       0.130 micros/op

Robaho LevelDB

fillseq      :       4.392 micros/op    
fillsync     :      48.591 micros/op
fillbatch    :       1.220 micros/op
fillnoflush  :       1.439 micros/op  (a special “unsafe” mode)   
readrandom   :       3.649 micros/op
readseq      :       0.111 micros/op

There is also a remote access module to allow sharing of a db across processes 
(uses gRPC) available robaho/leveldbr <http://www.github.com/robaho/leveldbr>

leveldb contains a lock-free for read skip-list data structure which may be 
useful to some on its own.

btw, the race detector reports 0 issues :)

Also, I am not certain why the fillsync is so drastically different - the 
fillsync in robaho/leveldb uses O_SYNC for writing the backing log file - it 
may be that Google LevelDB uses a higher level that syncs meta data as well.

Still, robaho/leveldb has several test to ensure resiliency against failure 
during write/close.


-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/D00883F4-3B6D-4A05-99CB-61CDF8B7E5B5%40ix.netcom.com.

Reply via email to