Object store
0-day streakReview

Your progress

Level 1

0 XP100 XP to level 2
0day streak
0best streak
0topics started
0cards reviewed
    Review cards

    Progress is stored only in this browser. No account is required.

    Layer 3 · Go deeper · 11 min

    Go deeper

    Size it, build it, then make the calls an interviewer will push you on.

    Back of the envelope

    Size it up

    Tap through each step of the arithmetic.

    How big is the key index, and how many partitions?

      How many 26 TB drives hold the data?

        Can the disks keep up with peak reads?

          How often does a drive die, and what does repair cost?

            Build-up · 5 steps

            Build the high-level design

            One functional requirement at a time, ending with an object store that works correctly in one region, before any deep dive.

            Step 1 of 5

            Store, read and delete objects

            A small bucket registry keeps names unique. Front ends write the bytes to the data plane first, then commit a manifest to the key index: the moment the object exists, so a crash leaves only invisible garbage.

            6 interview moments

            You’re the candidate

            The interviewer pushes on the hard parts. Pick an approach and see how it holds up.

            1. Deep dive 1 of 6

              Interviewer

              “A disk dies every day, and a whole zone can go dark. How do you reach eleven nines without paying 3×?”

              Your move. Pick an approach:

            2. Deep dive 2 of 6

              Interviewer

              “The key index holds 1 PB and takes 5M operations a second, plus every LIST. How do you split it?”

              Your move. Pick an approach:

            3. Deep dive 3 of 6

              Interviewer

              “4M reads a second, skewed to popular objects, would pile onto a few index leaders. How do you cache metadata and stay strongly consistent?”

              Your move. Pick an approach:

            4. Deep dive 4 of 6

              Interviewer

              “A customer deletes an object stored inside a sealed, erasure-coded 1 GB extent. When do its bytes come back?”

              Your move. Pick an approach:

            5. Deep dive 5 of 6

              Interviewer

              “Each disk does about 120 random reads a second; the whole fleet falls short of peak. Where does each new extent go?”

              Your move. Pick an approach:

            6. Deep dive 6 of 6

              Interviewer

              “Disks, memory, network cards and software all corrupt data now and then. How do you know a GET returns the bytes you stored?”

              Your move. Pick an approach:

            Build-up · 6 steps

            Follow one PUT and GET through it

            The request path touches only front ends, the metadata plane and the data plane. Repair, scrubbing, GC, lifecycle and placement all run in the background with throttles.

            Step 1 of 6

            Front door

            A request reaches a front end through DNS and load balancers. It authenticates, checks the bucket policy and per-tenant limits, and answers 503 Slow Down while a partition is mid-split.