תיעוד 264
עמידות
R2 מתוכנן לספק עמידות שנתית של 99.999999999% (אחת עשרה תשיעיות). המשמעות היא שאם אתם מאחסנים 10,000,000 אובייקטים ב-R2, אפשר לצפות לאובדן של אובייקט אחד בממוצע אחת ל-10,000 שנים.
#איך R2 משיג עמידות של אחת עשרה תשיעיות
העמידות של R2 בנויה על כמה שכבות של יתירות והגנה על נתונים:
- שכפול: כשאתם מעלים אובייקט, R2 שומר כמה "עותקים" של האובייקט באמצעות שכפול מלא ו/או
erasure coding. כך כשל מלא או חלקי של דיסק בודד לא גורם לאובדן נתונים.erasure codingמפזר חלקים של האובייקט על פני כמה דיסקים, כך שגם אם חלק מהדיסקים נכשלים, עדיין אפשר לשחזר את האובייקט מתת קבוצה של החלקים הזמינים. זה מונע אובדן נתונים בגלל כשל חומרה או פגיעות פיזיות במרכזי נתונים (כמו שריפה או הצפה). - יתירות חומרה: אשכולות האחסון מורכבים מחומרה שמפוזרת על פני כמה מרכזי נתונים בתוך אזור גיאוגרפי. הפיזור הפיזי הזה מבטיח שכשלים מקומיים, כמו הפסקות חשמל, שיבושי רשת או תקלות חומרה במתקן יחיד, לא גורמים לאובדן נתונים.
- כתיבות סינכרוניות: R2 מחזיר
HTTP 200 (OK)לכתיבה דרך API, או מציין הצלחה בדרך אחרת, רק אחרי שהנתונים נשמרו לדיסק. אנחנו לא מסתמכים על שכפול אסינכרוני כדי לתמוך בהבטחות העמידות הבסיסיות. זה קריטי להבטחות העקביות של R2, ומצמצם את הסיכוי שלקוח יקבל תשובת API מוצלחת בלי שתשתית המטא נתונים והאחסון שמתחת שמרה את השינוי.
#שיקולים
- עמידות אינה ערובה לזמינות הנתונים. היא מדד להסתברות לאובדן נתונים.
- R2 מספק SLA לזמינות של 99.9% ↗︎
- עמידות לא מונעת מחיקה מכוונת או מקרית של נתונים. השתמשו ב-נעילות דלי ו/או ב-אסימוני API ברמת הדלי כדי להגביל גישה לנתונים.
- עמידות גם נפרדת מ-עקביות, שמתארת איך קריאות וכתיבות משתקפות במצב המערכת (למשל עקביות בסופו של דבר לעומת עקביות חזקה).