Consistency, Replication ו-CAP
אל דאגה אם המילים נשמעות מפחידות — נסביר כל אחת בדרך. בשיעור הזה נלמד איך לדבר בראיון על כמה רעיונות בסיסיים: replication (שכפול — שמירת עותקים של אותם נתונים בכמה מקומות, כדי שאם מחשב אחד נופל יש גיבוי), quorum (קוורום — מספר העותקים שחייבים להסכים לפני שמכריזים שפעולה הצליחה), eventual consistency
System Design (תכנון מערכות — איך בונים תוכנה גדולה שמשרתת הרבה אנשים) הוא כמו לתכנן עיר: כבישים, מחסנים, רמזורים וצוותי תחזוקה — כך שהעיר תמשיך לעבוד בצורה חלקה גם בשעות העומס, כשכולם בחוץ באותו זמן.
- עקביות ושכפול
- הרעיון המרכזי של השיעור: איך שומרים עותקים של נתונים (replication — שכפול), כמה עותקים צריכים להסכים (quorum — קוורום), למה לפעמים העותקים מתעדכנים רק אחרי רגע (eventual consistency — עקביות בהדרגה), איזו פשרה בוחרים בזמן תקלת רשת (CAP), ואיך עוברים אוטומטית לגיבוי כשמשהו נופל (failover).
- Trade-off
- Trade-off (פשרה) — בחירה מודעת שבה מרוויחים דבר אחד ומשלמים על זה במשהו אחר, כמו לבחור אוכל מהיר במקום ארוחה ביתית: חוסכים זמן אבל מאבדים באיכות. בראיון מסבירים מה הרווחנו ומה שילמנו.
- מדד תפעולי
- מדד תפעולי — מספר שמראה אם ההחלטה באמת עובדת כשהמערכת חיה ומשרתת משתמשים אמיתיים (זה נקרא production, פרודקשן). לדוגמה: latency (כמה זמן לוקח לקבל תשובה), error rate (אחוז הבקשות שנכשלות), queue lag (כמה משימות ממתינות בתור), cache hit ratio (כמה פעמים מצאנו את התשובה בזיכרון המהיר) ועוד.