يتوفر نظام إدارة قواعد البيانات (DBMS) MongoDB 5.0 الموجه نحو المستندات

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

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

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

ميزات الإصدار الجديد:

  • مجموعات مضافة للبيانات على شكل سلسلة زمنية (مجموعات السلاسل الزمنية)، محسنة لتخزين شرائح قيم المعلمات المسجلة على فترات زمنية معينة (الوقت ومجموعة القيم المقابلة لهذا الوقت). تنشأ الحاجة إلى تخزين مثل هذه البيانات في أنظمة المراقبة والمنصات المالية وأنظمة استطلاع حالات الاستشعار. يتم العمل مع بيانات السلاسل الزمنية كما هو الحال مع مجموعات المستندات العادية، ولكن يتم تحسين الفهارس وطريقة تخزينها مع الأخذ في الاعتبار المرجع الزمني، والذي يمكن أن يقلل بشكل كبير من استهلاك مساحة القرص، ويقلل التأخير في تنفيذ الاستعلامات وتمكين البيانات في الوقت الفعلي تحليل.

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

  • تمت إضافة دعم لمشغلي النوافذ (الوظائف التحليلية) التي تسمح لك بتنفيذ إجراءات مع مجموعة محددة من المستندات في المجموعة. على عكس الوظائف التجميعية، لا تقوم وظائف النافذة بطي المجموعة المجمعة، بل يتم تجميعها بناءً على محتويات "النافذة" التي تتضمن مستندًا واحدًا أو أكثر من مجموعة النتائج. لمعالجة مجموعة فرعية من المستندات، يتم اقتراح مرحلة $setWindowFields جديدة، والتي يمكنك من خلالها، على سبيل المثال، تحديد الاختلافات بين مستندين في مجموعة، وحساب تصنيفات المبيعات، وتحليل المعلومات في سلاسل زمنية معقدة.
  • تمت إضافة دعم لإصدارات واجهة برمجة التطبيقات (API)، مما يسمح لك بربط تطبيق ما بحالة واجهة برمجة تطبيقات (API) محددة والتخلص من المخاطر المرتبطة بالانتهاك المحتمل للتوافق مع الإصدارات السابقة عند الترحيل إلى إصدارات DBMS الجديدة. يفصل إصدار واجهة برمجة التطبيقات (API) دورة حياة التطبيق عن دورة حياة نظام إدارة قواعد البيانات (DBMS) ويسمح للمطورين بإجراء تغييرات على التطبيق عندما تكون هناك حاجة لاستخدام ميزات جديدة، وليس عند الترحيل إلى إصدار جديد من نظام إدارة قواعد البيانات (DBMS).
  • تمت إضافة دعم لآلية Live Resharding، والتي تتيح لك تغيير مفاتيح الأجزاء المستخدمة للتجزئة بسرعة دون إيقاف نظام إدارة قواعد البيانات (DBMS).
  • تم توسيع إمكانيات تشفير الحقول على جانب العميل (التشفير على مستوى حقل العميل). أصبح من الممكن الآن إعادة تكوين عوامل تصفية التدقيق وتدوير شهادات x509 دون إيقاف نظام إدارة قواعد البيانات. تمت إضافة دعم لتكوين مجموعة التشفير لـ TLS 1.3.
  • تم اقتراح غلاف سطر أوامر جديد، MongoDB Shell (mongosh)، والذي يتم تطويره كمشروع منفصل، مكتوب بلغة JavaScript باستخدام منصة Node.js ويتم توزيعه بموجب ترخيص Apache 2.0. يتيح MongoDB Shell الاتصال بنظام إدارة قواعد البيانات (DBMS) وتغيير الإعدادات وإرسال الاستعلامات. يدعم الإكمال التلقائي الذكي لإدخال الأساليب والأوامر وتعبيرات MQL وتسليط الضوء على بناء الجملة والمساعدة السياقية وتحليل رسائل الخطأ والقدرة على توسيع الوظائف من خلال الوظائف الإضافية. لقد تم إهمال غلاف CLI القديم "mongo" وستتم إزالته في إصدار مستقبلي.
    يتوفر نظام إدارة قواعد البيانات (DBMS) MongoDB 5.0 الموجه نحو المستندات
  • تمت إضافة عوامل تشغيل جديدة: $count و$dateAdd و$dateDiff و$dateSubtract و$sampleRate و$rand.
  • يضمن استخدام الفهارس عند استخدام عوامل التشغيل $eq، و$lt، و$lte، و$gt، و$gte ضمن التعبير $expr.
  • الأوامر التجميعية والعثور على وfindAndModify وتحديث وحذف وأساليب db.collection.aggregate() وdb.collection.findAndModify() وdb.collection.update() وdb.collection.remove() تدعم الآن الأسلوب "let "خيار لتحديد قائمة المتغيرات التي تجعل الأوامر أكثر قابلية للقراءة عن طريق فصل المتغيرات عن نص الطلب.
  • لم تعد عمليات البحث والعد والتمييز والتجميع وmapReduce وlistCollections وlistIndexes محظورة إذا كانت العملية التي تأخذ قفلًا حصريًا لمجموعة المستندات تعمل بالتوازي.
  • كجزء من مبادرة لإزالة المصطلحات غير الصحيحة سياسيًا، تمت إعادة تسمية الأمر isMaster والأسلوب db.isMaster() إلى hello وdb.hello().
  • تم تغيير نظام ترقيم الإصدار وتم الانتقال إلى جدول إصدار يمكن التنبؤ به. سيكون هناك إصدار مهم مرة واحدة في العام (5.0، 6.0، 7.0)، كل ثلاثة أشهر إصدارات متوسطة مع ميزات جديدة (5.1، 5.2، 5.3)، وعند الضرورة، تحديثات تصحيحية مع إصلاحات الأخطاء ونقاط الضعف (5.1.1، 5.1.2) .5.1.3، 5.1). ستقوم الإصدارات المؤقتة ببناء وظائف للإصدار الرئيسي التالي، أي. ستوفر الإصدارات MongoDB 5.2 و5.3 و6.0 ميزات جديدة لإصدار MongoDB XNUMX.

المصدر: opennet.ru

إضافة تعليق