"Transaction"
- 1.3 Transaction 與一致性邊界
交易邊界、isolation level、retry 策略、distributed transaction(2PC、Saga)與跨 region 強一致取捨
- DynamoDB Transaction 與 Conditional Write:跨 item 原子性、optimistic locking 與 idempotency
DynamoDB 的寫原子性不是免費 ACID;本文展開 TransactWriteItems 跨 item 原子性、ConditionExpression 條件寫、version-based optimistic locking、ClientRequestToken idempotency,以及 transaction 2x 成本邊界與何時用單 item conditional write 取代 transaction
- CockroachDB Transaction Retry Pattern:serializable default 與 application contract 重塑
CockroachDB default SERIALIZABLE、application 必須包 retry loop 處理 40001 serialization_failure。本文走 PG → CockroachDB application contract 重塑、SAVEPOINT cockroach_restart 語法,以及 retry storm、retry loop 裡的副作用重複執行、cross-statement state、hot row、改 READ COMMITTED 後的業務語意、long-running transaction、distributed deadlock 等失敗模式;retry pattern 取自 Cockroach Labs 官方文件,不是案例揭露
- Transaction Propagation(交易傳遞)
多個 repository 的寫入要在同一個交易裡完成,或一段程式在交易失敗後仍留下部分寫入、交易裡的某個查詢卡住直到逾時時,查交易物件怎麼傳到每一個資料存取呼叫