私はCvRDTを読んでいて、Riak がすでにRiak 2にいくつか追加していることを知っています。
私の質問は:すべてのオブジェクトに関連付けられてgcounter
いる基盤が同じ情報を記録しているように聞こえるのに、なぜ Riak は を実装するのでしょうか? 結果は、それぞれが同じ重要な情報を含む で保存されvclock
ませんか?gcounter
vclock
vclocks
現時点での唯一の推測は、Riak がの目的で実際に重要なトリミング情報gcounter
(つまり、インクリメントの数) をガベージ コレクションする可能性があるということです。
私は Erlang を特によく読めないので、Riakvclocks
がこれらの特殊なケースのデータ型を格納していると誤って想定していたのかもしれません。ただし、問題は、標準の Riak の上に記述された自家製のソリューションvclocks
にも当てはまります (したがって、永続化された各オブジェクトを継承します)。
編集:
それ以来、CvRDT をより実用的な方法で説明するために、次の記事を書きました。この記事では、上記で強調した冗長性についても触れています。
Conflict-free Replicated Data Types (CRDT) - 数学の少ないわかりやすい説明。