electrs icon indicating copy to clipboard operation
electrs copied to clipboard

Replace RocksDB with sled

Open KhaledEmaraDev opened this issue 2 years ago • 7 comments

KhaledEmaraDev avatar Jul 03 '22 21:07 KhaledEmaraDev

AFAIK sled is worse than rocksdb, so it should be compile-time selectable, ideally using Clean Architecture.

Kixunil avatar Jul 04 '22 17:07 Kixunil

@Kixunil I'm working on making both implement a trait. Should I convert this PR to a draft one?

KhaledEmaraDev avatar Jul 04 '22 20:07 KhaledEmaraDev

@KhaledEmaraDev I think it's a good idea

Kixunil avatar Jul 05 '22 06:07 Kixunil

@KhaledEmaraDev Thanks for opening this PR! Could you please adapt it to support both DBs, and attach the sled performance metrics - to allow comparing it to RocksDB? Also, please fix the tests.

romanz avatar Jul 09 '22 08:07 romanz

@romanz working on it.

KhaledEmaraDev avatar Jul 09 '22 09:07 KhaledEmaraDev

We should also consider https://github.com/cberner/redb, following https://github.com/romanz/electrs/issues/753.

romanz avatar Aug 06 '22 15:08 romanz

@romanz Will work on including it.

KhaledEmaraDev avatar Aug 07 '22 21:08 KhaledEmaraDev

btw, the author of redb just added benchmarks vs rocksdb, and it looks like it's way faster: https://github.com/cberner/redb#benchmarks

casey avatar Aug 08 '22 17:08 casey

Wow, that looks great! Add some RPC optimizations and we may finally fix perf issues.

Kixunil avatar Aug 08 '22 17:08 Kixunil

This is replaced by #765.

KhaledEmaraDev avatar Aug 19 '22 20:08 KhaledEmaraDev