HeadlinesBriefing favicon HeadlinesBriefing.com

DoltLite: SQLite فرع مع تحكم إصدارات بأسلوب Git

Hacker News •
×

طفلي يكبر. فقط خمسة أشهر بعد الإطلاق، Dolt Lite Beta، الإصدار 0.50.0. بدأ Dolt Lite كنكتة. كنت بحاجة إلى مشروع لاختباره مع منسق الوكلاء المبتكر ستيف ييغجي، Gas Town. أردت مشكلة حقيقية، وليس لعبة. كنا نريد نسخة مدمجة من Dolt منذ سنوات، لكن إعادة كتابة محرك التخزين الخاص بـ Dolt إلى C أو Rust كانت بعيدة جداً. بدت SQLite مضيفاً منطقياً لذلك المحرك. هل يمكن لفريق من الوكلاء أن ينجحوا؟ استغرق الأمر حوالي 2,000 طلب سحب، لكن Dolt Lite Beta أثبت أن فريق من الوكلاء بالتأكيد يمكنه ذلك.

ماذا هو Dolt Lite

Dolt Lite هو فرع من SQLite. كل ما فوق طبقة B-tree هو نفسه. وهذا يعني محلل SQL ومحلل، طبقة تفاعل مع نظام الملفات، ومجموعة الاختبارات هي SQLite المخزونية. في منتجات Dolt الأخرى، كان علينا تنفيذ محرك SQL فوق تخزين ذي إصدار. بناء محرك SQL صعب. مع Dolt Lite، حصلنا على محرك SQL بتكلفة كتابة محرك تخزين بأسلوب الإصدار في C. تم استبدال طبقة B-tree بـ Prolly Tree مدعوم من مستودع ملفات قطعة واحدة. Prolly Trees أشجار B تعتمد على المحتوى. هذه البنية البيانات السحرية تمكّن من وظائف التحكم بالإصدارات في جميع منتجات Dolt. وهذا يعني أنك ستحصل على جميع ميزات التحكم بالإصدارات الخاصة بـ Dolt و Git في حزمة SQLite. هل كنت تريد يوماً أن تنشئ فرعاً، وتندمج، وت diff SQLite؟ Dolt Lite هو لك. أو ربما والأهم من ذلك، هل كنت تريد يوماً محرك SQLite مزامن واعٍ للنزاعات مدعوماً بـ Git-style push, pull, clone, and fetch؟ Dolt Lite هو لك. أو ربما والأهم من ذلك، هل كنت تريد يوماً محرك SQLite مزامن واعٍ للنزاعات مدعوماً بـ Git-style push, pull, clone, and fetch؟ Dolt Lite هو لك. يمكنك حتى استخدام Dolt Hub كخلفية للمزامنة الخاصة بك.

ماذا يعني Beta؟

فما معنى أن يصبح Dolt Lite Beta بالنسبة لك؟ Beta يعني أربع أشياء: استقرار تنسيق التخزين، التوافق SQL، التحكم الكامل بالإصدارات، الأداء الإنتاجي، والتقارير من الميدان حول الوظائف والاستقرار بشكل إيجابي عام. بطارية الاختبارات الخاصة بـ SQLite مذهلة حقاً. Dolt Lite اجتاز تلك الاختبارات بالإضافة إلى مجموعة اختبارات Oracle المخصصة لـ Dolt. Dolt Lite جاهز لك لتجربته. استقرار تنسيق التخزين

أكبر شكوى حول عملية تطوير Dolt Lite كانت قفزات تنسيق التخزين. تغييرات تنسيق التخزين لم تكن متوافقة للخلف، مما أجبر المستخدمين على البقاء على نفس الإصدار أو تصدير قواعد البيانات يدوياً وإعادة استيرادها. استغرق الوصول إلى Beta 12 تغيير تنسيق. كنا على التنسيق الحالي لـ 57 إصداراً، أو أكثر من ثلاثة أشهر من الوقت التقويمي. يبدو أن هذا تنسيق يمكننا الاستمرار فيه. أصبح تنسيق التخزين مستقراً الآن. أي تغييرات مستقبلية ستbreaking سيكون لها مسار Migration مدعوم. Dolt Lite Beta يعني أنه يمكنك adoption دون خوف من تغيير تنسيق تخزين سيكسر. التوافق SQL

طبقة SQL الخاصة بـ SQLite经过极其良好的测试. Dolt Lite passed the vast majority of these tests as well, proving SQL compatibility. Dolt Lite passes 100% of sqllogictest, a suite of 5.8M complex queries. The query layer is the same as SQLite so this is expected. SQLite also ships with a suite of 892,277 TCL-based acceptance tests that test a broader surface of the SQLite API. Dolt Lite passes 99.46% with 4,809 known divergences. Each divergence must have a listed reason. The top reasons are: Tables are keyed by primary key, instead of rowid, to support version control functionality. Some tests directly inspect rowid. Dolt Lite has chunks, not pages. Some tests directly inspect pages. There is no WAL or journal sidecar. WAL and journal tests are skipped. SQLite users will feel right at home with Dolt Lite. Dolt Lite operates like SQLite with extra version control functions. Full Version Control

Dolt Lite implements the core suite of Dolt's Git-style version control features. Local version control features are supported. Branches, merges, diffs, rebases, cherry-picks, and resets, to name a few. Remote version control is supported: push, pull, clone, and fetch from a custom remot...