System 12.14 — Google Drive
In one line
Dropbox sync + collaborative docs + org/quotas layer — mostly the same engine with Google Docs on top.
Think of it like this
Dropbox with a bigger emphasis on sharing and collaborating — letting multiple people view or edit the same document with proper permissions, not just sync files.
Key ideas
- 01
Reuse the sync engine (12.13): chunked content addressing, per-namespace versions, delta sync.
- 02
Add: online editors (collab layer) — OT/CRDT for live editing with presence and op log (the genuinely hard addition).
- 03
Drive-specific: shared drives, permissions (owner/editor/viewer/commenter) inherited over folders tree.
- 04
Quota/plan layer: per-user storage accounting + hard limits; org admin policies.
- 05
Search: metadata index (ES) over files; instant search while offline edits queue locally.
- 06
Sync queues handle offline: local ops queue → replay with server-conflict resolution on reconnect.
- 07
Interview: present sync engine first, then layer the collaboration + permissions + quota.
Code & diagrams
Same sync engine as Dropbox, plus a permission graph that every read/write must pass through.
Explain without notes
Shared folder with a team: how do permissions propagate and what happens when a child overrides inheritance?
Practice
Design the quota enforcement + a soft/hard limit policy that doesn't break apps mid-save.
Trade-offs
- ↔
OT (server-authoritative) vs CRDT (decentralized merge) — the collab brain teaser: say OT-lite with an op log.
Run it in production
You've designed it. Now build, operate, and break the same idea hands-on in the DevOps courses:
Completion checklist
I can extend the Dropbox design with collab, permissions, and quotas without panicking.