I dont understand what the use case is for this. If I have a front end, I would hope that the formated response is what were caching. Be that HTML or JSON. If I cant read from that cache then I should be reading from fresh data all together? right?
How do you invalidate your cache? Is it complicated? What about search queries with many filters? What about responses that are unique per user? What about common queries that are shared between multiple views, do you constantly re-run those as your response cache is invalidated?
Readyset: A MySQL and Postgres wire-compatible caching layer
11–20 of 71 posts
Re: Readyset: A MySQL and Postgres wire-compatible caching layer
#12But the read side is already fairly trivial to scale with read replicas
A read-replica doesn't give you perfect transactional guarantees as well. Read operations to the replica after a write operation to the leader might still give you stale data (lagging by a few milliseconds).
Re: Readyset: A MySQL and Postgres wire-compatible caching layer
#13Re: Readyset: A MySQL and Postgres wire-compatible caching layer
#14I dont understand what the use case is for this. If I have a front end, I would hope that the formated response is what were caching. Be that HTML or JSON. If I cant read from that cache then I should be reading from fresh data all together? right?
What if it's a backend service that is not exposed to a frontend that receives html or Json. E.g a task that takes an id and a operation name and needs to fetch from the database a bunch of data to process.
Re: Readyset: A MySQL and Postgres wire-compatible caching layer
#15Re: Readyset: A MySQL and Postgres wire-compatible caching layer
#16Anyone successfully using? There are a few other services out there like PolyScale. It will be interesting to see if any of these introduce some form of write support over time
Re: Readyset: A MySQL and Postgres wire-compatible caching layer
#17Earlier quoted context omitted.
How do you invalidate your cache? Is it complicated? What about search queries with many filters? What about responses that are unique per user? What about common queries that are shared between multiple views, do you constantly re-run those as your response cache is invalidated?
Caches are never invalidated. Readyset uses CDC to receive updates from PostgreSQL/MySQL and update the cache entries. No invalidation required. The price you pay is eventually consistent data, which is already true if you use any async replication like readyset does.
Re: Readyset: A MySQL and Postgres wire-compatible caching layer
#18Anyone successfully using? There are a few other services out there like PolyScale. It will be interesting to see if any of these introduce some form of write support over time
What do you mean by write support here? Readyset will apply writes via a replication stream from the upstream database.
Re: Readyset: A MySQL and Postgres wire-compatible caching layer
#19Anyone successfully using? There are a few other services out there like PolyScale. It will be interesting to see if any of these introduce some form of write support over time
> It will be interesting to see if any of these introduce some form of write support over time
Writes performed by your application in Readyset are automatically proxied(redirected) to your database.
Re: Readyset: A MySQL and Postgres wire-compatible caching layer
#20But the read side is already fairly trivial to scale with read replicas