Remix.run Logo
WAL-RUS: a Rust Rewrite of WAL-G for PostgreSQL Backups(clickhouse.com)
59 points by saisrirampur 9 hours ago | 4 comments
nasretdinov 2 hours ago | parent | next [-]

I must say I'm quite pleased to see how well Go version works. It does only use 1.5x the CPU and (predictably) much more RAM/VRAM, but not a crazy amount either (the expected increase is 2x).

Of course you can write a more optimal version in C / C++ / Zig / Rust, but at the same time Go is much easier to write and you don't pay for the convenience with an absurd performance loss like in Python or PHP

caffeinated_me 5 hours ago | parent | prev [-]

Do you have any benchmarks with a mix of long open transactions and short ones? I've struggled a lot with WAL-E in the past there, and am curious if that changes here.

__s 3 hours ago | parent [-]

no. but wal-g & wal-rus both have parallelism over wal-e. however are you more asking about handling build up of wal / vacuum prevention caused by long running transactions? those are up to postgres, archive command only keeps pushing wal so that when postgres is ready to get rid of wal it can. seems like your scenario wouldn't care much what the archiver is since wal should be shipped long before postgres is ready to get rid of wal

caffeinated_me 3 hours ago | parent [-]

Yeah, I'm probably misremembering some details there. Thanks