Thank you @koehn for this really clear introduction to the advantages and challenges of using NoSQL solutions to develop ActivityPub services. I especially like the idea that your server can fetch any activity from any version of any server implementation and just work with it. That’s indeed a good starting point to work with the data.
I’d be interested if you like, in comparing the trade-offs with @mayel’s approach of sticking to Postgres, but I don’t want it to become a SQL vs. NoSQL argument. I guess both approaches have advantages and caveats, depending on what you want to do with the data.
Finally I guess going through the challenges you mentioned would make an interesting follow-up discussion across the community:
ActivityPub replication/federation/delivery strategies are poorly defined
ActivityPub specification flexibility makes interoperability challenging (but maybe that’s why we need coordination and the collective)
Type libraries are critically important (to which I’d like to propose a Mammoth category in #software to fill the gap for NodeJS)
Thank you for the kind words! I look forward to discussing the issues during the breakout session on 3 October 13:00 UTC. Come join us at https://bbb.fosshost.org/b/mor-caj-hjk-kzs