Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

Product Manager Interviews  Module 5 – Execution, prioritisation and technical rounds

System design for product managers

Lead a system design conversation as a product manager: write the requirements, sketch the parts, estimate the load and weigh fresh against fast data.

  • Intermediate
  • 20 minutes
  • Examples run with Python 3.14.8, Pyodide 314.0.7 and sql.js 1.14.2
  • By MySmartCoPilot
Free core, Pro depth: 8 of 20 minutes free
Free: Requirements come first: how many, how fast, how fresh, how reliable · Most features are built from the same few parts · A load estimate shows where a design breaks first · 2 more sections. With a pass: 2 in-depth parts and 3 interview answers, about 12 minutes.

What you will learn

  • Write the requirements that shape a design, with scale, latency, freshness and reliability as numbers
  • Sketch the main parts of the system behind a product feature and the paths data takes between them
  • Estimate the load a feature puts on a system and where it breaks first
  • Weigh freshness, speed, consistency and cost with engineers, screen by screen

Before you start

What you’ll learn · Before you start

What you will learn

  • Write the requirements that shape a design, with scale, latency, freshness and reliability as numbers
  • Sketch the main parts of the system behind a product feature and the paths data takes between them
  • Estimate the load a feature puts on a system and where it breaks first
  • Weigh freshness, speed, consistency and cost with engineers, screen by screen

Before you start

On this page

A recipe page that shows its reviews looks like one small feature, yet at dinner time it can mean 20,000 reads a second for a database that serves 5,000. System design questions for product managers check that you can see this before anything is built: turn a feature into requirements, sketch the parts that serve it, estimate where it breaks first and decide with engineers what each screen can give up. Building it is the engineers’ depth, which the system design track covers.

Below, you design ratings and reviews for an invented recipe app: its requirements, its parts step by step, its load in a program and a model, and its trade-offs.

Requirements come first: how many, how fast, how fresh, how reliable

Before drawing a box, write the numbers that decide the design. Google’s SRE book calls a target for a measured indicator an SLO (service level objective): A target for a measured indicator of a service, such as 99 % of reads completing within 200 ms. The indicator itself is the SLI; an SLA adds consequences for missing the target., for example that 99 % of requests finish in under 100 ms. For the recipe reviews:

Requirement For recipe reviews What it decides
Scale 24 million users a day, 6 recipe pages each, busiest at dinner Reads dominate, so a cache comes first
Latency 99 % of review reads within 200 ms Reads come from memory, not from the database
Freshness A new review appears within 5 minutes Checks can wait in a queue, out of the cook’s way
Reliability 99.9 % of page reads succeed; posting may wait Reading and writing can fail separately

Each line rules options out: at the dinner peak, the 200 ms target rules out reading the database for every page, because it serves 5,000 of the 20,000 reads a second, and a 5-minute freshness rule lets every review be checked before anyone sees it.

Checkpoint

Check: Requirements as numbers

  1. One question The table says review reads come from memory, not from the database. Which requirement forces that?

    Choose one answer.

    Show the answer: One question

    Answer: 99 % of review reads within 200 ms

    The latency target, together with the scale, rules out a database read per page at dinner. Each requirement removes options; this one puts a cache in front of the database.

Most features are built from the same few parts

A product manager sketches the parts and the paths data takes between them, not the code inside them. Most features use the same kinds of part: the app, an API, a service that owns the feature’s data, a database that keeps it, a cache that keeps fast copies, and a queue that holds work for later. Step through one read and one write:

Interactive · step by step The parts behind recipe reviews, one read and one write Step through a recipe page reading its reviews, then a new review on its way to the page. Each part appears when it first does some work.
The parts behind recipe reviews, one read and one write, step 9 of 9. Showing Recipe app, Photo store, API, Cache (copy of 77 cleared), Reviews service, Moderation queue, Reviews database (review 9012 approved), Check worker.Recipe appPhoto storeAPICachecopy of 77 clearedReviews serviceModeration queueReviews databasereview 9012 approvedCheck workerapproved

The drawing shows the whole scene; its 9 steps are listed below.

