We operate on AT Protocol (Bluesky). We need an AppView — either a fork/adaptation of the reference implementation or a purpose-built one — capable of holding and serving approximately 500 TB of firehose-derived data.
We attempted this on PostgreSQL. It did not hold. We need someone to own the data layer decision and the architecture around it.
What the AppView actually has to do:
- Firehose ingestion — continuous, append-heavy write stream of commits (posts, likes, follows, reposts, blocks) from relays. Sustained high write throughput, no natural backpressure.
- Social graph — follows/blocks/mutes. Read-hot, latency-critical, traversal-heavy. Fanout for timeline construction.
- Timeline/feed serving — low-latency reads under high concurrency. Fanout-on-read vs. fanout-on-write is an open decision.
- Aggregations & counters — like counts, reply counts, repost counts. High-cardinality, high-churn, read-hot.
- Search & discovery — full-text over posts, plus trend detection.
- Historical/analytical store — the bulk of the 500 TB. Cold, scanned rarely, must not sit on the same tier as hot data.
- Moderation/labeling — label lookups on the read path, plus retroactive takedown across the corpus.