عن المشروع
قاعدة بيانات تورسو هي قاعدة بيانات SQL داخل العملية تم تنفيذها بلغة Rust ومتوافقة مع SQLite، تم تطويرها من قبل فريق تورسو تحت رخصة MIT. يصف ملف README أنها محرك يُستخدم في الإنتاج ويعمل أيضًا كآلة افتراضية: مثل SQLite، تقوم بترجمة SQL إلى بايت كود لآلة افتراضية تسمى VDBE وتنفّذ هذا البايت كود. يتيح هذا التصميم لمحرك أساسي واحد استضافة عدة لهجات SQL، حيث تكون SQLite الواجهة الأمامية الأساسية وتُضاف PostgreSQL كواجهة تجريبية لها لهجتها وبروتوكولها السلكي الخاص. يضع المشروع طموحه في أن يكون "LLVM لقواعد البيانات" — نواة حديثة واحدة مع العديد من الواجهات الأمامية المترجمة عليها.
القدرات الأساسية الموصوفة:
- توافق مع SQLite على مستوى لهجة SQL، تنسيق الملف، وواجهة برمجة التطبيقات C، مع تتبع نسخة SQLite 3.50.4، ووثيقة COMPAT تُتابع الفروقات المتبقية. يُقال إن ملفات قاعدة بيانات SQLite الحالية تعمل كما هي.
- BEGIN CONCURRENT لتحسين معدل كتابة البيانات باستخدام التحكم في التزامن متعدد الإصدارات (MVCC).
- اكتشاف تغيّر البيانات (CDC) لتتبع تغييرات قاعدة البيانات في الوقت الفعلي.
- ربط لغوي للغات Go، JavaScript، Java، .NET، Python، Rust، وWebAssembly، مع تثبيت عبر crates.io، npm، PyPI، Maven Central وGo modules.
- إدخال/إخراج غير متزامن على Linux عبر io_uring.
- دعم متعدد المنصات لـ Linux، macOS، Windows والمتصفحات عبر WebAssembly.
- دعم المتجهات بما في ذلك البحث الدقيق ومعالجة المتجهات.
- تحسين إدارة المخطط مع دعم موسّع لأمر ALTER وتغييرات مخطط أسرع.
الميزات التجريبية المذكورة تشمل توافق PostgreSQL على مستوى لهجة SQL وبروتوكول السلك، التشفير عند السكون، الحساب التزايدي باستخدام DBSP لصيانة المشاهد التزايدية والاشتراكات في الاستعلامات، البحث النصي الكامل المدعوم بمكتبة tantivy، وتنسيق WAL متعدد العمليات عبر ملف جانبي .tshm. يُخطط لإضافة فهرسة المتجهات للبحث التقريبي.
المواد التمهيدية تغطي سطر أوامر (tursodb) يُثبت عبر سكريبت تثبيت شل، بناء من المصدر باستخدام cargo، وأهداف Docker عبر make. تُظهر مقتطفات مثال قصيرة للغات Rust، JavaScript، Python، Go، .NET وJava، بما في ذلك تكامل JDBC للـ Java.
يضم CLI أيضًا خادم Model Context Protocol (MCP) يُشغَّل بالعلامة --mcp، مما يسمح للمساعدين الذكائيين بالتفاعل مع قواعد البيانات. يوثّق README تسعة أدوات: open_database، current_database، list_tables، describe_table، execute_query، insert_data، update_data، delete_data وschema_change. تُقدَّم أمثلة تكوين لـ Claude Code، Claude Desktop وCursor، إلى جانب استخدام مباشر لـ JSON-RPC عبر stdin/stdout.
الموثوقية والحالة: يذكر README أن تورسو تشغّل تطبيقات إنتاجية في عدة مؤسسات وتُختبر بأدوات تشمل مجموعة اختبار محاكاة حتمية أصلية وAntithesis، مع الإشارة إلى أن المشروع لم يصل إلى الإصدار 1.0 وأن بعض الميزات تجريبية صراحةً، مع توصية بأخذ نسخ احتياطية مستقلة حتى ذلك الحين. يميز تورسو بين قاعدة بيانات تورسو وfork libSQL السابق، موضحًا أن إعادة كتابة Rust هي الاتجاه المقصود بينما كلاهما يعمل في الإنتاج. يدرج المستودع أيضًا منشورات أكاديمية وشركاء مشروع، ويقبل مساهمات تحت رخصة MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.