Hacker News new | ask | show | jobs
by psanford 390 days ago
This looks great! A few years ago I wrote a sqlite vfs for using dynamodb as a backing store[0] called DonutDB. With the recent addition of CAS to S3, I was thinking about making a new version of DonutDB backed by S3. I'm really glad lightstream supports this so I don't have to!

I can't wait to try this out.

[0]: https://github.com/psanford/donutdb

1 comments

> With the recent addition of CAS to S3

Do you have a reference for this? I assume by CAS you mean content addressable storage? I googled but can't find any AWS docs on this.

Compare And Swap
The TL;DR is that Amazon S3 now supports "conditional writes" which are guaranteed to fail if the file was written by some other writer. This is implemented by sending the ETag of an object's expected version alongside the write request.

Litestream now depends on this functionality to handle multiple writers. Think of optimistic locking.

https://aws.amazon.com/about-aws/whats-new/2024/11/amazon-s3...

Thanks both! In the contexts I work in CAS always means content-addressable-storage, my mistake.