BASE מודל לפיתוח מסדי נתונים

תוכן עניינים:

BASE מודל לפיתוח מסדי נתונים
BASE מודל לפיתוח מסדי נתונים
Anonim

מסדי נתונים יחסיים מתוכננים עם אמינות ועקביות בבסיסם. המהנדסים שפיתחו אותם התמקדו במודל עסקה המבטיח שארבעת העקרונות של מודל ה-ACID יישמרו תמיד. עם זאת, הופעתו של מודל מסד נתונים לא מובנה חדש הופכת את ACID על ראשה. מודל מסד הנתונים של NoSQL נמנע מהמודל היחסי המובנה ביותר לטובת גישת חנות מפתח/ערך גמישה. גישה לא מובנית זו לנתונים דורשת חלופה למודל ACID: מודל BASE.

Image
Image

עקרונות הבסיס של מודל ה-ACID

יש ארבעה עקרונות בסיסיים של מודל ACID:

  • atomicity העסקאות מבטיח שכל טרנזקציית מסד נתונים היא יחידה אחת המאמצת גישת "הכל או כלום" לביצוע. אם הצהרה כלשהי בעסקה נכשלת, העסקה כולה תוחזר.
  • מסדי נתונים יחסיים גם מבטיחים עקביות של כל עסקה עם הכללים העסקיים של מסד הנתונים. אם אלמנט כלשהו בעסקה אטומית ישבש את העקביות של מסד הנתונים, העסקה כולה נכשלת.
  • מנוע מסד הנתונים אוכף isolation בין מספר עסקאות המתרחשות באותו זמן או קרוב. כל עסקה מתרחשת לפני או אחרי כל עסקה אחרת, והתצוגה של מסד הנתונים שהעסקה רואה בתחילתה משתנה רק על ידי העסקה עצמה לפני סיומה. אף עסקה לא צריכה לראות את תוצר הביניים של עסקה אחרת.
  • עקרון ה-ACID הסופי, durability, מבטיח שברגע שעסקה מחויבת למסד הנתונים, היא נשמרת לצמיתות באמצעות גיבויים ויומני עסקאות. במקרה של כשל, ניתן להשתמש במנגנונים אלה כדי לשחזר עסקאות מחויבות.

עקרונות הליבה של BASE

מסדי נתונים NoSQL, לעומת זאת, מאמצים מצבים שבהם מודל ה-ACID מוגזם או יעכב, למעשה, את פעולת מסד הנתונים. במקום זאת, NoSQL מסתמך על מודל רך יותר הידוע, כיאה, כמודל BASE. מודל זה מתאים לגמישות שמציעה NoSQL וגישות דומות לניהול ואצור של נתונים לא מובנים. BASE מורכב משלושה עקרונות:

  • זמינות בסיסית גישת מסד הנתונים של NoSQL מתמקדת בזמינות של נתונים גם בנוכחות מספר כשלים. זה משיג זאת על ידי שימוש בגישה מבוזרת מאוד לניהול מסדי נתונים. במקום לשמור על מאגר נתונים גדול אחד ולהתמקד בסובלנות התקלות של אותו מאגר, מסדי נתונים של NoSQL מפיצים נתונים על פני מערכות אחסון רבות עם רמה גבוהה של שכפול. במקרה הבלתי סביר שכשל ישבש את הגישה לקטע של נתונים, זה לא בהכרח גורם להפסקה מלאה של מסד הנתונים.
  • Soft State. מסדי נתונים של BASE נוטשים את דרישות העקביות של מודל ה-ACID כמעט לחלוטין. אחד המושגים הבסיסיים מאחורי BASE הוא שעקביות הנתונים היא הבעיה של המפתח ולא אמורה להיות מטופלת על ידי מסד הנתונים.
  • Eventual Consistency הדרישה היחידה שיש למסדי נתונים של NoSQL לגבי עקביות היא לדרוש שבשלב מסוים בעתיד, הנתונים יתכנסו למצב עקבי. עם זאת, אין הבטחות לגבי מתי זה יקרה. זוהי סטייה מוחלטת מדרישת העקביות המיידית של ACID האוסרת על ביצוע עסקה עד שהעסקה הקודמת הושלמה ומסד הנתונים התכנס למצב עקבי.

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

מקרי שימוש יחסי

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

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

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

מוּמלָץ: