ما هي تفاصيل MongoDB? Archiالتكنولوجيا والميزات والمثال

⚡ ملخص ذكي

MongoDB هي قاعدة بيانات NoSQL موجهة نحو المستندات، تُستخدم لتخزين كميات كبيرة من البيانات، وتستخدم المجموعات والمستندات بدلاً من الجداول والصفوف. يشرح هذا المورد MongoDB الميزات، مثال على مستند، مكونات البنية الرئيسية، أسباب استخدامها، نمذجة البيانات، وكيف تختلف عن قاعدة البيانات العلائقية.

  • 📄 نموذج المستند: يتم تخزين البيانات كمستندات مفتاح-قيمة داخل مجموعات، وليس جداول.
  • 🧩 مخطط مرن: يتم إنشاء الحقول بشكل فوري دون بنية محددة مسبقًا.
  • ؟؟؟؟ ️ المكونات الأساسية: _id، المجموعة، المستند، الحقل، المؤشر، قاعدة البيانات، و JSON.
  • ⚙️ لماذا استخدامه: الاستعلامات المخصصة، والفهرسة، والنسخ المتماثل، والتجزئة لتحقيق قابلية التوسع.
  • 🔄 مقابل قواعد البيانات العلائقية: تحل المجموعات محل الجداول، وتحل المستندات المضمنة محل عمليات الربط.

ما هي تفاصيل MongoDB

ما هي تفاصيل MongoDB?

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

