Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Students also viewed these Programming questions