أول إصدار مستقر لـ FerretDB ، تنفيذ MongoDB استنادًا إلى PostgreSQL DBMS

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

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

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

من بين التغييرات في FerretDB 1.0:

  • تم تنفيذ أوامر createIndexes و dropIndexes لإنشاء وإسقاط فهرس واحد أو أكثر إلى مجموعة.
  • تم تنفيذ الأمر getMore لعرض جزء جديد من النتيجة التي تم الحصول عليها من تنفيذ الأوامر التي ترجع مؤشرًا ، مثل البحث والتجميع.
  • تمت إضافة دعم عامل التجميع $ sum لحساب مجموع قيم المجموعة.
  • تمت إضافة دعم لحد $ وعوامل تخطي $ للحد من العدد وتخطي المستندات عند التجميع.
  • تمت إضافة دعم عامل التشغيل $ count لعد المستندات عند التجميع.
  • تمت إضافة دعم لعامل التشغيل $.
  • تمت إضافة دعم جزئي لأوامر collStats و dbStats و dataSize للحصول على إحصاءات المجموعة وقاعدة البيانات وحجم البيانات.

المصدر: opennet.ru

إضافة تعليق