rqlite, DBMS התייחסותי מבוזר קל משקל

Si אתה מחפש DBMS מבוזר המשתמשת ב- SQLite כמנוע אחסון, תן לי לספר לך את זה rqlite הוא זה בשבילך, מכיוון שהוא מאפשר לארגן את עבודתו של אשכול ממאגרים המסונכרנים זה עם זה.

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

על rqlite

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

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

ההתמקדות העיקרית היא בסובלנות תקלות, כך ה- DBMS קנה מידה רק בפעולות קריאה, ופעולות כתיבה הן צוואר הבקבוק. אפשר להפעיל אשכול rqlite מצומת יחיד וניתן להשתמש בפתרון כזה כדי לספק גישה ל- SQLite באמצעות HTTP מבלי לספק סובלנות לתקלות.

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

רשומה זו משמשת לשכפול (שכפול ברמת החזרת השאילתה לצמתים אחרים), בעת הפעלת צומת חדש, או להתאוששות מאובדן קישוריות.

כדי להקטין את גודל הרשומה משתמשים באריזות אוטומטיות שמתחילות לאחר מספר שינויים מוגדר ומובילות לאישור של תמונת מצב שכנגדה מתחילה רשומה חדשה (מצב מסד הנתונים בזיכרון זהה לתמונת מצב + יומן שינויים שנצבר).

מתכונות rqlite:

  • קלות פריסת אשכולות, ללא צורך בהתקנת SQLite נפרדת.
  • יכולת להשיג במהירות אחסון SQL משוכפל.
  • מוכן לשימוש בפרויקטים של ייצור.
  • זמינות ה- API של HTTP (S), המאפשרת עדכון נתונים במצב אצווה וקביעת צומת המנהיג של האשכול. יש גם ממשק שורת פקודה וספריות לקוח לשפות תכנות שונות.
  • נוכחות של שירות להגדרת צמתים אחרים המאפשרת ליצור אשכולות באופן דינמי.
  • תמיכה בהצפנה של חילופי נתונים בין צמתים.
  • היכולת להתאים אישית את רמת הבדיקה לרלוונטיות ועקביות הנתונים בעת הקריאה.
  • יכולת אופציונלית לחבר צמתים לקריאה בלבד שאינם משתתפים בקביעת הסכמה ומשמשים להגברת מדרגיות האשכול לפעולות קריאה.
  • תמיכה בצורת העסקאות המקורית המבוססת על שילוב פקודות בבקשה אחת (עסקאות המבוססות על BEGIN, COMMIT, ROLLBACK, SAVEPOINT ו- RELEASE אינן נתמכות).

אודות rqlite 6.0

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

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

השינוי גם הסיר את הרכיב הנפרד לסינכרון מטא נתונים והסיר את הטיפול הנפרד של רפט בסטטוס ובמטא נתונים.

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

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


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

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

*

*

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