Command Palette

Search for a command to run...

PHASE 12Advanced ~6 min· topic 14 of 39Level 3

System 12.14 — Google Drive

In one line

Dropbox sync + collaborative docs + org/quotas layer — mostly the same engine with Google Docs on top.

0/39 · 0%

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

  1. 01

    Reuse the sync engine (12.13): chunked content addressing, per-namespace versions, delta sync.

  2. 02

    Add: online editors (collab layer) — OT/CRDT for live editing with presence and op log (the genuinely hard addition).

  3. 03

    Drive-specific: shared drives, permissions (owner/editor/viewer/commenter) inherited over folders tree.

  4. 04

    Quota/plan layer: per-user storage accounting + hard limits; org admin policies.

  5. 05

    Search: metadata index (ES) over files; instant search while offline edits queue locally.

  6. 06

    Sync queues handle offline: local ops queue → replay with server-conflict resolution on reconnect.

  7. 07

    Interview: present sync engine first, then layer the collaboration + permissions + quota.

Code & diagrams

DriveSharingModeldiagram

Same sync engine as Dropbox, plus a permission graph that every read/write must pass through.

Rendering diagram…

Explain without notes

01

Shared folder with a team: how do permissions propagate and what happens when a child overrides inheritance?

Practice

01

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.

Back to phase