מודל מסד הנתונים ACID

חומצה מגינה על הנתונים של מסד הנתונים

מודל ACID של עיצוב מסד נתונים הוא אחד המושגים הוותיקים והחשובים ביותר של תיאוריית מסד הנתונים. היא קובעת ארבעה יעדים שכל מערכת ניהול מסדי נתונים חייבת לשאוף להשיג: אטומיות, עקביות, בידוד ועמידות. מסד נתונים יחסיים שאינו עומד בכל אחת מארבע המטרות הללו אינו יכול להיחשב אמין. מסד נתונים בעל מאפיינים אלה נחשב ACID תואם.

חומצה מוגדרת

בואו ניקח רגע כדי לבחון כל אחד מהמאפיינים האלה בפירוט:

איך חומצה עובד בפועל

מנהלי מסד נתונים משתמשים במספר אסטרטגיות לאכיפת ACID.

אחד המשמש לאכיפת אטומי ועמידות הוא רישום מראש רישום (WAL) שבו כל פרט העסקה הוא הראשון שנכתב יומן שכולל גם לעשות מחדש או לבטל מידע. זה מבטיח כי, נתון כשל מסד נתונים מכל סוג שהוא, מסד הנתונים יכול לבדוק את יומן ולהשוות את תוכנו למצב של מסד הנתונים.

שיטה נוספת המשמשת לטיפול באטומיות ועמידות היא הצללת צללים שבהם נוצר דף צל כאשר הנתונים ישונו. העדכונים של השאילתה נכתבים לדף הצל ולא לנתונים האמיתיים במסד הנתונים. מסד הנתונים עצמו משתנה רק כאשר העריכה הושלמה.

אסטרטגיה נוספת נקראת פרוטוקול ביצוע דו-שלבי , שימושי במיוחד במערכות נתונים מבוזרות. פרוטוקול זה מפריד בקשה לשינוי נתונים לשני שלבים: שלב להתחייב לבקשת שלב להתחייב. בשלב הבקשה, כל DBMS ברשת שהושפעו מהעסקה חייבים לאשר שהם קיבלו את זה ויש להם את היכולת לבצע את העסקה. לאחר קבלת אישור מכל DBMSs רלוונטיים, שלב התחייבות משלים שבו הנתונים הוא למעשה שונה.