CRDTとは?Conflict-free Replicated Data Typeの仕組み・用途・注意点を解説
CRDTとは、Conflict-free Replicated Data Typeの略で、日本語では「コンフリクトなし複製データ型」または「競合なし複製データ型」と訳されます。複数の端末、サーバー、ブラウザ、アプリケーションインスタンスに同じデータのコピーが存在し、それぞれが独立して更新されても、最終的に同じ状態へ収束できるように設計されたデータ構造です。特に、リアルタイム共同編集、オフラインファーストアプリ、Local-first Software、P2P同期、分散データベースなどで重要な考え方です。
従来の同期では、複数のユーザーが同じデータを同時に編集すると、どちらの変更を優先するか、どちらを破棄するか、ユーザーに手動で選ばせるかといった問題が発生します。CRDTでは、データ型そのものにマージのルールを持たせることで、複数の更新を自動的に統合し、各レプリカが最終的に同じ状態になるようにします。つまり、CRDTは「競合が起きない魔法」ではなく、「競合が起きても、定義された規則に従って自動的に収束できるようにする技術」です。
EN
JP
KR