Global Feed Post Login
Replying to Avatar david

I can see two ways to go about it.

The first way would be to store the entirety of the data, including content fields, inside neo4j. I guess this would be the “purist” way, but events with lots in the content would eat up memory.

So the second way would be to omit content (and sig) properties from neo4j (with perhaps some exceptions, like kind 0 events), the goal being to reduce the amount of memory required for neo4j. In this method, we would view neo4j as an adjunct to a non-graph database, which could be relational, KV, etc, which would store each event in its entirety.

Perhaps I’ll design a schema for the purist method first and we can switch to the second method if/when bloat becomes too much of a problem.

Avatar
ᴛʜᴇ ᴅᴇᴀᴛʜ ᴏꜰ ᴍʟᴇᴋᴜ 1mo ago

https://git.nostrdev.com/mleku/next.orly.dev/src/branch/main/docs/FIND_RATE_LIMITING_MECHANISMS.md

this lists a number of options that have been used somewhere or discussed previously. a few of them might work. as i see it the main thing i haven't covered in the design is that initial bonanza problem.

Reply to this note

Please Login to reply.

Discussion

Avatar
ᴛʜᴇ ᴅᴇᴀᴛʜ ᴏꜰ ᴍʟᴇᴋᴜ 1mo ago

yes, also, name->npub registration has been added to my design, in addition to all the standard DNS records. the idea would be that aside from the connectivity to the data source, it would be functionally equivalent to BIND

Thread collapsed