Canonical מכריזה על גרסת 1.0 של Dqlite, ספריית C עבור SQL

קנוניקל

שבוע שעבר Canonical הודיעה על שחרור גרסה מרכזית של פרויקט Dqlite 1.0, אתה מפתח מנוע SQL תואם SQLite מובנה התומך בשכפול נתונים, התאוששות אוטומטית מאסון וסובלנות תקלות על ידי התפרסות על מספר צמתים.

Dqlite היא ספריית C. הוא מיישם מנוע מסד נתונים משוכפל ו- SQL עם זמינות גבוהה וכשל אוטומטי. ראשי התיבות "dqlite" מייצגים "SQLite מבוזר", מה שאומר ש- dqlite מרחיב את SQLite עם פרוטוקול רשת שיכול לחבר מספר מופעים של היישום שלך ולגרום להם לפעול כאל אשכול זמין מאוד, ללא תלות במאגרי מידע חיצוניים.

כפי שהוזכר ה- DBMS מיושם בצורה של ספריית C המצורפת ליישומים ומופץ ברישיון Apache 2.0 (SQLite המקורי מסופק ברשות הרבים). הספרייה היא תוסף על בסיס קוד SQLite קיים, שמוסיף תמיכה בפרוטוקול רשת לקישור מספר מופעים של היישום הפועל על מארחים שונים.

יישום שנבנה עם Dqlite יכול לתפקד כאשכול כושל בטעות אוטונומית, בלתי תלוי ב- DBMS חיצוני.

בפועל, Canonical משתמשת ב- Dqlite במערכת ניהול המכולות LXD. בין אזורי היישומים של הספרייה מוזכר גם יצירת מכשירים ומעבדים Internet of Things סובלני לתקלות במערכות מחשוב אדג '.

כדי להבטיח עקביות בשכפול נתונים, משתמשים בשיטת קונצנזוס המבוססת על אלגוריתם הרפסודה, המשמשת בפרויקטים כגון etcd, RethinkDB, CockroachDB ו- OpenDaylight. Dqlite משתמש בהטמעת רפודת C רפסודה אסינכרונית משלה, שנכתבה ב- C.

כדי להכפל את עיבוד החיבורים ולארגן את ההשקה של קורוטינים, משתמשים בספריות מוכנות libuv ו- libco.

בהשוואה לפרויקט rqlite דומה, Dqlite מספק תמיכה מלאה בעסקאות, הוא יכול לתקשר עם כל פרויקט C, מאפשר לך להשתמש בפונקציה time () ומשתמש בשכפול מבוסס מסגרת במקום בשכפול מבוסס ביטוי SQL.

בין התכונות שניתן להדגיש ב- Dqlite הן:

  • בצע את כל פעולות הדיסק והרשת במצב אסינכרוני
  • נוכחות של קבוצת בדיקות לאישור דיוק הנתונים
  • צריכת זיכרון נמוכה והחלפת נתונים יעילה ברשת
  • אחסון קבוע וניהול עסקאות של מסד נתונים (עם יכולת זיכרון במטמון בזיכרון)
  • התאוששות מהירה לאחר כשלים
  • לקוח CLI יציב בשפת Go, שניתן להשתמש בו לאתחול מסד הנתונים, הגדרת שכפול וחיבור / ניתוק צמתים
  • תמיכה בארכיטקטורות ARM, X86, POWER ו- IBM Z
  • הטמעת האלגוריתם של רפסודה מותאמת כדי למזער את חביון העסקה.
  • יישום הברגה יחידה אסינכרונית באמצעות libuv כלולאת אירועים.
  • פרוטוקול חוטים מותאם אישית המותאם לראשוני SQLite וסוגי נתונים.
  • שכפול נתונים המבוסס על אלגוריתם ה- Raft והטמעתו היעילה ב- C-raft.

כיצד להתקין את Dqlite באובונטו ובנגזרות?

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

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

ניתן להוסיף PPA זה ממסוף ולבצע בו את הפקודות הבאות:

sudo add-apt-repository ppa:dqlite/v1
sudo apt-get update
sudo apt-get install libdqlite-dev

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

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

git clone --depth 100 https://github.com/canonical/sqlite.git
cd sqlite
./configure --enable-replication
make
sudo make install
cd ..
git clone https://github.com/canonical/libco.git
cd libco
make
sudo make install
cd ..
git clone https://github.com/canonical/raft.git
cd raft
autoreconf -i
./configure
make
sudo make install
cd ..

לאחר התקנת כל הספריות הדרושות, על מנת לבנות את הספרייה המשותפת dqlite, תוכל להפעיל:

autoreconf -i
./configure
make
sudo make install

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

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

*

*

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