Every step as text
  1. A recipe page opens. A cook opens recipe 77. The app asks the API for its rating and its first reviews, and the API passes the request to the reviews service, the part that owns reviews.
  2. The cache first. The service asks the cache, a fast copy of recent answers held in memory. At a hit ratio of 90 %, nine reads in ten end here and never reach the database.
  3. A miss reads the database. This read misses, so the service reads the reviews database, the lasting record of every review, and stores the answer in the cache for the next reads of recipe 77.
  4. The page fills in. The answer travels back through the API to the app, which draws the stars and the first reviews.
  5. A review is written. Another cook posts a review with a photo. The photo goes straight to the photo store, which keeps large files apart from the reviews database.
  6. Saved, not yet shown. The review's text reaches the service, which saves it as pending. A pending review is kept safe but no reader sees it yet.
  7. In line for a check. The service puts the review in the moderation queue and answers the cook at once. The queue lets checks run at their own pace, so a burst of reviews never slows the page.
  8. The check. A worker takes the review from the queue and checks it for spam and abuse, flagging the rare doubtful one for a person.
  9. Approved, and the copy cleared. The worker marks the review approved and clears the cache's copy of recipe 77, so the next read misses, reads the database and shows the new review.

Each part answers a product question: the database says where the data lives, the cache what may be old, the queue what may be late. Ask which part owns each piece of data, and what the feature does when that part is slow.

Checkpoint

Check: The parts behind a feature

  1. Question 1 of 2 Why does the reviews service put a new review in a queue instead of checking it before it answers the cook?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: So checks run at their own pace and a burst of reviews never slows the page or the cook

    A queue separates when work arrives from when it is done. That is what the freshness rule allows: a review may take up to 5 minutes to appear, so its check can wait in line.

  2. Question 2 of 2 In the scene, what happens when the cache does not hold recipe 77?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: The service reads the database and stores the answer in the cache for the next reads

    Read path: cache first; on a miss, the database, and the answer is kept in the cache. The hit ratio says how often the first step is enough.

A load estimate shows where a design breaks first

Estimate before you choose parts. This program works out the dinner peak from stated assumptions:

Peak load and storage for recipe reviews Python · capacity/capacity.py
# Load and storage for ratings and reviews in an invented recipe app. Every
# input is a stated assumption: change one, run it again, see what moves.
DAILY_USERS = 24_000_000
PAGES_PER_USER = 6        # recipe pages a user opens a day
READS_PER_PAGE = 4        # rating, first reviews, reviewers, photo list
PEAK_FACTOR = 3           # the dinner hour runs at 3 times the average
HIT_RATIO = 0.90          # share of reads the cache answers
DB_LIMIT = 5_000          # reads a second the database can serve
REVIEWS_PER_DAY = 50_000
PHOTO_SHARE = 0.2         # reviews that carry a photo
PHOTO_BYTES = 400_000     # one stored photo
TEXT_BYTES = 1_000        # one review's text and details
CHECK_SECONDS = 120       # average wait for a review's moderation check

DAY = 24 * 60 * 60
reads = DAILY_USERS * PAGES_PER_USER * READS_PER_PAGE / DAY * PEAK_FACTOR
to_db = reads * (1 - HIT_RATIO)
needed = 1 - DB_LIMIT / reads
print(f"peak reads: {reads:,.0f} a second")
print(f"reaching the database: {to_db:,.0f} (limit {DB_LIMIT:,})")
print(f"hit ratio needed: {needed * 100:.1f} %")

writes = REVIEWS_PER_DAY / DAY * PEAK_FACTOR
print(f"peak writes: {writes:.1f} reviews a second")
# Little's law: reviews waiting = arrival rate x average wait.
print(f"waiting for a check at peak: {writes * CHECK_SECONDS:.0f}")

GB = 1_000_000_000
text = REVIEWS_PER_DAY * TEXT_BYTES * 365 / GB
photos = REVIEWS_PER_DAY * PHOTO_SHARE * PHOTO_BYTES * 365 / GB
print(f"storage a year: text {text:,.0f} GB, photos {photos:,.0f} GB")

Output

peak reads: 20,000 a second
reaching the database: 2,000 (limit 5,000)
hit ratio needed: 75.0 %
peak writes: 1.7 reviews a second
waiting for a check at peak: 208
storage a year: text 18 GB, photos 1,460 GB

Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 capacity.py

