Question: Project Name CRDT Data Sharing Project Sponsor: Protima Banerjee, also others at LM Project Manager Contact Information: protima.x.banerjee@lmco.com Description: CRDT Proof of Concept Project Details:

Project Name CRDT Data Sharing Project Sponsor: Protima Banerjee, also others at LM Project Manager Contact Information: protima.x.banerjee@lmco.com Description: CRDT Proof of Concept Project Details: A Conflict-free Replicated Data Type (CRDT) is a data structure that simplifies distributed data storage systems and multi-user applications. CRDT technology is relatively recent, and is used in some distributed database implementations such as Redis Enterprise and OrbitDB. The goals of this project are as follows:
  1. Read and understand what a CRDT is and be able to explain the technology in depth to the product owner. The entire team should read at least the following papers:
    1. https://arxiv.org/pdf/1806.10254
    2. (PDF) Near Real-Time Peer-to-Peer Shared Editing on Extensible Data Types (researchgate.net)
    3. https://mobiuk.org/abstract/S4-P5-Kleppmann-Automerge.pdf
  2. Implement a simple document editing system using CRDT technology. Use the Yjs CRDT implementation.
  3. Record latencies associated with document updates to the shared data type.
  4. Implement the same system using Automerge and record latencies
  5. Compare document update latencies between the two systems and be prepared to discuss how they are different with the product sponsor
References: CRDT: About CRDTs Conflict-free Replicated Data Types Yjs: Introduction - Yjs Docs Automerge: GitHub - automerge/automerge: A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically. Project Name CRDT Data Sharing Project Sponsor: Protima Banerjee, also others at LM Project Manager Contact Information: protima.x.banerjee@lmco.com Description: CRDT Proof of Concept Project Details: A Conflict-free Replicated Data Type (CRDT) is a data structure that simplifies distributed data storage systems and multi-user applications. CRDT technology is relatively recent, and is used in some distributed database implementations such as Redis Enterprise and OrbitDB. The goals of this project are as follows:
  1. Read and understand what a CRDT is and be able to explain the technology in depth to the product owner. The entire team should read at least the following papers:
    1. https://arxiv.org/pdf/1806.10254
    2. (PDF) Near Real-Time Peer-to-Peer Shared Editing on Extensible Data Types (researchgate.net)
    3. https://mobiuk.org/abstract/S4-P5-Kleppmann-Automerge.pdf
  2. Implement a simple document editing system using CRDT technology. Use the Yjs CRDT implementation.
  3. Record latencies associated with document updates to the shared data type.
  4. Implement the same system using Automerge and record latencies
  5. Compare document update latencies between the two systems and be prepared to discuss how they are different with the product sponsor
References: CRDT: About CRDTs Conflict-free Replicated Data Types Yjs: Introduction - Yjs Docs Automerge: GitHub - automerge/automerge: A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!