ローカルファーストソフトウェアのためのCRDTの原理と同期パターン
オフライン動作と複数端末でのデータ統合を両立させるコンフリクトフリー複製データ型(CRDT)の数学的基礎と設計指針を解説します。
ネットワーク断線時でもローカル端末で作業を継続し、再接続時に自動で状態を統合するローカルファースト設計が注目されています。
1. CRDTの基本概念
可換性、結合性、冪等性を満たすデータ構造を採用することで、中央サーバーでの調停なしに各ノードの状態を矛盾なく収束させます。
2. 運用設計のポイント
状態ベースまたは操作ベースのどちらを採用するかによって通信量やメモリ負荷が変わるため、不要履歴(墓標)の削除方針などを適切に計画する必要があります。