トランザクション管理 — 整合性の境界をどこに置くか
Laravel の DB::transaction() を使ったトランザクション管理を解説。ACID 特性、1 集約は Repository 内・複数集約は UseCase 内という置き場所の使い分け、ネストしたトランザクション (Savepoint)、楽観的ロックと悲観的ロックの実装と使い分けをまとめます。
Laravel の DB::transaction() を使ったトランザクション管理を解説。ACID 特性、1 集約は Repository 内・複数集約は UseCase 内という置き場所の使い分け、ネストしたトランザクション (Savepoint)、楽観的ロックと悲観的ロックの実装と使い分けをまとめます。
データベースの 4 つの基本操作 (CRUD) と、複数の操作をまとめて扱うトランザクション・ACID 特性 (原子性・一貫性・独立性・永続性) を、銀行振込などの具体例とともに解説します。