ניהול תנועות

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

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

תיאור[עריכת קוד מקור | עריכה]

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

מתודולוגיה[עריכת קוד מקור | עריכה]

מטרות[עריכת קוד מקור | עריכה]

המטרות שמנסה מתודולוגיית ניהול תנועות להשיג הן:

  1. הבטחת שלמות תנועה או שהיא מתבצעת בשלמותה או שהחלקים שבוצעו משוחזרים
  2. עבודה במקביל של מספר רב של תנועות
  3. זמני תגובה טובים ויציבים עבור משתמש קצה.

Rollback[עריכת קוד מקור | עריכה]

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

Rollforward[עריכת קוד מקור | עריכה]

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

Locks[עריכת קוד מקור | עריכה]

Compensation[עריכת קוד מקור | עריכה]

Compensation היא שיטה לשמירה על שלמות נתונים כשאין אפשרות לבצע Rollback. הכוונה היא למשל לתהליכים עסקיים החוצים מערכות ומנוהלים באמצעות כלי Business Process Management, או למערכות בארכיטקטורה מוכוונת-שירותים או ל-Web Services. סביבות מחשוב כאלה המבוססות על צימוד רפוי אינן תומכות ב-Rollback. באמצעות Compensation אפשר לשחזר מצב לפני עדכונים באמצעים יישומיים במקום באמצעי טכנולוגי של Rollback. כך למשל עם כחלק מהתהליך נקלטו נתונים לא נכונים ביחס לביצוע פעולות בחשבון בנק. אפשר להזין פעולות מנוגדות באותם סכומים ולהחזיר את המצב למצב שלפני העדכון החלקי.

ACID[עריכת קוד מקור | עריכה]

Postscript-viewer-shaded.png ערך מורחב – ACID

המונח ACID הוא ראשי תיבות של ‏Atomicity‏, ‏Consistency‏, ‏Isolation‏, ו-‏Durability‏. ארבע תכונות אלה מאפשרות שמירה על שלמות בסיס הנתונים.

כלים למימוש ניהול טרנזקציות[עריכת קוד מקור | עריכה]

ניהול טרנזקציות מבוצע באמצעות שרתי יישומים, הנקראים מוניטורי תנועות מוניטורי תנועות. בנוסף לשמירת האינטגרטיביות של כל תנועה, הם מספקים שירותי ניהול נוספים, למשל: שירותים לניהול משאבי מחשב ושירותים לניהול בו זמני של מספר רב של תנועות. מונטורי תנועות, שהשימוש בהם נפוץ במיוחד הם: CICS, IMS/DC ו-Tuxedo.

ראו גם[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]