Vertical Partitioning הוא תהליך שבו מחלקים טבלה רחבה לעמודות (שדות) שונות במספר טבלאות נפרדות.
כל חלק מהטבלה מכיל תת-קבוצה של העמודות, תוך שמירה על המפתח הראשי (Primary Key) כדי לאפשר קישור בין החלקים.
א' לא נכון כי אין אין בעיה שיהיה מוכל בRACK יחיד.
ב' לא נכון כי חייב להיות PRIMARY KEY שיהיה בכל החלוקות.
ג' לא נכון, כיוון שמחלקים על סמך ערכים בשדה (שורות) רלוונטי יותר לHorizontal Partitioning.
מטרתו העיקרית של אלגוריתם Two-Phase-Commit היא:
2018 מועד א' (גלעד)
Range Partitioning - כל שרת מאחסן רשומות לפי טווח מסוים, בעזרת המפתח אשר מגדיר אותן.
החלוקות עלולות להיות לא מאוזנות.
יתרונות: מתאימה ל-Range Queries בתנאי והשאילתא מבוססת על RANGE שזהה לערך החלוקה, כך נדע באופן אופטימלי היכן מאוחסנת כל רשומה.
חסרונות: לא בהכרח מתאים ל-Full Table Scan, כיוון שהחלוקה יכולה להיות לא אחידה בין כמות הרשומות בכל שרת, מה שיפגע ביעילות המקביליות.
היתרון העיקרי של Consistent Hashing הוא:
2018 מועד א' (גלעד)
Consistent Hashing - המטרה תהיה לשנע מספר מינימלי של קבצים בין Nodes במקרה של קריסה/כשל במערכת. במקרה של קריסה נעתיק את הקבצים שנמצאים בשרת שקרס לשרת העוקב.
כשמשתמשים באופציית FORCE לניהול ה-buffer:
2018 מועד א' (גלעד)