CRDT(DB)
Conflict-free Replicated Data Type(競合のない複製データ型)。異なるレプリカでの同時変更を、順序に関係なく必ず同じ結果へ自動マージできるよう設計されたデータ型。中央サーバーなしの共同編集とオフラインファーストを可能にする。
発想は、競合を後から検出して解消するのではなく、マージ操作が可換・結合的・冪等になるようデータ型を作ることにある。そうすれば全レプリカは数学的に保証された同一の状態へ収束する。例はG-Counter(増えるだけのカウンタ)、OR-Set(追加と削除ができる集合)、テキスト向けのシーケンスCRDTなど。Figma、Apple Notesのような共同編集アプリ、Yjs/Automergeによる中央の競合解消なしのGoogle Docs風編集、RiakやRedis Enterpriseといった分散データベース、ローカルファーストのアプリで使われる。代償はメモリとメタデータの増加(履歴の追跡が必要)で、すべての問題がCRDTに収まるわけでもない。「ローカルファースト・ソフトウェア」運動の中心的な技術である。