لقد تم بالفعل إصدار FerretDB 1.0 وهذه هي أخبارها

FerretDB

تم تأسيس FerretDB ليصبح البديل الفعلي للمصدر المفتوح لـ MongoDB.

إطلاق برنامج نسخة جديدة من مشروع FerretDB 1.0، والذي يسمح لك باستبدال نظام إدارة قواعد البيانات (DBMS) المستند إلى المستندات في MongoDB بـ PostgreSQL دون إجراء أي تغييرات على رمز التطبيق الخاص بك. يتم تنفيذ FerretDB كخادم وكيل يقوم بترجمة استدعاءات MongoDB في استعلامات SQL إلى PostgreSQL ، مما يسمح لك باستخدام PostgreSQL كتخزين فعلي.

تم وضع علامة على الإصدار 1.0 كأول إصدار مستقر جاهز للاستخدام العام. الجمهور المستهدف الأساسي لـ FerretDB هم المستخدمون الذين لا يستخدمون الميزات المتقدمة لـ MongoDB في تطبيقاتهم ، لكنهم يريدون استخدام حزمة برامج مفتوحة تمامًا.

في المرحلة الحالية من التطور ، يدعم FerretDB مجموعة فرعية من ميزات MongoDB الأكثر استخدامًا في التطبيقات النموذجية. قد تنشأ الحاجة إلى تنفيذ FerretDB فيما يتعلق بانتقال MongoDB إلى ترخيص SSPL غير مجاني ، والذي يعتمد على ترخيص AGPLv3 ، ولكنه ليس مفتوح المصدر ، لأنه يحتوي على متطلبات تمييزية للتزويد بموجب ترخيص SSPL ليس فقط رمز التطبيق نفسه ، ولكن أيضًا رموز المصدر لجميع المكونات المشاركة في توفير الخدمات السحابية.

MongoDB يحتل مكانة بين الأنظمة السريعة والقابلة للتطوير التي تعمل على بيانات المفتاح / القيمة وأنظمة إدارة قواعد البيانات قواعد بيانات علائقية وظيفية وسهلة الاستعلام. يدعم MongoDB تخزين المستندات بتنسيق يشبه JSON ، وله لغة مرنة إلى حد ما لبناء الاستعلامات ، ويمكنه إنشاء فهارس للعديد من السمات المخزنة ، ويوفر تخزينًا فعالاً للكائنات الثنائية الكبيرة ، ويدعم عمليات التسجيل لتغيير البيانات وإضافتها إلى قاعدة البيانات ، ويمكنه العمل وفقًا لنموذج Map / Reduce ، يدعم النسخ المتماثل وبناء التكوينات المتسامحة مع الأخطاء.

المستجدات الرئيسية من FerretDB 1.0

في هذا الإصدار الجديد الذي تم تقديمه ، تم تسليط الضوء على أن تم تنفيذ الأمرين createIndexes و dropIndexes لإنشاء ووضع فهرس واحد أو أكثر في مجموعة ، بالإضافة إلى الأمر تم تنفيذ getMore لعرض شريحة جديدة من النتيجة التي تم جلبها من تنفيذ الأوامر التي ترجع المؤشر ، مثل البحث والإضافة.

آخر التغييرات التي تبرز من الإصدار الجديد إضافة دعم لعامل تجميع $ sum لحساب مجموع قيم المجموعة ، وكذلك ما تم إضافته دعم معاملات الحد $ و $ skip للحد من العدد وتخطي المستندات عند الإضافة ، وقد تمت إضافة هذا الدعم لعامل التشغيل $ count لعد المستندات عند الإضافة.

بالإضافة إلى ذلك ، يُلاحظ أيضًا أنه تمت إضافة دعم المشغل $ Undind لتحليل حقول المصفوفة في المستندات الواردة وتشكيل قائمة بمستند منفصل لكل عنصر من عناصر المصفوفة ، كما تمت إضافة دعم جزئي للأوامر collStats ، dbStats و dataSize للحصول على إحصاءات المجموعة وقاعدة البيانات وحجم البيانات.

من التغييرات الأخرى التي تبرز من الإصدار الجديد:

  • تُستخدم التكرارات الآن لـ "الترتيب" و "الحد" و "التخطي" و "الإسقاط"
  • عثرة التبعيات
  • تحسينات تتبع الموارد
  • تمت إضافة اختبارات لوسيطة `تخطي` لـ` البحث` و `العدد
  • أغلق المكرر بشكل صحيح
  • تحسينات لتهيئة أعداد كبيرة في بيانات الاختبار

أخيرا إذا كنت مهتمًا بمعرفة المزيد عنها، يمكنك التحقق من التفاصيل في الرابط التالي.

للمهتمين بالكود ، يجب أن تعلم أنه مكتوب في Go ويتم توزيعه بموجب ترخيص Apache 2.0.

ويجب أن يعرفوا ذلك أفضل طريقة لاختبار FerretDB هي تعديله وتشغيله على المضيف (Linux أو macOS أو Windows) مع PostgreSQL والاعتماديات الأخرى التي تعمل داخل حاويات Docker عبر Docker Compose.

على نظام Linux ، يجب تثبيت عامل الإرساء على المضيف. في نظامي macOS و Windows ، يجب استخدام Docker Desktop ، بينما في Windows ، يجب تكوينه لاستخدام WSL 2 دون أي توزيع ؛ يجب تنفيذ جميع الأوامر على المضيف.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.