リードスキュー
Read Skew
複数のデータを読み出している間に、その複数のデータが更新されてしまう。
複数のデータ自体の一貫性は保たれているが、読み出しの合間に変更が割り込まれているために、不整合な値を読み出したことになってしまう。
code:mermaid
sequenceDiagram
participant T1 as Transaction 1
participant DB as Database
participant T2 as Transaction 2
T1->>DB: Begin Transaction
T2->>DB: Begin Transaction
T1->>DB: Read A (Value: 100)
T2->>DB: Read A (Value: 100)
T2->>DB: Read B (Value: 100)
T2->>DB: Update A = 50
T2->>DB: Update B = 150
T2->>DB: Commit
T1->>DB: Read B (Value: 150)
Note over T1,DB: Inconsistent state: A=100, B=150
T1->>DB: Commit