I'll be giving a talk next week at the @PlanetScale SF Database Meetup about how we made @pgrustdb and how we made it 300x faster than Postgres for analytics
@andreaposti@pgrustdb@JasonSeibel The priorities are set to decay over time so lower latency queries inherently get throttled less
The main priority right now is doing enough testing that pgrust is production ready
In @pgrustdb, @JasonSeibel and I built a solution to one of the most common causes of Postgres outages: runaway queries.
pgrust can selectively throttle queries. By default, we deprioritize long running queries, preventing one big long running query from taking down your db
@mrmarkhalonen@pgrustdb@JasonSeibel yep! that's the primary way we've been invisioning people using pgrust initially. It's low risk and is one of pgrust's strengths
My favorite change we made to @pgrustdb is how we rearchitected parallel queries. Postgres decides a fixed degree of parallelism at plan time. For pgrust, we assign cpus to queries dynamically. For beefy machines with many cores, this results in a massive speedup
@zombodb@pgrustdb@JasonSeibel shared locks is a different problem - this is more oriented around you have a couple long running queries doing big table scans that use up all your I/O
@LeoOliemans91@pgrustdb the main way we tested this was by measuring tail latency of fast queries while simultaneously running slower longer queries
we based the approach on this paper if you want to read more about it: https://t.co/tXjoq6kjWD
I'll be giving a talk next week at the @PlanetScale SF Database Meetup about how we made @pgrustdb and how we made it 300x faster than Postgres for analytics
@MarioBalukcic@pgrustdb We're still working on it every day. We're getting close to a v0.3 launch (the public version is actually the second release - it was 10x faster than the initial release)
@kolovskydev@pgrustdb Yes. We have a fixed sized thread pool that works off of a shared queue of small tasks. More queries means the thread pool spreads across more queries. Fewer queries and the pool will adapt
@andrew_dizenzo@pgrustdb I have a skill and a vibecoded point and click interface where I can click on different parts of the animation and give feedback