אטומיות (מסדי נתונים)

מתוך המכלול, האנציקלופדיה היהודית
קפיצה לניווט קפיצה לחיפוש

במדעי המחשב אטומיות היא הדרישה שאוסף פעולות יתבצעו ביחד, אם בכלל. לדוגמה, אם ראובן מורה לבנק להעביר 100₪ מחשבונו לחשבונו של שמעון, מותר לבנק לסרב להוראה ומותר לו להענות לה. אך אסור לו רק לגרוע 100₪ מחשבונו של ראובן או רק להוסיף 100₪ לחשבונו שמעון מבלי לבצע את החצי השני של הפעולה. רצף הפעולות נקרא תנועה (או טרנסאקציה). מקור המילה "אטומיות" הוא יוונית: ἄτομος, שפירושו "לא ניתן לחיתוך" - "א" (לא ניתן) "טומי" (חתך), כמו במילה אטום. דרישת האטומיות משמשת במערכות רבות להבטחת תקינותם של הנתונים.

דרישת האטומיות היא אחת מארבע דרישות ACID (ביחד עם עקביות, בידוד ועמידות) שהן דרישות אמינות מקובלות מבסיסי נתונים. במערכות מסדי נתונים מקובל שכל התחברות לבסיס הנתונים נעשית בתנועה נפרדת. בכל רגע המשתמש יכול לבחור לבטל (Abort) את התנועה. בסופה הוא מצהיר על התחייבות (Commit) לתנועה. משתמשים מחיבורים אחרים יראו את השינויים מהתנועה כשינוי נקודתי שנעשה ברגע ההתחייבות[דרוש מקור: התיאור כנראה לא לגמרי מדויק].

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

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

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