Hi protocol friends! I've been cooking up a Very Large PDS (vlpds) implementation capable of scaling up to billions of accounts and down to just one. It uses Object Storage as its only state, supports HA operation, live scaling up and down, is feature-complete with the reference PDS, and is FOSS.
Post
vlpds.jazco.devOverview · vlpds docsAn atproto PDS whose only durable storage is an object store. Any node serves any request, one node can run a personal server for free, and a few nodes can carry all of Bluesky's write load.
At Bluesky production scale, hosting the entire network with room for 3x peak commit spikes during the day, vlPDS can be hosted on 3 x 6vCPU machines with 32GB RAM and 400GB local NVME. Adding in the Object Storage costs and it comes to roughly $1.5k/mo (plus blob storage costs).
0 reposts73 likes
The primary focus here is on reliability, scalability, and ease of operation. Things should be very set-it-and-forget and ideally in the worst case scenario of losing an entire node you'd have at most a 12 second blip of some of your shards write availability. It also supports manual shard splitting
It is MIT licensed and FOSS :) github.com/jazware/vlpds
github.comGitHub - jazware/vlpds: Very Large PDS, a world-scale, incredibly efficient, incredibly resilient, atproto personal data serverVery Large PDS, a world-scale, incredibly efficient, incredibly resilient, atproto personal data server - jazware/vlpds