أعلنت شركة Canonical عن الإصدار 1.0 من Dqlite ، وهي مكتبة C لـ SQL

الكنسي

الاسبوع الماضي أعلنت شركة Canonical عن إطلاق نسخة رئيسية من مشروع Dqlite 1.0, تقوم بتطوير محرك SQL متوافقة مع SQLite المضمنة التي تدعم النسخ المتماثل للبيانات ، والتعافي التلقائي من الكوارث ، والتسامح مع الخطأ من خلال توسيع عقد متعددة

Dqlite هي مكتبة C يقوم بتنفيذ محرك قاعدة بيانات SQL مكرر مع توفر عالٍ وتجاوز فشل تلقائي. يشير الاختصار "dqlite" إلى "Distributed SQLite" ، مما يعني أن dqlite يقوم بتوسيع SQLite باستخدام بروتوكول شبكة يمكنه توصيل مثيلات متعددة من تطبيقك وجعلها تعمل كمجموعة متاحة للغاية ، دون الاعتماد على قواعد البيانات الخارجية.

كما ذكر يتم تنفيذ DBMS في شكل مكتبة C ملحقة بالتطبيقات ويتم توزيعه بموجب ترخيص Apache 2.0 (يتم توفير SQLite الأصلي في المجال العام). المكتبة عبارة عن مكون إضافي على أساس كود SQLite الموجود ، الذي يضيف دعم بروتوكول الشبكة لربط مثيلات متعددة من التطبيق الذي يعمل على مضيفين مختلفين.

يمكن أن يعمل التطبيق الذي تم إنشاؤه باستخدام Dqlite كمجموعة تجاوز الفشل عن طريق الخطأ المستقل، مستقلة عن نظم إدارة قواعد البيانات الخارجية.

في التمرين، تستخدم Canonical Dqlite في نظام إدارة الحاويات LXD. من بين مجالات التطبيق بالمكتبة ، تم ذكر إنشاء أجهزة ومعالجات إنترنت للأشياء تتسامح مع الأخطاء في أنظمة الحوسبة المتطورة.

لضمان الاتساق في نسخ البيانات ، يتم استخدام طريقة إجماع تستند إلى خوارزمية Raft ، والتي تُستخدم في مشاريع مثل etcd و RethinkDB و CockroachDB و OpenDaylight. يستخدم Dqlite تطبيق C-raft غير المتزامن الخاص به ، والمكتوب بلغة C.

لمضاعفة معالجة الاتصال وتنظيم إطلاق coroutines ، يتم استخدام المكتبات المعدة libuv و libco.

مقارنة بمشروع rqlite مشابه ، يوفر Dqlite دعمًا كاملاً للمعاملات، يمكنه التواصل مع أي مشروع C ، ويسمح لك باستخدام وظيفة time () ، ويستخدم النسخ المتماثل المستند إلى الإطار بدلاً من النسخ المتماثل المستند إلى ترجمة تعبير SQL.

من الميزات التي يمكن إبرازها في Dqlite ما يلي:

  • نفذ جميع عمليات القرص والشبكة في الوضع غير المتزامن
  • وجود مجموعة من الاختبارات للتأكد من دقة البيانات
  • استهلاك منخفض للذاكرة وتبادل فعال للبيانات عبر الشبكة
  • تخزين قرص قاعدة البيانات الدائم وسجل المعاملات (مع إمكانية التخزين المؤقت في الذاكرة)
  • انتعاش سريع بعد الفشل
  • عميل CLI مستقر بلغة Go ، والتي يمكن استخدامها لتهيئة قاعدة البيانات ، وتكوين النسخ المتماثل ، وتوصيل / فصل العقد
  • دعم معماريات ARM و X86 و POWER و IBM Z
  • تم تحسين تنفيذ خوارزمية Raft لتقليل زمن انتقال المعاملات.
  • تنفيذ غير متزامن واحد مترابط باستخدام libuv كحلقة حدث.
  • بروتوكول سلك مخصص مُحسّن لأساسيات SQLite وأنواع البيانات.
  • تكرار البيانات على أساس خوارزمية Raft وتنفيذها الفعال في C-raft.

كيفية تثبيت Dqlite على Ubuntu ومشتقاته؟

يوفر Canonical معلومات حول كيفية بناء عميل للتفاعل مع Dqlite ، يمكنك الرجوع إلى هذا في الرابط التالي.

الآن بالنسبة لتركيب المكتبة على النظام ، يمكن تثبيت هذا بطريقتين لمن يستخدم Ubuntu أو أي مشتق آخر منه. يوفر Canonical اتفاقية PPA من حيث يمكن الحصول عليها بطريقة بسيطة إلى حد ما.

يمكن إضافة PPA من محطة طرفية وتنفيذ الأوامر التالية فيه:

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

الطريقة الأخرى لتثبيت هذه المكتبة هي عن طريق التحويل البرمجي من هذا على النظام ، فهذه طريقة أكثر عمومية لكل من توزيعات Ubuntu وتوزيعات Linux الأخرى.

للقيام بذلك ، عليهم فقط فتح محطة وتنفيذ الأوامر التالية:

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 (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.