12:10:35
jairbolsonaro:nope.chat:
Greetings to all the people who helps making Monero such a great crypto.
12:10:35
jairbolsonaro:nope.chat:
I have a question about Monero's database choice. As said by some valuable contributors in the #monero channel, LMDB has a lot of write amplification for this specific use case. Since most blockchain data is immutable (as an example key:block hash value:block data blob), why not just creating an append-only database file for immutable data (that's the majority of data stored in da<clipped message>
12:10:37
jairbolsonaro:nope.chat:
tabase, as far as I know) that contains all the values, and keeping a simple index that saves the keys and the position of their values in the append-only file? It would have literally no write amplification and the best performance possible with purely sequential writes, the only downside is that values can't be deleted efficiently or modified (their length can't change) (at leas<clipped message>
12:10:39
jairbolsonaro:nope.chat:
t not without recompacting the whole database). Which is not the case for most of the blockchain data.
12:10:41
jairbolsonaro:nope.chat:
Thanks in advance.
12:13:50
DataHoarder:
^ this has been done in cuprate
12:23:52
syntheticbird:monero.social:
Just like DataHoarder said
12:23:54
syntheticbird:monero.social:
see https://github.com/Cuprate/cuprate/pull/566
12:24:00
syntheticbird:monero.social:
and https://github.com/Cuprate/Tapes/
17:34:33
riceandbeans:matrix.org:
What’s the benefit of cup rate over the official node?
17:36:36
rbrunner:
Much more modern code. There are good chances it's quite a bit faster in some respects, e.g. sync from genesis / full blockchain download.
17:39:13
parazyd:
DataHoarder: How does the db work on reorgs? Just drop everything up to a height and continue from there?
17:39:40
DataHoarder:
see above links. but the tape is append-only, but has random read
17:39:49
DataHoarder:
so you can just change your index lookups