عن المشروع

SurrealDB هي قاعدة بيانات متعددة النماذج مبنية بلغة Rust توحد نماذج البيانات المتعددة في محرك واحد. تجمع بين أنواع البيانات المستندية، والرسوم البيانية، والعلاقاتية، والسلاسل الزمنية، والجيومكانية، ومفتاح‑قيمة مع وظائف البحث النصي الكامل، والبحث المتجه، والبحث الهجين، إلى جانب قدرات الوقت الفعلي والاعتماد على الأحداث. الميزات الرئيسية تشمل: - دعم متعدد النماذج: معالجة أصلية للبيانات المستندية، والرسوم البيانية، والعلاقاتية (مع مخطط أو بدون مخطط)، والسلاسل الزمنية، والجيومكانية، والاسترجاع (نص كامل، متجه، هجين) عبر SurrealQL، لغة استعلام شبيهة بـ SQL. - واجهة برمجة تطبيقات تعاونية في الوقت الفعلي: تعمل كقاعدة بيانات وخدمة خلفية للـ API مع مصادقة المستخدم النهائي مدمجة والتحكم في الوصول على مستوى الصفوف بناءً على الأذونات. - بروتوكولات استعلام متعددة: تدعم SurrealQL، GraphQL، معاملات ACID، اتصالات WebSocket، البيانات المهيكلة وغير المهيكلة، استعلام الرسوم البيانية، الفهرسة النصية الكاملة والمتجهة، والاستعلام الجيومكاني. - مرونة النشر: تعمل كملف ثنائي Rust واحد مدمج داخل التطبيق، أو في المتصفح عبر WebAssembly، أو على الحافة، أو مستضافة ذاتيًا كعقدة واحدة، أو في مجموعة موزعة. - علاقات رسومية متقدمة: تمكّن من علاقات وتحليل بين المستندات دون الحاجة إلى JOINs، باستخدام وصلات حافة رسومية موجهة ومُعرفة النوع. - حقول وحسابات مُشتقة وعروض: تدعم حقولًا محسوبة ديناميكيًا تُسترجع عند الاستعلام وعروضًا محسوبة تدريجيًا للتحليلات. - قابلية التوسيع: تسمح بمنطق مدمج مخصص باستخدام وظائف JavaScript. - تكامل الذكاء الاصطناعي: تشمل خادم MCP (بروتوكول سياق النموذج) لتكامل نماذج اللغة الكبيرة (LLM) وعوامل الذكاء الاصطناعي. توفر SurrealDB مجموعات تطوير برمجيات (SDKs) للغات Rust، JavaScript، WebAssembly، Node.js، Deno، Python، Golang، .NET، PHP، وJava. يمكن تثبيتها على macOS، Linux، وWindows، أو تشغيلها عبر Docker. تتوفر أيضًا خدمة سحابية مُدارة. المشروع مرخص تحت رخصة BSL 1.1.