Writes are easy at 1.7 reviews a second, and Little's law: The average number of people or requests in a system equals the rate at which they arrive times the average time each one stays, L = λW: 500 arrivals a minute staying 4 minutes each means 2,000 in the system at once. More in “Usage, revenue and capacity estimates” puts 208 reviews in the check queue at peak. Reads are the problem: 20,000 a second against a database limit of 5,000. Photos, not text, decide the storage, at 1,460 GB a year against 18 GB. Start the model at the program’s numbers, then drag the hit ratio down:

Interactive · change it and see Database reads for recipe reviews at dinner Change the reads a second, the share of them the cache answers and how many reads the database can take. Every miss goes to the database.
Database load by hit ratio: database reads a second against hit ratio (%).02040608010005k10k15k20k25khit ratio (%)database reads a seconddatabase loadlimit 5,000now 90 %

At 90 % hits, 2,000 of 20,000 reads a second reach the database, within its limit of 5,000. Every extra nine of hit ratio cuts the database load tenfold.

Reads that reach the database 2,000 a second
Reads the cache answers 18,000 a second
Hit ratio needed to stay under the limit at least 75 %
The numbers as a table
Database load at a few hit ratios
Hit ratioDatabase reads a second
50 %10,000
80 %4,000
90 %2,000
95 %1,000
99 %200
99.9 %20

Below a cache hit ratio: The share of reads that a cache answers from its copies. Every miss goes on to the database, so at 20,000 reads a second a hit ratio of 90 % leaves 2,000 a second for the database. of 75 %, the database passes its limit. A cache that restarts empty starts near 0 %, so at dinner the first part to break is the database behind a cold cache.

Key idea

Estimate the peak before choosing parts: here reads, not writes, shape the design, and the cache’s hit ratio decides whether the database holds.

Checkpoint

Check: Where a design breaks first

  1. Question 1 of 2 At the dinner peak of 20,000 reads a second, how many reach the database at a hit ratio of 80 %?

    Type a number.

    A hint

    Every miss reaches the database.

    Show the answer: Question 1 of 2

    Answer: 4000 reads a second

    20,000 × (1 − 0.80) = 4,000 reads a second, under the limit of 5,000 but with little room. At 75 % the database is exactly at its limit; set the model to 80 % to see the same number.

  2. Question 2 of 2 What decides the storage of recipe reviews, by the program's numbers?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: The photos, at 1,460 GB a year against 18 GB of text

    Estimate each kind of data apart: 50,000 reviews a day × 1 KB is small, while 10,000 photos a day × 400 KB is 1,460 GB a year. A rule about photos, such as resizing them, is where storage cost is decided.

Fresh, fast, consistent or cheap: what each screen gives up

Every design gives something up, and the product manager says what each screen can give up. Three trade-offs come up in almost every design conversation:

Trade-off The choice for recipe reviews The product question
Fresh or fast Reviews from the cache, up to 5 minutes old, or from the database every time How old may this screen’s data be?
Consistent or available When parts cannot reach each other, show the last copy or refuse Which screens may show old data, and which must refuse?
Sharp or cheap Keep photos as uploaded, or spend a week resizing them to a quarter of the size Is a sharper photo worth four times the storage?

Eric Brewer, who proposed the CAP theorem behind the second trade-off, writes that designers must choose between consistency and availability only “when A break in the network that leaves parts of a system unable to reach each other, so that each part must act on what it alone knows. are present”, so most of the time a design keeps both.

Checkpoint

Check: What each screen gives up

  1. One question Which screen can best show data that is up to 5 minutes old?

    Choose one answer.

    Show the answer: One question

    Answer: A recipe's star rating

    Decide each screen's freshness by what a wrong answer costs. A rating can be old; a payment's result, a login code or a name being taken cannot.

Practise: estimate the load before you choose the parts

Write the program’s three estimates as functions, with sample tests:

Exercise · Easy · Python

Estimate peak load and the hit ratio a database needs

Write three functions in load.py. The first two return reads a second rounded to one decimal place; the third returns a share rounded to three.

peak_per_second(per_day, peak_factor) turns a daily count into the rate of the busiest hour: the day's average rate a second (a day has 86,400 seconds) times the peak factor.

database_reads(reads, hit_ratio) returns the reads a second that reach the database when the cache answers the share hit_ratio of them. It raises ValueError for a hit ratio below 0 or above 1.

