ב-SQLite הם כבר עובדים על backend של HCTree עם תמיכה בכתיבה מקבילה

SQLite

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

מפתחי הפרויקט SQLite החלו לבחון קצה אחורי ניסיוני של HCtree התומך בנעילה ברמת השורה ומספק רמה גבוהה של מקביליות בעיבוד שאילתות.

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

לאס מבני עץ b במקור בשימוש ב- SQLite לאחסון נתונים הם לא מיועדים לעומס מסוג זה., שמגביל את SQLite לכתיבה לזרם אחד בלבד. כניסוי, המפתחים החלו לפתח פתרון חלופי המשתמש במבני HCtree לאחסון, מתאים יותר לפעולות כתיבה מקבילות.

פרויקט HC-tree (hctree) הוא ניסיון לפתח קצה אחורי של מסד נתונים חדש המשתפר ב-SQLite רגיל באופן הבא:

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

תמיכה בשכפול: Stock SQLite תומך ב הארכת הפעלה, המאפשר להעביר בסידרה את התוכן של עסקה מחויבת לשידור ויישום למסד נתונים שני. Hctree משלבת זאת ב-backend של מסד הנתונים ומוסיפה תמיכה להחלת עסקאות כאלה על מסדי נתונים של עוקבים בתצורות מנהיג-עוקב. במקרה זה, ניתן להחיל עסקאות שהתקבלו ממסד נתונים מוביל מהר יותר ובמקיפות רבה יותר מאלה שהוחלו במקור על מסד הנתונים המוביל, מכיוון שלא אימות עסקה.

ביטול מגבלות גודל מסד הנתונים: Stock SQLite משתמש במספרי עמודים של 32 סיביות. שימוש בגודל העמוד המוגדר כברירת מחדל של 4 KiB, זה מוביל לגודל מסד נתונים מרבי של 2^44 בתים או 16 TiB.

כדי לטפל במספר פעולות בו זמנית, יומני HCtree משתמשים במנגנון הפרדת עסקאות שמשתמשת במנעולים ברמת העמוד, בדומה ל-MVCC (בקרת הכלה מרובה גרסאות), אך משתמשת בבקרות עסקאות המבוססות על טווחי מפתחות וטווחי מפתחות במקום ערכות דפים.

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

לקוחות יכולים להשתמש בשלוש פעולות כדי לפתוח עסקאות:

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

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

HCtree גם מסיר את מגבלת גודל מסד הנתונים: במקום מזהי עמודי נתונים של 32 סיביות, HCtree משתמש במזהים של 48 סיביות, מה שמגדיל את גודל מסד הנתונים המקסימלי מ-16 טבי-בייט ל-1 exbibyte (מיליון טבי-בייט).

ביצועי SQLite עם הקצה האחורי של HCtree צפויים להיות טובים לפחות כמו הקצה האחורי הקלאסי עם חוט יחיד. לקוחות SQLite עם תמיכה ב-HCtree יוכלו לגשת גם למסדי נתונים של HC-tree וגם למסדי נתונים מדור קודם של SQLite.

מקור: https://sqlite.org/


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.