ابتدایی
این کتابخانه یک افزونه به پایگاه کد SQLite موجود است که پشتیبانی از پروتکل شبکه را برای اتصال چندین نمونه از یک برنامه کاربردی که بر روی هاست های مختلف اجرا می شود، اضافه می کند. یک برنامه کاربردی که با Dqlite کامپایل شده است می تواند به عنوان یک خوشه خودکفا برای تحمل خطا، مستقل از DBMS های خارجی عمل کند. در عمل، Dqlite توسط Canonical در سیستم مدیریت کانتینر خود استفاده می شود
برای اطمینان از سازگاری در تکرار داده ها، یک روش اجماع مبتنی بر الگوریتم استفاده می شود
در مقایسه با پروژه مشابه
ویژگی های Dqlite:
- انجام کلیه عملیات دیسک و شبکه به صورت ناهمزمان.
- در دسترس بودن مجموعه آزمایشی برای تأیید صحت داده ها؛
- مصرف کم حافظه و تبادل کارآمد داده از طریق شبکه؛
- ذخیره سازی دائمی پایگاه داده و لاگ تراکنش ها بر روی دیسک (با امکان کش در حافظه).
- بازیابی سریع از شکست؛
- مشتری CLI پایدار در زبان Go، که می تواند برای مقداردهی اولیه پایگاه داده، پیکربندی تکرار و اتصال/قطع گره ها استفاده شود.
- از معماری های ARM، X86، POWER و IBM Z پشتیبانی می کند.
- اجرای الگوریتم Raft برای به حداقل رساندن تاخیر در هنگام انجام تراکنش ها بهینه شده است.
منبع: opennet.ru