Storage cost and retrieval behaviour are two sides of one decision. Choosing a storage class for a rendition fixes how long it must stay there, how long a restore takes, and whether a viewer can start playback instantly. For adult VOD, where the long tail is deep and engagement is bursty, that decision is a delivery decision as much as a cost one.
Fast versus standard classes
Most object storage exposes at least two online classes:
- Fast / hot — highest request and storage cost, lowest latency, intended for objects served constantly.
- Standard / warm — lower storage cost, slightly higher first-byte latency, fine for content that is requested regularly but not continuously.
Both are instantly readable. The difference is cost and latency, not availability. Put the current hot set and the renditions most likely to be opened in the fast class, and everything actively in distribution in standard.
Retrieval delays and minimum durations
Below the online classes sit archival tiers. They are cheap to store and expensive to read, and they impose two constraints that catch people out:
| Tier | Read behaviour | Typical minimum duration | Typical restore |
|---|---|---|---|
| Fast / hot | Instant | None | n/a |
| Standard / warm | Instant | 30 days | n/a |
| Cold archive | Not directly readable | 90 days | Minutes to hours |
| Deep archive | Not directly readable | 180 days | Many hours |
Exact numbers vary by provider, but the shape is consistent: the cheaper the storage, the longer the minimum commitment and the slower the restore. Deleting or transitioning an object before its minimum duration is usually billed as if it stayed.
Why archive breaks instant playback
Archival tiers cannot serve a byte-range request. A viewer seeking into a title stored in cold archive triggers a restore, and the player either stalls until the object is available or fails outright. For a long-tail adult catalogue this is fatal: viewers open obscure titles constantly and expect the same seek behaviour as a hit. Archive is appropriate for compliance copies, masters you must retain but rarely touch, and content explicitly retired from distribution — never for anything a player can request.
Tiering by rendition
Tier the rendition ladder, not the whole title. The same content has very different access patterns per profile:
- Low and mid renditions — requested most, keep in the fast class.
- High and 4K renditions — requested less, good candidates for standard.
- Originals and masters — not served directly; candidates for cold archive after a retention window, provided a restore path exists.
- Thumbnails and sprites — tiny and hot; keep in fast storage and let the CDN absorb the request rate.
This keeps the bytes viewers actually pull online while moving the bytes they rarely pull to cheaper tiers.
Lifecycle rules
Express tiering as declarative rules scoped by prefix, so transitions happen without manual work:
- New renditions start in standard; promote the top decile to fast after it proves popular.
- Move renditions untouched for 30–60 days from fast to standard.
- Move masters and originals to cold archive after a retention window that satisfies your legal hold.
- Expire quarantine objects and failed moderation artefacts after a short fixed period.
- Never transition a prefix that a player can still request.
Rules should be idempotent and observable. Alert when a transition unexpectedly moves bytes that are still being read.
Aborting incomplete multipart uploads
Large uploads use multipart, and an interrupted upload leaves orphaned parts that consume storage and are invisible to normal listing. Add an abort rule that deletes incomplete multipart uploads after a few days. Without it, abandoned ingest attempts quietly become a growing, unbilled-looking slice of your bucket. Pair the abort rule with a scanner result so a retried upload does not accumulate duplicate parts.
Where AdultInfra fits
AdultInfra designs lifecycle policy around the way adult catalogues are actually consumed — a small hot set, a deep tail, and bursty promotions — and keeps every playable rendition instantly readable while archiving only what players cannot request. To map tiers onto your catalogue, start from the platform overview and bring one content prefix.