CRDT

Conflict-free Replicated Data Type(競合のない複製データ型)。複数のノードが独立して更新を行っても、最終的に同じ状態に収束することが数学的に保証されたデータ構造。

特徴

対比:OT(Operational Transformation)

Operational Transformation(OT)は中央サーバーが操作を変換して競合を解決するアプローチ。Google Docsが採用している。

項目 CRDT OT
中央サーバー 不要 必要
複雑さ データ構造に集中 変換ロジックに集中
オフライン 対応しやすい 難しい
採用例 Figma, Yjs Google Docs

実装例

Yjsはリッチテキスト向けのCRDT実装ライブラリ。

関連