3 ms·
To summarise the relevant details, the "AppView" service is responsible for the sorts of queries that aggregate across users, and that has its own database setu
by Retr0id 3y ago
To summarise the relevant details, the "AppView" service is responsible for the sorts of queries that aggregate across users, and that has its own database setup - I think postgres but I'm not 100% sure on that.
- jakebsky 3y agoYou're right, as usual. AppView is on a Postgres cluster with read replicas doing timeline generation (and other things) on-demand. We're in the process of moving it toward a beefy ScyllaDB cluster designed around a fanout-on-write system. The v1 backend system was optimized for rapid development and served us well. The v2 backend will be somewhat less flexible (no joins!) but is designed for much higher scale.
- manmal 3y agoDoes the BGS pull all the tenant‘s individual SQLite data? Or do the PDS push new posts to the BGS?
- jakebsky 3y agoThe BGS (which is an atproto "relay" service) subscribes to all PDS event streams on the entire network, and aggregates and relays them. This way it's possible to get all network data from a single place (the BGS) rather than having to connect to every PDS, which is simpler for consumers and dramatically reduces the workload of PDS hosts. Some details about event streams here, although the APIs are still evolving: https://atproto.com/specs/event-stream https://atproto.com/specs/event-stream
- manmal 3y agoThank you!