ethereum / trinity

The Trinity client for the Ethereum network
https://trinity.ethereum.org
MIT License
474 stars 146 forks source link

Experiment with other databases (e.g RocksDB) #36

Closed cburgdorf closed 5 years ago

cburgdorf commented 6 years ago

At ECDC RocksDB was mentioned as a possibly faster alternative to leveldb.

Also comes with Python bindings

Another nice property of RocksDB is that it seems to allow multiple concurrent processes reading from the database which I think isn't possible with leveldb.

cburgdorf commented 6 years ago

There's a new key value db from Microsoft research claiming unmatched performance. They have builds supporting unix and windows.

https://github.com/Microsoft/FASTER/blob/master/README.md

pipermerriam commented 6 years ago

I was looking at that as well and would like to give it a try too.

carver commented 6 years ago

Seems interesting. I'd like to understand it's durability guarantees better. I only scanned the paper. It's not clear to me when you save a checkpoint if it's written to disk before returning (not clear because of the "hybrid log").

carver commented 5 years ago

Experimented! Looks like the key issue right now is that opening a read connection gets a static view of the database at open time. A fix for that is in progress by other teams (see #173 ). So we can revisit later.