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