Monday, October 26, 2015

Review for CRDTs

The problem is data consistence is difficult to maintain. There are mainly two kinds of approaches to deal with data consistence. The first one is ensuring scalability but giving up consistency like LLW. The second kind is to serialize all updates with consistency guarantee, but cannot scale well.

CRUT stands for Commutative Replicated Data Type. It refers to that when concurrent data update happens, all the replicas updates in casual order, and then replica converge.

The author propose the CRUT (Commutative Replicated Data Type) implementation called Treedoc. Basically, they try to build up an order set with insert-at-position and delete operations.

Different from previous works, the authors are the first to address the design of CRUT.

The trade off here is that CRUT is not universal. Not all the abstractions can be converted into CRUT. For example, a queue or a stack rely on a strong invariant (a total order) that inherently requires consensus cannot be converted into CRUT.
 
I think it will be influential, since data consistency is a big problem in large scale data processing.

No comments:

Post a Comment