Oddbean new post about | logout
 
no, just nostrs-relay, ditto, and strfry

you?

Rnostr uses LMBD so I instantly hate it 
 Haven't tried it, but it looked promising. I'm looking for a single binary. What's wrong with LMDB? 
 Oh nigga let me tell you.

it is a waste of resources. It uses a lot of disk IO. I am afraid that it will kill the SSD. If you use a spinning disk, you can see the heavy IO easier. It is not going to scale as good as a real database like Postgresql, which all the good decentralized shit uses. No good way to manage the database either 
 I see. 

This one is postgres 

https://github.com/barkyq/gnost-relay 
 Oh nice. I don't see any of the administrative features that ditto has or anti-spam protections 
 Ditto scales well? 
 It should. The schema is super simplistic because it's nostr and not Mastodon. Mastodon, Misskey has a ton of users and they all use Postgresql 
 yep, i'm nearly finished with replicatr and it's based on khatru/eventstore-badger/go-nostr but all of those parts have been heavily revised

my last steps are, in fact, revising the database transaction code because recent tests have shown that it has races when there is heavy demand while new data is being pushed into it, a simple test, that forced me to put a mutex on the database query code to stop it from telling me to "retry the transaction because conflict"

the key thing i'm doing is making the transactions more atomic, most of the stuff in eventstore/badger runs really long loops within the transaction code and some of them run so long that concurrent access with an added last-access record in the database caused the above errors

badger, which distinguishes itself from RocksDB, a fork of LevelDB (which is also the parent of LMDB) is optimised for SSD random access and splits the key and value logs so that you can write fast search algorithms that base on keys - and they designed this as the basis of dgraph.io which is a graph database, that has to do the equivalent of massive chains of SQL join operations between tables

it's pretty sad that outside of #golang community the rest of the programming world hasn't caught up with the state of the art, circa EIGHT YEARS AGO

and the fact that strfry hasn't been patched in over 4 months is pretty damning to everyone in #nostr 

come on, how stupid do you think we are? 
 Oh interesting stuff. Why do you think Stirfry hasn't been patched in so long? We are told by Nostr devs that Relays are supposed to be dumb or not interesting. Maybe nothing new to add? 
 for all we know mister hoytech is dead, for his activity on his github