لمحة تقنية: LumoSQL تضيف ميزات آمنة وفعّالة إلى مكتبة SQLite لتخزين البيانات
LumoSQL: ملخص المشروع الوثائقي نظرة عامة LumoSQL هو تعديل (وليس مشروعًا مستقلًا) لمكتبة تخزين البيانات المدمجة SQLite، والتي تعتبر من أكثر البرمجيات انتشارًا في العالم. المشروع حاليًا في المرحلة الثانية، ويهدف إلى إضافة ميزات جديدة تتعلق بالأمن والخصوصية والأداء والقياس إلى SQLite. ميزات LumoSQL الرئيسية الأمن والخصوصية: يضيف LumoSQL تشفيرًا حديثًا لـ SQLite، بما في ذلك التشفير القائم على الصفات (Attribute-Based Encryption - ABE). يمكن تنفيذ هذه الميزات على مستوى الصف الواحد، مع إمكانية الكشف السريع عن الأخطاء باستخدام مجموعات التحقق من الصحة (checksums) لكل صف. الأداء والقياس: يستخدم LumoSQL أداة Not-forking لاختبار ومقارنة النتائج باستمرار عبر أنواع مختلفة من الأنظمة والتكوينات. هذه الأداة تساعد في تتبع التغييرات في المكتبات الأصلية وتوفير نتائج دقيقة ومتسقة. محركات الخزن القابلة للتبديل: يمكن تبديل محركات الخزن القائمة على مفتاح-قيمة (key-value store engines) في SQLite وخارجها. LMDB هو أحد أمثلة هذه المحركات البديلة، ويمكن لـ LumoSQL الجمع بين العديد من إصدارات LMDB وSQLite. مراحل التطور المرحلة الأولى: استخراج الرمز القديم وتحقيق نتائج الاختبار الأولية. المرحلة الثانية: تحسين الميزات وتطوير أدوات جديدة للاختبار والتقدير. التقييم من قبل المختصين يعد LumoSQL مشروعًا مهمًا يهدف إلى تحسين SQLite دون المساس بأمان واستقرار المليارات من المستخدمين الذين يعتمدون عليها. يرى المختصون أن LumoSQL يمكن أن يوفر حلولًا مبتكرة للمستخدمين الذين يحتاجون إلى ميزات جديدة لا تتناسب مع نهج SQLite الحذر والمحافظ. نبذة عن SQLite SQLite هي مكتبة بيانات خفيفة الوزن ومدمجة، تستخدم في الآلاف من مشاريع البرمجيات، بما في ذلك أنظمة تشغيل الهواتف الذكية مثل Android وiOS وFirefox. هذا الاستخدام الواسع يجعل SQLite حذرة للغاية في تبني التغييرات الجديدة، مما يجعل LumoSQL فرصة مهمة لتجربة تلك التغييرات قبل تطبيقها في SQLite الرئيسية. التوثيق والمشاركة الموقع الرسمي: يتم الحفاظ على الرمز الأصلي للمشروع على موقع lumosql.org، وهناك منتدى للمشاركة وإرسال المساهمات. أدوات التطوير: يتطلب المشروع أدوات مثل git و Fossil و core unix-style development tools. Fossil هو أداة إدارة رموز مفضلة للمساهمين في LumoSQL بسبب علاقتها القوية بـ SQLite. التقييم والاختبار الاختبار السريع: يمكن بناء واختبار الإصدار الرسمي من SQLite 3.35.5 باستخدام الأمر make benchmark، مما يأخذ حوالي 4 دقائق حسب الأجهزة. النتائج: يتم تخزين النتائج في قاعدة بيانات SQLite تحت اسم benchmarks.sqlite. يمكن استخدام أداة benchmark-filter.tcl لمعالجة وتحليل هذه النتائج. التقييم الزمني الاختبار الأولي: استخدم الإصدار 3.35.5 و 3.33.0 مع الخيار DATASIZE=2 للحصول على نتائج مقارنة للأداء على أحجام البيانات المختلفة. النتائج المبدئية: أظهرت النتائج أن SQLite 3.35.5 أسرع من 3.33.0 على أحجام البيانات الكبيرة، بينما كان أسرع بكثير على أحجام البيانات الصغيرة. القيود الحالية الإصدار 0.4: يوجد العديد من القيود الواضحة، بما في ذلك الحاجة إلى تحسينات إضافية في الأداء والأمان. الإعداد والمتطلبات أنظمة التشغيل Debian و Ubuntu: فتح ملف /etc/apt/sources.list وإزالة التعليق عن السطر deb-src. تحديث النظام باستخدام sudo apt update و sudo apt full-upgrade. تثبيت الأدوات اللازمة: sudo apt install git build-essential tclx. تثبيت متطلبات البناء: sudo apt build-dep sqlite3. أنظمة التشغيل Fedora و Red Hat: تثبيت الأدوات اللازمة: sudo dnf install --assumeyes git make gcc ncurses-devel readline-devel glibc-devel autoconf tcl-devel tclx-devel. أدوات مشتركة: تثبيت أداة Not-forking الضرورية من موقعها الرسمي. تثبيت Fossil لManaging Repository، مع ملاحظة أن بعض الإصدارات الحديثة غير متوفرة في توزيعات معينة مثل Debian 10 "Buster". التاريخ الموجز 2013: أطلق Howard Chu أول نسخة مCEPT من SQLite باستخدام محرك LMDB، والتي حققت فوائد أداء كبيرة. يناير 2020: خلص مشروع LumoSQL إلى أن هناك إمكانات كبيرة للتطوير والتعاون، مع ظهور خيارات جديدة لتحسين الأداء والأمان. الخلاصة LumoSQL هو مشروع يقدم تحسينات مبتكرة لـ SQLite من خلال إضافة ميزات الأمن والخصوصية والأداء. مع التعاون المستمر والتطوير، يمكن أن يصبح LumoSQL مصدرًا مهمًا لتطوير SQLite في المستقبل، مع مراعاة الحفاظ على استقرار واستمرارية النظام الأساسي الذي يستخدمه المليارات من المستخدمين.
