|
||||
|
||||
תוכנת ה-DB, לגרסה שתתמוך באופן ראוי בטרנזקציות; להערכתנו, השרת הנוכחי לא יעמוד בעומס שיווצר (שכן DB טרנזקציוני הוא איטי יותר מעצם טבעו), ולכן אנו מהססים לעשות זאת לפני שדרוג החומרה. |
|
||||
|
||||
DB - מסד נתונים, database - תוכנה המאפשרת שמירת נתונים כך שאיחזורם ועדכונם מתבצע באופן יעיל. טרנזקציה - ביצוע אוסף של פעולות במסד נתונים כך שמובטח שבמידה ואחת הפעולות תכשל, אף לא אחת מהן תתבצע. שימושי במקרים בהם ישנם מספר נתונים התלויים זה בזה, ואנו רוצים למנוע מצב בו (בשל תקלה) עודכן נתון אחד ואילו השני לא עודכן. דוגמא פשוטה: בנקים שומרים את נתוני החשבונות במסדי נתונים. פעולה נפוצה בבנק: העברת סכומים בין חשבונות. העברת 100 ש"ח מהחשבון שלי לחשבון של מיץ פטל דורשת שתי פעולות עדכון1: הורדת 100 ש"ח מהחשבון שלי, והוספת 100 ש"ח לחשבון של מיץ. אם ביצענו את העדכון הראשון, ואז יש הפסקת חשמל, הרי שבחשבון שלי יש 100 ש"ח פחות, אבל בחשבון של מיץ אין 100 ש"ח יותר. כדי למנוע מצבים כאלה, מסמנים את צמד הפעולות כטרנזקציה, ואז כאמור אם אחת נכשלת מסיבה כלשהי, גם השניה מבוטלת. ----- 1 מתכנתי הבנקים שבקהל מתבקשים שלא לתקן אותי, זוהי רק דוגמא. |
|
||||
|
||||
טוב, בינתיים אני מציע לארגן תורנות בין המשתמשים, כדי שלא יהיו גישות בוזמניות לבסיס-הנתונים :-) |
|
||||
|
||||
הבעיה אינה בגישות בו-זמניות (כאלה יש בהמונים, ואין איתן כל בעיה) אלא בנפילות במהלך עדכון, מה שגורם לעדכון להשמר באופן חלקי בלבד. למשל, תגובה נשמרת, אבל מבני הנתונים התומכים בהצגת תגובות חדשות מעודכנים באופן חלקי בלבד. מספר העדכונים הנדרש לאחר שנשמרת תגובה הוא בסדר גודל של עומק עץ הדיון עד לתגובה החדשה; העצים באייל נוטים להיות עמוקים להחריד. |
|
||||
|
||||
זה היה ההסבר הראשון שעלה בדעתי לצורך בטרנזקציות, אבל פסלתי אותו כיוון שחשבתי שאין נפילות. למה שיהיו? |
חזרה לעמוד הראשי | המאמר המלא |
מערכת האייל הקורא אינה אחראית לתוכן תגובות שנכתבו בידי קוראים | |
RSS מאמרים | כתבו למערכת | אודות האתר | טרם התעדכנת | ארכיון | חיפוש | עזרה | תנאי שימוש | © כל הזכויות שמורות |