Remix.run Logo
▲ Tanjreeve a day ago

In OP

> It’s not as simple as writing data straight to S3. Lots of PUTs for tiny blobs of data are slow and expensive. Instead, we use an SSD tier to optimize speed and cost:

> When you write data to an actor’s SQLite database, the write is acknowledged once SSDs in 2 of 3 availability zones have it. Then, the data is batched to S3 in the background. This means that S3 is never on the write path, which lowers latency and cost. When reading data or waking an actor, Rivet reads from SSDs if already cached and falls back to S3 if not. SSD caches can be tuned to meet your needs, giving you configurable tiered storage for your actors.

▲chicagobuss 21 hours ago | parent [-]

Got it. This is the og confluent cloud architecture, then. That much data crossing availability zones might surprise people people on AWS since that will add at least $0.04 for every gb sent in

▲Tanjreeve 12 hours ago | parent [-]

I'm curious if it actually needs to be across AZs versus if it just needs a few instances but yes as written there is a trade off happening.

The other route for fast S3 writes others have used (Turso springs to mind) is express S3 zones but those have a lot of region specific fine print still.