MangoDB: بديل مفتوح المصدر لـ MongoDB

يُعدّ MongoDB نظام قواعد بيانات NoSQL موجه نحو المستندات، وقد أحدث نقلة نوعية للعديد من المطورين، إذ مكّنهم من بناء التطبيقات بسرعة أكبر من قواعد البيانات العلائقية. مع ذلك، تخلّى MongoDB عن جذوره مفتوحة المصدر، وانتقل إلى ترخيص SSPL، مما يجعله غير قابل للاستخدام في العديد من المشاريع التجارية ومفتوحة المصدر.

ورداً على ذلك، تم تقديم MangoDB، وهو حل مثالي لأولئك الذين يسعون إلى تجربة تطوير MongoDB، حيث يوفر MangoDB طبقة مع تطبيق بروتوكول MongoDB الموجه نحو المستندات والذي يعمل فوق PostgreSQL.

يهدف المشروع إلى توفير إمكانية نقل تطبيقات MongoDB إلى PostgreSQL، بالإضافة إلى حزمة برمجية مفتوحة المصدر بالكامل. كُتب الكود بلغة Go، ويُوزّع بموجب ترخيص Apache 2.0.

من المهم الإشارة إلى أن MongoDB هو نظام إدارة قواعد بيانات موجه نحو المستندات، ويمكن نشره على أي عدد من أجهزة الكمبيوتر، ولا يتطلب مخطط بيانات مُحدد مسبقًا. وهذا يسمح له بالتعامل مع الكائنات المهيكلة بتنسيق BSON (JSON الثنائي) دون الحاجة إلى مخطط مُحدد مسبقًا.

بمعنى آخر، يمكن إضافة المفاتيح في أي وقت "مباشرةً"، دون الحاجة إلى إعادة تهيئة قاعدة البيانات. تأخذ البيانات شكل مستندات، تُخزَّن في مجموعات - تحتوي كل مجموعة على أي عدد من المستندات. تُشبه المجموعات الجداول، بينما تُشبه المستندات السجلات في قواعد البيانات العلائقية.

رخصة الخادم العامة (SSPL) هي رخصة برمجيات احتكارية طورتها شركة MongoDB Inc. ووفقًا لشركة MongoDB، فإن رخصة SSPL تستند إلى رخصة AGPL3، مع إضافة قسم جديد "يحدد بوضوح وصراحة شروط توزيع البرنامج المرخص كخدمة طرف ثالث"، مما يتطلب إتاحة جميع التعليمات البرمجية المصدرية عند إتاحة البرنامج للجمهور كجزء من خدمة.

تم تطبيق هذا التغيير في أكتوبر 2018، وبعدها تخلت توزيعات ديبيان، وريد هات إنتربرايز لينكس، وفيدورا عن مونغو دي بي، مُعللةً ذلك بمخاوفها بشأن SSPL. أطلقت أمازون خدمة متوافقة ولكنها احتكارية تُسمى DocumentDB، ويبدو أن SSPL لم تُسهم في زيادة إيرادات مونغو دي بي من الحوسبة السحابية. لا يحتاج معظم مستخدمي مونغو دي بي إلى العديد من الميزات المتقدمة التي تُقدمها، لكنهم يحتاجون إلى حل قاعدة بيانات مفتوح المصدر، وهنا تبرز أهمية مونغو دي بي.

جوهر حلنا هو وكيل عديم الحالة ، والذي يحول استعلامات بروتوكول MongoDB إلى SQL ويستخدم PostgreSQL كمحرك قاعدة البيانات. سيكون متوافقًا مع برامج تشغيل MongoDB وفي كثير من الحالات يجب أن يعمل كبديل مباشر لـ MongoDB.

يهدف MangoDB إلى أن يصبح البديل المفتوح المصدر الفعلي لـ MongoDB. MangoDB عبارة عن وسيط مفتوح المصدر يُترجم استعلامات بروتوكول MongoDB المُبرمجة مسبقًا إلى لغة SQL، ويستخدم PostgreSQL كمحرك قاعدة بيانات. سيكون MangoDB متوافقًا مع برامج تشغيل MongoDB، وسيعمل كبديل مباشر لـ MongoDB في العديد من الحالات.

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

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

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


أضف كمصدر مفضل في جوجل