ACID
מראה
בהנדסת תוכנה, ובפרט בתחומי מסדי הנתונים וניהול התנועות, המונח ACID הוא ראשי תיבות של Atomicity, Consistency, Isolation, ו-Durability. תרגום המונחים לעברית הוא אַטוֹמִיוּת, עִקְבִיּוּת, בִּידוּד ועֲמִידוּת. תכונות אלה הן אבן הפינה של מסדי נתונים ומערכות לניהול תנועות, ובלעדיהן לא ניתן להבטיח את שלמות הנתונים במערכות אלה. בפועל, תכונות ה-ACID נאכפות במידה רופפת יותר כדי לשפר את ביצועי המערכת.
בהקשר של מסדי נתונים, פעולה לוגית אחת נקראת תנועה. דוגמה לתנועה היא העברת סכום כסף בין שני חשבונות בנק. פעולה זו, למרות שהיא כוללת מספר פעולות בדידות (חיוב החשבון המשלם וזיכוי חשבון הנמען), יש להתייחס אליה כפעולה לוגית אחת. תכונות ה-ACID הן אלה המבטיחות שתנועות כאלה תעובדנה באופן אמין.
פירוט מונחי ה-ACID הוא כדלקמן:
- Atomicity (אטומיות) – כל תנועה על כל מרכיביה השונים מתבצעת כיחידה אחת או שלא מתבצעת כלל.
- Consistency (עקביות) – בכל זמן נתון הנתונים צריכים להיות עקביים (למשל בדוגמת העברת כספים בין שני חשבונות: סכום הכספים בשני החשבונות צריך להיות זהה לפני ואחרי העברה)
- Isolation (בידוד) – התנועה צריכה להיות מופרדת בזמן גישה אליה מתנועות אחרות (למשל אי אפשר לגשת לבצע עדכון בחשבון הבנק במסגרת טרנזקציה כאשר טרנזקציה אחרת מופעלת על חשבון זה באותו רגע)
- Durability (עמידות) – אם התנועה הסתיימה בהצלחה אזי השינוי שנגרם חייב להתקיים במערכת גם אם היא נופלת מייד אחרי ביצוע התנועה (או שהמצב יחזור לקדמותו במידה והתנועה נכשלה בביצוע)
קישורים חיצוניים
[עריכת קוד מקור | עריכה]- The ACID Model, באתר about.com (באנגלית)
- טיפול ראוי בתנועות (מתוך קורס בסיסי נתונים, פרופסור ליאור רוקח)
- ACID Properties, באתר מיקרוסופט (באנגלית)
- what does ACID mean in DBMS?, באתר יאהו תשובות (באנגלית)