Brussels / 31 January & 1 February 2026

schedule

JSON Databases and Small ActivityPub Servers: A Perfect Combination


In the course of building out the Fediverse Schema Observatory and the ActivityPub Fuzzer I changed how I write my small ActivityPub servers. I used to follow Mastodon's playbook, where I transformed incoming activities into a relational database model, breaking each activity out into rows across an accounts table, a statuses table, a favorites table, and so on. But since learning that relational databases like SQLite and Postgres contain high performance functions for parsing JSON, I have moved to a hybrid model that blends features of relational databases and NoSQL JSON databases. This approach is not new, and there are reasons it hasn't been embraced in other contexts, but I think it is uniquely suited to ActivityPub's interaction model and could be a fruitful avenue for more developers to explore.

In this talk I describe: - how to do it - concrete benefits of doing it - helpful patterns I've learned - drawbacks and caveats

Speakers

Photo of Darius Kazemi Darius Kazemi

Links