Evaluation of Google Docs Design
Let's understand how we will fulfill the non-functional requirements in a collaborative document editing system.
We have now explained the design and how our design fulfills the functional requirements for a collaborative document editing service. This lesson will focus on how our design meets the non-functional requirements. In particular, we will focus on consistency, latency, scalability, and availability.
Consistency
We have explained how we will achieve strong consistency for conflict resolution in a document through two technologies: Operational Transformation (OT) and Conflict-free Resolution Data Types (CRDTs). Furthermore, TimeSeries DB enables us to preserve the order of events (once OT or CRDT have resolved any conflicts, the final result is saved in the DB). Thus, achieving consistency in terms of individual operations.
We are also interested in keeping the document state consistent across different servers in a data center. To replicate an updated state of a ...
Create a free account to access the full course.
By signing up, you agree to Educative's Terms of Service and Privacy Policy