← Cloudflare R2 / r2 / reference
Trvanlivost
R2 je navrženo tak, aby poskytovalo roční trvanlivost 99.999999999 % (jedenáct devítek). To znamená, že pokud na R2 uložíte 10,000,000 objektů, můžete v průměru očekávat ztrátu jednoho objektu jednou za 10,000 let.
Jak R2 dosahuje trvanlivosti na úrovni jedenácti devítek
Trvanlivost R2 je založena na několika vrstvách redundance a ochrany dat:
-
Replikace: Při nahrání objektu ukládá R2 více „kopií“ tohoto objektu, a to buď pomocí úplné replikace, nebo erasure coding, případně obojího. Díky tomu úplné nebo částečné selhání jednotlivého disku nevede ke ztrátě dat. Erasure coding rozděluje části objektu na více disků, takže i při selhání některých z nich lze objekt rekonstruovat z podmnožiny dostupných částí. To chrání data před ztrátou v důsledku selhání hardwaru nebo fyzického poškození datových center, například požárem nebo záplavami.
-
Redundance hardwaru: Úložné clustery tvoří hardware rozmístěný napříč několika datovými centry v rámci jednoho geografického regionu. Toto fyzické rozložení zajišťuje, že lokální výpadky, například přerušení napájení, síťové poruchy nebo poruchy hardwaru v jediném zařízení, nevedou ke ztrátě dat.
-
Synchronní zápisy: R2 vrátí
HTTP 200 (OK)pro zápis přes API nebo jinak signalizuje úspěch pouze tehdy, když jsou data uložena na disk. Nespoléháme na asynchronní replikaci k zajištění základních záruk trvanlivosti. To je klíčové pro záruky konzistence R2 a snižuje riziko, že klient obdrží úspěšnou odpověď API, aniž by byla změna trvale uložena v podkladové metadatové a úložné infrastruktuře.
Co zvážit
- Trvanlivost není zárukou dostupnosti dat. Jde o míru pravděpodobnosti ztráty dat.
- R2 poskytuje dostupnost SLA 99,9 % ↗
- Trvanlivost nezabraňuje úmyslnému ani náhodnému smazání dat. Použijte zámky bucketu a/nebo omezené na bucket API tokeny k omezení přístupu k datům.
- Trvanlivost se také liší od konzistence, který popisuje, jak se čtení a zápisy projevují ve stavu systému (například eventuální konzistence oproti silné konzistenci).