In a new blog post, Marc Bowes looks at how updates work in Aurora DSQL, and what it means for scalable schema design. Read it here: https://lnkd.in/gmGEK8Dv A couple take-aways for application builders: - You mostly don't have to worry about hot read keys in DSQL, even in read-write transactions. DSQL can scale out per-key read throughput, and the design requires no co-ordination between transactions reading the same key. (Thank you, MVCC and Time Sync!) - Scalable applications do need to avoid high-contention write keys when doing updates. Writes need to be coordinated and ordered (to implement the I in ACID), which limits per-key throughput. - Most applications can avoid hot write keys with the right schema design. Most applications have already been written this way, because high-contention keys perform poorly on relational databases of all kinds.
The linked article is great. When do we get commutative operations like increment to avoid the RMW delays?
Now I feel like I'm late to the party 😞. My own article came out today https://newsletter.simpleaws.dev/p/aurora-dsql-the-postgresql-compatible-database-that-will-break-your-app-and-how-to-fix-it
Thank you for sharing these valuable insights, Marc Brooker. The evolution of Aurora DSQL and its implications for scalable schema design is a fascinating topic. Your emphasis on minimizing hot read and write keys highlights the importance of thoughtful design in application development. It's encouraging to see such advancements that can significantly enhance performance and efficiency for developers.
The fact that you're both named Marc B continues to cause amusing mix ups when I'm referencing blog posts.
Great read thx Loved the reference to math
Solutions Leader | Principal Architect | Driving Business Value with GenAI & Data Platforms | Author & Thought Leader | Ex-Yahoo, Amazon, Cloudera, Amex
6moMarc Brooker thanks for sharing the blog. I have a question on read, does it always checks the journal to see if the latest key exists there or it see only the keys committed to storage?. Asking this coming from hbase background, which resulted in read amplification.