For reference, when I say "small to medium", in my head that means "up to about 1,000 people right now".
For reference, when I say "small to medium", in my head that means "up to about 1,000 people right now".
The general sense I have got is that mastodon - the default software at least - is extremely resource heavy for relatively low user counts. My assumption/hope was that the bulk of this is that the server software hasn't ever really been under sufficient pressure to improve, and takahē seems to indicate that there's at least some room for improvement on the server side (i.e. performance problems aren't entirely protocol/architecture problems)
GIN indexes sound cool - perhaps you can get away not using them however and instead support 2 DB backends?
If you want to accomodate "small" and not just medium, that would be great! ;-)
Is there any advantage to using a traditional db as opposed to a graph db since json-ld is just a text representation of graph nodes?
I was thinking the easiest path would be have the server deal with all the activityPub stuff and expose something like a graphQL interface for a bring your own client implementation. Of all the stuff they shoehorned graphQL into this seems like a valid fit, like they were made for each other.
Anyhoo, just my random thoughts…
Mostly I was thinking how one could implement something in the most efficient way and graph databases/graphQL were literally designed for this stuff.