hit_ratio_needed(reads, limit) returns the smallest hit ratio, as a share from 0 to 1 rounded to three decimal places, that keeps the database at or under limit reads a second; it is 0 when the database alone keeps up.

peak_per_second(576_000_000, 3)    # 20000.0: the recipe app's peak reads
database_reads(20_000, 0.9)        # 2000.0
hit_ratio_needed(20_000, 5_000)    # 0.75

The sample tests use the lesson's numbers, a database that keeps up alone, the ends of the hit ratio and bad input.

Starter code · load.py

def peak_per_second(per_day, peak_factor):
    """Return the busiest hour's rate a second: per_day / 86,400 x peak_factor, rounded to 1 decimal place."""
    # Your code here.
    return 0.0


def database_reads(reads, hit_ratio):
    """Return the reads a second that miss the cache and reach the database, rounded to 1 decimal place.

    Raises ValueError for a hit ratio below 0 or above 1.
    """
    # Your code here.
    return 0.0


def hit_ratio_needed(reads, limit):
    """Return the smallest hit ratio (a share from 0 to 1) that keeps the database at or under limit, to 3 places."""
    # Your code here.
    return 0.0
The sample tests · test_load.py
from load import database_reads, hit_ratio_needed, peak_per_second


def test_recipe_app_peak():
    """24 million users x 6 pages x 4 reads a day, at 3 times the average"""
    assert peak_per_second(24_000_000 * 6 * 4, 3) == 20000.0


def test_peak_rounds():
    """1,000,000 a day at a peak factor of 3 is 34.72 a second, rounded to 34.7"""
    assert peak_per_second(1_000_000, 3) == 34.7


def test_reads_at_ninety_percent():
    """nine reads in ten end at the cache"""
    assert database_reads(20_000, 0.9) == 2000.0


def test_ends_of_the_hit_ratio():
    """an empty cache sends every read on; a perfect one sends none"""
    assert database_reads(20_000, 0) == 20000.0
    assert database_reads(20_000, 1) == 0.0


def test_hit_ratio_below_zero():
    """a share cannot be negative"""
    try:
        database_reads(20_000, -0.1)
    except ValueError:
        pass
    else:
        assert False, "expected a ValueError for a hit ratio of -0.1"


def test_hit_ratio_above_one():
    """90 is a percentage, not a share"""
    try:
        database_reads(20_000, 90)
    except ValueError:
        pass
    else:
        assert False, "expected a ValueError for a hit ratio of 90"


def test_ratio_needed_for_the_limit():
    """5,000 of 20,000 reads may reach the database"""
    assert hit_ratio_needed(20_000, 5_000) == 0.75


def test_ratio_needed_rounds():
    """5,000 of 30,000 may reach the database: 1 - 1/6 = 0.8333…, rounded to 0.833"""
    assert hit_ratio_needed(30_000, 5_000) == 0.833


def test_database_keeps_up_alone():
    """4,000 reads a second fit under a limit of 5,000 with no cache at all"""
    assert hit_ratio_needed(4_000, 5_000) == 0.0
A hint

Every miss reaches the database, so the database's share of the reads is 1 - hit_ratio. Turn that round for the third function: the database may take limit / reads of the reads, so the cache must answer the rest. Round each result at the end, with round(x, 1) for reads and round(x, 3) for a share, so that 20,000 reads at a hit ratio of 0.9 give 2000.0 and not 1999.9999999999995.

The sample tests run on this device, in your browser (Pyodide): nothing is sent to mysmartcopilot.com. The first run downloads Python (about 13.5 MB), which is kept for the next runs. A check in your browser is feedback for you, not proof that the code is right for every input.

Then the self-check below begins where your answers so far are weakest.

Practice that adapts to you

Practise this lesson

