WeSearch

Aurora DSQL: The Adjudicator

Marc Bowes· ·2 min read · 0 reactions · 0 comments · 9 views
#database#transactions#conflicts
⚡ TL;DR · AI summary

The article discusses the capabilities of Aurora DSQL, particularly its handling of write-write conflicts and the absence of features like foreign keys and SERIALIZABLE. It explains how DSQL can maintain referential integrity by rejecting transactions that would violate it, even in concurrent scenarios. The piece also touches on the complexity of implementing these features and the role of the Adjudicator in managing transaction integrity.

Key facts
Original article
Marc-bowes · Marc Bowes
Read full at Marc-bowes →
Opening excerpt (first ~120 words) tap to expand

The Adjudicator is not constrained to only offering write-write conflict detection. Let’s talk about two features that DSQL doesn’t currently offer: foreign keys and SERIALIZABLE. Every now and then a customer will ask us if our architecture makes this kind of feature hard or even impossible. Nope! It’s really quite simple, and by far the least difficult part of this system. Let’s extend our banking example. We might want to maintain an audit table of all debit-credits: -- as before: do the payment INSERT INTO audit (payer_id, payee_id, amount) VALUES (1, 2, 100); If you wanted to ensure referential integrity then you’d want DSQL to reject a subsequent transaction that tried to delete one of the accounts: DELETE FROM accounts WHERE id = 1; NOTE: If this delete was run concurrently with…

Excerpt limited to ~120 words for fair-use compliance. The full article is at Marc-bowes.

Anonymous · no account needed
Share 𝕏 Facebook Reddit LinkedIn Threads WhatsApp Bluesky Mastodon Email

Discussion

0 comments

More from Marc-bowes