logo

מאפייני ACID ב-DBMS

DBMS הוא ניהול הנתונים שאמורים להישאר משולבים כאשר מתבצעים בו שינויים כלשהם. הסיבה לכך היא שאם שלמות הנתונים מושפעת, כל הנתונים יופרעו ויושחתו. לכן, כדי לשמור על שלמות הנתונים, ישנם ארבעה מאפיינים המתוארים במערכת ניהול מסד הנתונים, הידועים בשם חוּמצָה נכסים. מאפייני ה-ACID נועדו לעסקה שעוברת קבוצה אחרת של משימות, ושם אנו רואים את תפקידם של מאפייני ה-ACID.

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

מאפייני חומצה

הרחבת המונח ACID מגדירה עבור:

מאפייני ACID ב-DBMS

1) אטומיות

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

דוגמא: אם לרמו יש חשבון A שיש לו 30$ בחשבון שלו ממנו הוא רוצה לשלוח 10$ לחשבון של Sheero, שהוא B. בחשבון B, כבר קיים סכום של 100$. כאשר 10$ יועברו לחשבון ב', הסכום יהפוך ל-$110. כעת, יהיו שני מבצעים שיתקיימו. האחד הוא הסכום של 10$ שרמו רוצה להעביר יחויב מחשבונו א', ואותו סכום יזוכה לחשבון ב', כלומר לחשבון של שירו. עכשיו, מה קורה - הפעולה הראשונה של החיוב מבוצעת בהצלחה, אבל פעולת האשראי, לעומת זאת, נכשלת. כך, בחשבון א' של רמו, הערך הופך ל-$20, ולחשבון של Sheero, הוא נשאר 100$ כפי שהיה בעבר.

מאפייני ACID ב-DBMS

בתרשים לעיל, ניתן לראות שלאחר זיכוי של 10$, הסכום עדיין עומד על 100$ בחשבון B. לכן, לא מדובר בעסקה אטומית.

התמונה למטה מראה שפעולות החיוב והזיכוי מתבצעות בהצלחה. לפיכך העסקה היא אטומית.

מאפייני ACID ב-DBMS

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

2) עקביות

המילה עֲקֵבִיוּת פירושו שהערך צריך להישאר נשמר תמיד. ב DBMS , יש לשמור על שלמות הנתונים, כלומר אם נעשה שינוי במסד הנתונים, הוא צריך להישאר נשמר תמיד. במקרה של עסקאות, שלמות הנתונים חיונית מאוד כדי שמאגר הנתונים יישאר עקבי לפני ואחרי העסקה. הנתונים צריכים תמיד להיות נכונים.

דוגמא:

מאפייני ACID ב-DBMS

באיור לעיל, ישנם שלושה חשבונות, A, B ו-C, כאשר A מבצע עסקה T בזה אחר זה לשני B & C. ישנן שתי פעולות שמתבצעות, כלומר, חיוב ואשראי. חשבון א' מחייב תחילה $50 בחשבון ב', והסכום בחשבון א' נקרא $300 על ידי ב' לפני העסקה. לאחר העסקה המוצלחת T, הסכום הפנוי ב-B הופך ל-$150. כעת, A מחייב $20 בחשבון C, ובזמן הזה, הערך שנקרא על ידי C הוא $250 (זה נכון שכן חיוב של $50 בוצע בהצלחה ל-B). פעולת החיוב והזיכוי מחשבון א' עד ג' בוצעה בהצלחה. אנו יכולים לראות שהעסקה בוצעה בהצלחה, וגם הערך נקרא נכון. לפיכך, הנתונים עקביים. במקרה שהערך שנקרא על ידי B ו-C הוא $300, מה שאומר שהנתונים אינם עקביים מכיוון שכאשר פעולת החיוב מתבצעת, היא לא תהיה עקבית.

3) בידוד

המונח 'בידוד' פירושו הפרדה. ב-DBMS, בידוד הוא המאפיין של מסד נתונים שבו שום נתונים לא אמורים להשפיע על השני ועלולים להתרחש במקביל. בקיצור, הפעולה על מסד נתונים אחד אמורה להתחיל כשהפעולה על מסד הנתונים הראשון מסתיימת. זה אומר שאם שתי פעולות מבוצעות בשני מסדי נתונים שונים, ייתכן שהן לא ישפיעו על הערך של זה. במקרה של עסקאות, כאשר שתי עסקאות או יותר מתרחשות בו זמנית, העקביות צריכה להישאר נשמרת. כל שינוי שיתרחש בעסקה מסוימת לא ייראה בעסקאות אחרות עד שהשינוי לא יתבצע בזיכרון.

דוגמא: אם שתי פעולות פועלות במקביל בשני חשבונות שונים, הערך של שני החשבונות לא אמור להיות מושפע. הערך צריך להישאר קבוע. כפי שניתן לראות בתרשים שלהלן, חשבון A מבצע תנועות T1 ו-T2 לחשבון B ו-C, אך שניהם פועלים באופן עצמאי מבלי להשפיע זה על זה. זה ידוע בשם בידוד.

מאפייני ACID ב-DBMS

4) עמידות

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

לכן, מאפיין ה-ACID של DBMS ממלא תפקיד חיוני בשמירה על העקביות והזמינות של הנתונים במסד הנתונים.

לפיכך, זו הייתה הקדמה מדויקת של מאפייני ACID ב-DBMS. דנו בנכסים אלה גם בסעיף העסקאות.