12 questions about 6 ideas of this lesson. Each answer is explained at once, and what you get right is kept in this browser.

  1. Question 1 of 12 What is an SLO?

    Choose one answer.

    Show the answer: Question 1 of 12

    Answer: A target for a measured indicator, such as 99 % of reads within 200 ms

    Indicator, objective, agreement: the SLI measures, the SLO sets the target, the SLA adds consequences for missing it.

  2. Question 2 of 12 Which requirement lets every review be checked before anyone sees it?

    Choose one answer.

    Show the answer: Question 2 of 12

    Answer: A new review appears within 5 minutes

    A freshness requirement is a budget of time. Here it is spent on a moderation check, which keeps spam off the page without slowing the cook.

  3. Question 3 of 12 A stakeholder says "reviews must be fast". Which rewrite gives the design a requirement it can be built to?

    Choose one answer.

    Show the answer: Question 3 of 12

    Answer: 99 % of review reads within 200 ms at the dinner peak

    A requirement a design can be built to has a number, a share and the moment it applies: an SLO such as 99 % of reads within 200 ms at the dinner peak.

  4. Question 4 of 12 Which part keeps the lasting record of every review?

    Choose one answer.

    Show the answer: Question 4 of 12

    Answer: The reviews database

    Ask which part owns each piece of data: the database keeps reviews, the cache keeps copies, the queue keeps work waiting to be done.

  5. Question 5 of 12 Why does a review's photo go to a photo store instead of the reviews database?

    Choose one answer.

    Show the answer: Question 5 of 12

    Answer: Large files are kept apart, so the database stays small and quick to read

    Each part suits a kind of data: a store built for large files holds photos, and the database keeps the small records that every page reads.

  6. Question 6 of 12 The recipe app adds a weekly email digest of new reviews for each saved recipe. Which part should hold the digests waiting to be sent?

    Choose one answer.

    Show the answer: Question 6 of 12

    Answer: A queue, so sending runs at its own pace, apart from the pages

    Work that can wait, such as checks and sending email, goes into a queue. That keeps it from slowing the paths that users wait on.

  7. Question 7 of 12 24 million users open 6 recipe pages a day, and each page makes 4 reads. What is the average number of reads a second over the day?

    Type a number.

    A hint

    A day has 86,400 seconds.

    Show the answer: Question 7 of 12

    Answer: 6667 reads a second (anything from 6666 to 6668 counts)

    24,000,000 × 6 × 4 = 576 million reads a day, ÷ 86,400 seconds = about 6,667 a second. The dinner peak, 3 times the average, is the program's 20,000.

  8. Question 8 of 12 If a festival weekend doubled the dinner peak to 40,000 reads a second, what hit ratio would keep the database at 5,000?

    Type a number.

    A hint

    The database may take 5,000 of the 40,000 reads.

    Show the answer: Question 8 of 12

    Answer: 87.5 % (anything from 87.4 to 87.6 counts)

    1 − 5,000 ÷ 40,000 = 0.875, so the cache must answer 87.5 % of reads. Doubling the load raises the needed hit ratio from 75 % to 87.5 %, which the model shows when reads are set to 40,000.

  9. Question 9 of 12 Which load of recipe reviews is small, by the program's numbers?

    Choose one answer.

    Show the answer: Question 9 of 12

    Answer: Writes, at 1.7 reviews a second at peak

    An estimate tells you which load to design for. Here reads at dinner and photo storage shape the design, while writes barely register.

  10. Question 10 of 12 According to Brewer, when must a design choose between consistency and availability?

    Choose one answer.

    Show the answer: Question 10 of 12

    Answer: When parts of the system cannot reach each other

    The choice is a decision for failure: when parts are cut off from each other, show what you have or refuse. The product manager says which, screen by screen.

  11. Question 11 of 12 Resizing photos to a quarter of their size takes a week of work. How much storage does it save in the program's first year?

    Type a number.

    A hint

    A year of photos is 1,460 GB.

    Show the answer: Question 11 of 12

    Answer: 1095 GB (anything from 1094 to 1096 counts)

    A quarter of 1,460 GB is 365 GB, so resizing saves 1,460 − 365 = 1,095 GB in the first year, and as much again each year after. The product question is whether sharper photos are worth that.

  12. Question 12 of 12 In a design conversation, what does the product manager decide about each trade-off?

    Choose one answer.

    Show the answer: Question 12 of 12

    Answer: What each screen can give up, such as freshness for speed

    The product manager owns the requirements and what each screen gives up; engineers own how the system meets them. Both decide the trade-off together, each from their side.

Two features designed at a product manager's depth Pro: opens with a Pro, Premium or Ultimate pass

Two features of other invented apps, designed the way a product manager leads the conversation: the requirements, the load in numbers, the parts, how they fail and the decisions each forces. The numbers come from one program you can run and change.

