[Bitcoin-development] Faster databases than LevelDB

Mike Hearn mike at plan99.net
Tue Sep 17 11:00:04 UTC 2013


LevelDB is fast - very fast if you give it enough CPU time and disk seeks.
But it's not the last word in performance.

HyperLevelDB is a forked LevelDB with some changes, mostly, finer grained
locking and changes to how compaction works:

http://hyperdex.org/performance/leveldb/

However, it comes with a caveat - one of the changes they made is to take
away write throttling if compaction falls behind, the app itself is
expected to do that.

Sophia is a competitor to LevelDB. The website claims that in benchmarks it
completely smokes LevelDB. I have not explored how it does this or tried to
replicate their benchmarks myself:

http://sphia.org/index.html
http://sphia.org/benchmarks.html

It's written in C and BSD licensed.

As an example of the kind of speedup they claim to be capable of, they say
LevelDB could do 167,476 random reads per second on their SSD based
machine. Sophia could do 438,084 reads/sec. Random reads are of course the
most interesting for us because that's what UTXO lookups involve.

They also compare against HyperLevelDB, where the differences are much less
pronounced and actually HyperLevelDB appears to be able to do random writes
faster than Sophia.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20130917/6f3874ce/attachment.html>


More information about the bitcoin-dev mailing list