MongoDB شرح المميزات:

  1. تحتوي كل قاعدة بيانات على مجموعات، تحتوي بدورها على مستندات. قد يختلف كل مستند عن الآخر، حيث يختلف عدد الحقول فيه. كما قد يختلف حجم ومحتوى كل مستند عن الآخر.
  2. تتوافق بنية المستند بشكل أكبر مع كيفية قيام المطورين ببناء فئاتهم وكائناتهم بلغات البرمجة الخاصة بهم. سيقول المطورون غالبًا أن فئاتهم ليست صفوفًا وأعمدة، ولكنها تمتلك بنية واضحة تحتوي على أزواج قيمة المفتاح.
  3. الصفوف (أو المستندات كما تم استدعاؤها في MongoDBلا تحتاج هذه الحقول إلى تعريف مخطط مسبقًا، بل يمكن إنشاؤها أثناء التشغيل.
  4. نموذج البيانات المتاحة داخل MongoDB يتيح لك تمثيل العلاقات الهرمية، وتخزين المصفوفات، وتخزين الهياكل الأكثر تعقيدًا بسهولة أكبر.
  5. التوسعة - و MongoDB تتميز البيئات بقابلية توسع كبيرة. وقد قامت الشركات في جميع أنحاء العالم بتحديد مجموعات، حيث يقوم بعضها بتشغيل أكثر من 100 عقدة مع ملايين المستندات داخل قاعدة البيانات.

MongoDB مثال

يوضح المثال أدناه كيف يمكن تصميم مستند MongoDB.

  1. تتم إضافة الحقل _id بواسطة MongoDB لتحديد المستند في المجموعة بشكل فريد.
  2. ما يمكن ملاحظته هو أن بيانات الطلب (معرف الطلب، والمنتج، والكمية)، والتي تُخزن عادةً في جدول منفصل في قواعد البيانات العلائقية، تُخزن فعليًا كمستند مضمن في المجموعة نفسها. MongoDBهذا أحد الاختلافات الرئيسية في كيفية نمذجة البيانات في MongoDB.

MongoDB مثال

المكونات الرئيسية لـ MongoDB Architecture

فيما يلي بعض المصطلحات الشائعة المستخدمة في MongoDB:

  1. _ID – هذا مجال مطلوب في كل MongoDB وثيقة. يمثل الحقل _id قيمة فريدة في ملف MongoDB وثيقة. يشبه الحقل _id المفتاح الأساسي للمستند. إذا قمت بإنشاء مستند جديد بدون حقل _id، MongoDB سيتم إنشاء الحقل تلقائيًا. على سبيل المثال، إذا نظرنا إلى مثال جدول العملاء أعلاه، MongoDB سيضيف البرنامج مُعرّفًا فريدًا مكونًا من 24 رقمًا لكل مستند في المجموعة.
_بطاقة تعريف هوية الزبون اسم الزبون رقم التعريف الخاص بالطلب
563479cc8a8a4246bd27d784 11 Guru99 111
563479cc7a8a4246bd47d784 22 تريفور سميث 222
563479cc9a8a4246bd57d784 33 نيكول 333
  1. التشكيلات – هذه مجموعةping of MongoDB المستندات. تُعادل المجموعة الجدول الذي يتم إنشاؤه في أي نظام إدارة قواعد بيانات علائقية آخر مثل Oracle أو MS SQL. توجد المجموعة داخل قاعدة بيانات واحدة. وكما رأينا في المقدمة، لا تفرض المجموعات أي نوع من البنية.
  2. المؤشر – هذا مؤشر لمجموعة نتائج الاستعلام. يمكن للعملاء التكرار من خلال المؤشر لاسترداد النتائج.
  3. قاعدة البيانات – هذا حاوية للمجموعات، كما هو الحال في قواعد البيانات العلائقية حيث تكون حاوية للجداول. تحصل كل قاعدة بيانات على مجموعة ملفاتها الخاصة على نظام الملفات. MongoDB يمكن للخادم تخزين قواعد بيانات متعددة.
  4. وثيقة - سجل في أ MongoDB تُسمى المجموعة أساسًا بالمستند. ويتكون المستند بدوره من أسماء الحقول وقيمها.
  5. الحقل – زوج من الاسم والقيمة في المستند. يحتوي المستند على صفر أو أكثر من الحقول. تُشابه الحقول الأعمدة في قواعد البيانات العلائقية. يوضح الرسم التخطيطي التالي مثالاً على الحقول مع أزواج المفتاح والقيمة. في المثال أدناه، يُعدّ كل من CustomerID و11 أحد أزواج المفتاح والقيمة المُعرّفة في المستند.

المكونات الرئيسية لـ MongoDB Architecture

  1. JSON - ويعرف هذا ب Javaسيناريو تدوين الكائنات. هذا تنسيق نص عادي يمكن قراءته من قبل البشر للتعبير عن البيانات المنظمة. يتم حاليًا دعم JSON في العديد من لغات البرمجة.

مجرد ملاحظة سريعة حول الفرق الرئيسي بين حقل _id وحقل المجموعة العادي. يُستخدم الحقل _id لتعريف المستندات الموجودة في المجموعة بشكل فريد ويتم إضافته تلقائيًا بواسطة MongoDB عندما يتم إنشاء المجموعة.

لماذا الاستخدام MongoDB?

فيما يلي بعض الأسباب التي تدفع المرء إلى البدء في استخدام MongoDB:

  1. موجه المستند - حيث MongoDB هو NoSQL نوع قاعدة البيانات، فبدلاً من وجود البيانات بتنسيق نوع علائقي، تقوم بتخزين البيانات في المستندات. هذا يجعل MongoDB يتميز بالمرونة العالية والقدرة على التكيف مع مواقف ومتطلبات عالم الأعمال الحقيقي.
  2. استعلامات مخصصة - MongoDB يدعم البحث حسب الحقل، واستعلامات النطاق، وعمليات البحث باستخدام التعبيرات العادية. يمكن إجراء الاستعلامات لإرجاع حقول محددة داخل المستندات.
  3. الفهرسة – يمكن إنشاء فهارس لتحسين أداء عمليات البحث داخل MongoDB. أي مجال في MongoDB يمكن فهرسة الوثيقة.
  4. النسخ المتماثل - MongoDB يمكن توفير توافر عالٍ باستخدام مجموعات النسخ المتماثلة. تتكون مجموعة النسخ المتماثلة من اثنين أو أكثر MongoDB يمكن لكل عضو في مجموعة النسخ المتماثلة أن يعمل كنسخة متماثلة أساسية أو ثانوية في أي وقت. النسخة المتماثلة الأساسية هي الخادم الرئيسي الذي يتفاعل مع العميل وينفذ جميع عمليات القراءة والكتابة. تحتفظ النسخ المتماثلة الثانوية بنسخة من بيانات النسخة الأساسية باستخدام آلية النسخ المتماثل المدمجة. عند تعطل النسخة الأساسية، تنتقل مجموعة النسخ المتماثلة تلقائيًا إلى النسخة الثانوية، التي تصبح بدورها الخادم الأساسي.
  5. تحميل موازنة - MongoDB يستخدم مفهوم التجزئة للقياس أفقيًا عن طريق تقسيم البيانات عبر عدة MongoDB الحالات. MongoDB يمكن تشغيله على خوادم متعددة، مما يؤدي إلى موازنة التحميل و/أو تكرار البيانات للحفاظ على تشغيل النظام في حالة فشل الأجهزة.

نمذجة البيانات في MongoDB

كما رأينا في قسم المقدمة، فإن البيانات في MongoDB لديه مخطط مرن. على عكس في SQL قواعد البيانات، حيث يجب أن يكون لديك مخطط جدول معلن قبل إدراج البيانات، MongoDBلا تفرض مجموعات 's بنية المستند. هذا النوع من المرونة هو ما يصنع MongoDB قوي جدا.

عند نمذجة البيانات في MongoDBضع الأمور التالية في اعتبارك:

  1. ما هي احتياجات التطبيق؟ - انظر إلى احتياجات العمل للتطبيق وحدد البيانات ونوعها المطلوبة. بناءً على ذلك، تأكد من تحديد هيكل المستند وفقًا لذلك.
  2. ما هي أنماط استرجاع البيانات؟ – إذا كنت تتوقع استخدامًا مكثفًا للاستعلامات، ففكر في استخدام الفهارس في نموذج البيانات الخاص بك لتحسين كفاءة الاستعلامات.
  3. هل تحدث عمليات إدخال وتحديث وحذف متكررة في قاعدة البيانات؟ أعد النظر في استخدام الفهارس أو قم بتضمين التجزئة إذا لزم الأمر في تصميم نموذج البيانات الخاص بك لتحسين كفاءة نظامك بشكل عام MongoDB بيئة.

الفرق بين MongoDB ونظام إدارة قواعد البيانات الراديوية

فيما يلي بعض الاختلافات الرئيسية بين المصطلحات MongoDB وقواعد البيانات العلائقية:

RDBMS MongoDB فرق
طاولات التشكيلات In RDBMSيحتوي الجدول على الأعمدة والصفوف المستخدمة لتخزين البيانات، بينما في MongoDB يُعرف هذا الهيكل نفسه باسم المجموعة. تحتوي المجموعة على مستندات تحتوي بدورها على حقول، وهذه الحقول عبارة عن أزواج مفتاح-قيمة.
صف وثيقة في RDBMS، يمثل الصف عنصر بيانات واحد منظم ضمنيًا في الجدول. في MongoDB، يتم تخزين البيانات في المستندات.
عمود الحقل في RDBMS، يشير العمود إلى مجموعة من قيم البيانات. هذه في MongoDB تُعرف باسم الحقول.
ينضم المستندات المضمنة في أنظمة إدارة قواعد البيانات العلائقية، تُوزّع البيانات أحيانًا على جداول متعددة، ولعرض صورة كاملة لجميع البيانات، يتم أحيانًا إنشاء ربط بين الجداول للحصول على البيانات. MongoDBعادةً ما تُخزَّن البيانات في مجموعة واحدة، ولكنها تُفصل باستخدام مستندات مضمنة. لذلك لا يوجد مفهوم للربط في MongoDB.

وبغض النظر عن اختلاف المصطلحات، تظهر أدناه بعض الاختلافات الأخرى:

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

الأسئلة الشائعة

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

نعم. MongoDB تتيح لك خدمة Atlas Vector Search تخزين واستعلام تضمينات المتجهات بجانب مستنداتك. يدعم هذا البحث الدلالي، والتوصيات، والتوليد المُعزز بالاسترجاع لتطبيقات الذكاء الاصطناعي دون الحاجة إلى قاعدة بيانات متجهات منفصلة.

MongoDB إصدار المجتمع مجاني ومفتوح المصدر. MongoDB كما يقدم Atlas، وهي خدمة سحابية مُدارة مع مستوى مجاني، وإصدار Enterprise مع أمان ودعم متقدمين مقابل رسوم.

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

تلخيص هذه التدوينة بـ: