On 1/16/24 2:10 PM, Konstantin Knizhnik wrote:
Amazon RDS is just vanilla Postgres with file system mounted on EBS
(AmazonĀ distributed file system).
EBS provides good throughput but larger latencies comparing with local SSDs.
I am not sure if read-ahead works for EBS.
Actually, EBS only provides a block device - it's definitely not a
filesystem itself (*EFS* is a filesystem - but it's also significantly
different than EBS). So as long as readahead is happening somewheer
above the block device I would expect it to JustWork on EBS.
Of course, Aurora Postgres (like Neon) is completely different. If you
look at page 53 of [1] you'll note that there's two different terms
used: prefetch and batch. I'm not sure how much practical difference
there is, but batched IO (one IO request to Aurora Storage for many
blocks) predates index prefetch; VACUUM in APG has used batched IO for a
very long time (it also *only* reads blocks that aren't marked all
visble/frozen; none of the "only skip if skipping at least 32 blocks"
logic is used).
1:
https://d1.awsstatic.com/events/reinvent/2019/REPEAT_1_Deep_dive_on_Amazon_Aurora_with_PostgreSQL_compatibility_DAT328-R1.pdf
--
Jim Nasby, Data Architect, Austin TX