NoSQL Databases and ActivityPub

Brad Koehn

Implementing an ActivityPub server can be daunting, but one way to make it easier is by using a NoSQL database.

In this talk, I’ll lay out the way my server uses NoSQL to provide high-performance, highly-scalable storage for ActivityPub objects.

Questions & Answers available!

Q&A Session – NoSQL Databases and ActivityPub
⬡ Hooray, the live Questions & Answers are available here


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

1 Like