In this part:

  • Seat holds on a festival route: 2,000 seats, 30,000 riders, one second that matters
  • Live scores in a final: 2 million phones, one number
  • The questions to ask engineering, for both designs
  • What the two designs share

1 diagram · 1 runnable example (Python) · about 6 minutes

Opening this part with your pass…

This part opens with any MySmartCoPilot pass.

  • Pro pass · 1 week₹79$2.99
  • 30 days₹179$5.99
  • 1 year₹1,699$45

One payment; a pass never renews. The price shown is the total you pay: no fees or charges are added at checkout.

It also opens every other in-depth part in Learn and every Pro tool. Sales are final, except where the law gives you a right to withdraw, for example in the EU and the UK (refund policy).

The product rules a design needs Pro: opens with a Pro, Premium or Ultimate pass

A design is finished only when it says what users see when a part is slow, old or down. Engineers can build any of these behaviours; choosing between them is product work.

In this part:

  • Staleness limits, retries and failure screens, in one table
  • Setting each limit from the cost of being wrong, with numbers
  • Retries the user sees, and the retries that make an outage worse
  • A failure drill: the reviews database down for 10 minutes at dinner
  • What each level adds to a system design answer

1 runnable example (Python) · about 5 minutes

Opening this part with your pass…Pro part. It opens with the same pass as the part above.

Interview questions

For each, say the requirement that decides the design, the number you would estimate first and the product rule it needs, before you open the first step and the follow-ups:

  1. Mid to staff

    Design live order tracking for a delivery app at a product manager's depth: requirements, main parts and the trade-offs you would raise.

    Model answer, Pro. Model answers open with any pass; prices are in the notice on this page. First step and follow-ups

  2. Mid to senior

    Your app must send 10 million notifications within an hour for a sale. What would you ask engineering, and which product rules would you set?

    Model answer, Pro. First step and follow-ups

  3. Fresher to senior

    Prices in your app can be up to 5 minutes old because of caching. When is that acceptable, and when is it not?

    Model answer, Pro. First step and follow-ups

Flashcards · 7 cards

Recall it, then check

Say the answer to yourself before you look: recalling it is what makes it stick.

  1. Which four requirements should a product manager write as numbers before a design?

    Scale (how many users and requests, and when they peak), latency (such as 99 % of reads within 200 ms), freshness (how soon new data must appear) and reliability (what share of requests must succeed). Each line rules options out.

  2. What is an SLO?

    A service level objective: a target for a measured indicator, for example 99 % of requests finishing in under 100 ms.

  3. Which common parts make up most product features, and which product question does each answer?

    An app, an API, a service that owns the feature's data, a database, a cache and a queue. The database says where the data lives, the cache what may be old, and the queue what may be late.

  4. In the recipe-reviews example, what shapes the design: reads or writes?

    Reads: 20,000 a second at the dinner peak against a database that serves 5,000, while writes are only about 1.7 reviews a second. Photos, not text, decide the storage.

  5. Why does a cache that restarts empty endanger the database?

    With 20,000 reads a second and a database limit of 5,000, at least 75 % of reads must hit the cache. An empty cache starts near 0 %, so at the peak the database is the first part to break.

  6. Which three trade-offs come up in almost every design conversation?

    Fresh or fast: how old may this screen's data be? Consistent or available: when parts cannot reach each other, show the last copy or refuse? Sharp or cheap: is a sharper photo worth four times the storage?

  7. When does a design have to choose between consistency and availability?

    Only while a network partition is present; the rest of the time a design can keep both.

Key takeaways

  • Requirements come first: scale, latency, freshness and reliability, each as a number, decide which parts a design needs.
  • Most features use the same parts, an app, an API, a service, a database, a cache and a queue, joined by read and write paths.
  • A load estimate shows where a design breaks first; for recipe reviews it is the database once the cache’s hit ratio falls below 75 %.
  • Every design trades freshness, speed, consistency or cost, and the product manager says what each screen gives up.

Terms in this lesson

cache hit ratio
The share of reads that a cache answers from its copies. Every miss goes on to the database, so at 20,000 reads a second a hit ratio of 90 % leaves 2,000 a second for the database.
SLO (service level objective)
A target for a measured indicator of a service, such as 99 % of reads completing within 200 ms. The indicator itself is the SLI; an SLA adds consequences for missing the target.

References

Report a problem with this lesson

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.