Challenge 6a: Totally Available, Single-Node Transactions

desccode

a single-node key/value store with transaction support. Turns out you can get pretty far with a map and a mutex.

How it Works

Transaction Processing

Why This Works

  1. Atomic Transactions: Lock the whole thing, do all ops, unlock

  2. Simple Semantics: Read what's there, write what you're told

  3. Total Availability: Single node = no coordination needed

  4. Stateful: Everything lives in memory, so it's fast

Trade-offs

Pros:

Cons:

Could optimize with more granular locking or a proper storage backend, but honestly this passes the tests. Curious how the multi-node version will complicate things...