An audit needs a year of logs by tomorrow and they sit in the coldest tier — what do you check first?
answer
- two numbers, time and money
- readable only after a restore
- requests are issued per object
- the temporary copy is rented too
- narrow the scope before quoting
basics
~10 sTwo independent numbers decide it: the tier's restore latency, which says whether tomorrow is achievable, and the retrieval charge plus per-object restore requests, which says what it costs. Check both before promising the deadline.
solid answer
~40 sRestore latency and retrieval cost are separate questions, and both have to be answered before you commit. Latency first: the coldest tiers make bytes readable only after a restore completes, typically minutes to hours, and the restore is requested **per object** — so a year of logs spread over millions of objects is a request-rate problem as much as a per-restore wait. Cost second: a per-gigabyte retrieval charge on everything you pull back, plus a charge for each restore request, plus rent on the temporary readable copy for as long as you keep it. Then narrow the ask: the auditor rarely needs the whole year, and restoring only the path prefixes and date ranges actually in scope changes both numbers by an order of magnitude.
go deeper
Recall that data in the coldest tier is not readable immediately and that reading it back is charged. Both need checking before anyone promises a date.
Explain the components: restore latency, per-request charges, per-gigabyte retrieval, and rent on the temporary readable copy while it lives.
Show the object-count reasoning and the order of work — scope, count, price the restore speed, estimate end to end — and come back with a number rather than a yes.
Make retrievability a design property: a warm index, compaction in the units auditors ask in, and one rehearsed restore, so the deadline is answerable before it is set.
## Two numbers, not one When data sits in the coldest tier, "can we get it by tomorrow" and "what will it cost" are answered by different properties of the tier, and confusing them is the usual failure. **Restore latency** is how long after the request the bytes become readable. Warm and intermediate cooler tiers are immediate. The coldest tiers are not: the object is unreadable until a restore completes, which can run from minutes to hours. Providers commonly sell more than one restore speed, with the faster one carrying a larger charge, so latency is partly purchasable — which is exactly the trade to evaluate when a deadline is real. **Retrieval cost** is what you pay to read the bytes back: a charge per gigabyte retrieved, plus a charge per restore request issued, plus rent on the temporary readable copy while it exists. That last one surprises people — during the restore window you are paying for the archived object *and* its readable copy. ## The part that is really about object count A restore is requested per object. A year of application logs is commonly millions to hundreds of millions of objects, and that changes the shape of the problem: - The elapsed time is not one restore latency; it is the latency plus however long it takes to issue and complete that many requests, against whatever request rate the store will accept. - The request charges scale with object count, independently of volume. - The job that issues them needs to be resumable, because it will not finish in one run, and re-requesting an already-restored object is wasted money. This is the same per-object arithmetic that makes tiering small objects expensive in the first place, arriving a second time on the way out. ## The order to work it in 1. **Scope the ask.** Which systems, which date ranges, which fields? Audits are usually narrower than the first email suggests. Every prefix you exclude removes objects from every subsequent number. 2. **Count the objects and the bytes in scope.** Both, separately — one drives requests and elapsed time, the other drives the retrieval charge. 3. **Read the tier's restore options.** Standard and expedited restore speeds, and what each costs. Decide whether the deadline needs the expensive one. 4. **Estimate elapsed time end to end**: request issuance for that many objects, restore completion, then the actual read and transfer to wherever the auditor consumes it. 5. **Decide the readable-copy lifetime.** Keep it as short as the audit allows; you are renting it alongside the original. 6. **Come back with a number, not a yes.** If tomorrow is not achievable at any price, say so early with the two numbers behind it. That conversation is much cheaper on day one than on day two. ## What the restore does and does not do A restore produces a **temporary readable copy**; it does not promote the object back into the warm tier, and it does not cancel the tier's minimum storage duration. When the copy expires, the object is exactly where it was. If the data is going to be read repeatedly over the coming weeks — an audit that runs for a month, say — the honest move may be to copy the in-scope subset into a warm location for the duration and delete it afterwards, rather than restoring the same objects again and again. ## What should have been true beforehand The question is a diagnosis, but the lesson is a design one: - **Keep a warm index.** A small searchable summary — timestamps, identifiers, which archive object holds what — lets an audit locate the few thousand objects it needs instead of restoring a year. The index is a tiny fraction of the volume and stays in the warm tier. - **Compact by a dimension audits use.** One archive object per source per day is retrievable in the units auditors ask in. Millions of per-request objects are not. - **Rehearse one restore.** A single small restore, run once, converts the tier's documented latency into a measured number you can quote under pressure, and proves the restore path works before the day it is needed. A candidate who answers only "it will take a while and cost money" has not done the job. The two numbers, the object-count effect, and the scoping conversation are the answer.
- Is the restored data charged twice while the audit runs?In effect, yes. The archived object continues to accrue its tier rent, and the temporary readable copy the restore produced is rented for as long as you keep it available. That is why the copy's lifetime is a cost decision, not a default to leave at its maximum.
- Does restoring an object move it out of the coldest tier?No. A restore makes a temporary copy readable; the object itself stays in the tier and keeps its terms, including any remaining minimum storage duration. If you genuinely need the data warm for weeks, copy the in-scope subset to a warm location deliberately rather than relying on repeated restores.
- What single design change would have made this audit cheap?A warm index describing the archive — time ranges, sources, and which archive object holds which records. The audit then restores the few objects in scope instead of a year of them, cutting both the retrieval charge and the elapsed time by orders of magnitude, for a tiny amount of warm storage.
saying these in an interview costs you the question
- Quotes a deadline from the tier's restore latency alone
- Forgets that a restore is requested once per object
- Assumes the restored copy is free while the audit reads it
- Thinks a restore permanently promotes the object to a warmer tier
- Restores the whole year before scoping what the auditor asked for