Extended transactions to work across multiple nodes with Read Uncommitted isolation. This is the weakest isolation level but highest availability.
What it Does
- Distributed transactions across multiple nodes
- Read Uncommitted isolation level
- High availability during network partitions
- Eventual consistency when network heals
Read Uncommitted Semantics
- Dirty Reads: Can read uncommitted changes from other transactions
- High Availability: Operations succeed even during partitions
- Weak Consistency: No guarantees about reading latest values
- Simple Coordination: Minimal cross-node communication
The Trade-off
Read Uncommitted prioritizes availability over consistency:
- Transactions can proceed during network partitions
- Reads might see stale or uncommitted data
- No blocking on cross-node coordination
- Eventually consistent when network heals
Implementation Strategy
- Local Execution: Operations succeed on available nodes
- Async Replication: Propagate changes when possible
- Conflict Resolution: Handle conflicts when network heals
- Graceful Degradation: Degrade to local operations during partitions
Why Choose Read Uncommitted
- Maximum Availability: Never block on network issues
- Low Latency: No cross-node coordination delays
- Partition Tolerance: Works during network splits
- Simple Implementation: Fewer consistency checks
The Consistency Spectrum
Moving from stronger to weaker isolation:
- Serializable (strongest, lowest availability)
- Repeatable Read
- Read Committed
- Read Uncommitted (weakest, highest availability)
This level makes sense for workloads where availability matters more than perfect consistency - think metrics collection, logging, or cache-like systems.