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

ما هي تفاصيل MongoDB?
MongoDB هي قاعدة بيانات NoSQL موجهة نحو المستندات تستخدم لتخزين البيانات ذات الحجم الكبير. بدلاً من استخدام الجداول والصفوف كما هو الحال في قواعد البيانات العلائقية التقليدية، MongoDB يستخدم المجموعات والوثائق. تتكون المستندات من أزواج القيمة الرئيسية والتي تعد الوحدة الأساسية للبيانات فيها MongoDBتحتوي المجموعات على مجموعات من المستندات والوظائف، وهو ما يعادل جداول قواعد البيانات العلائقية. MongoDB هي قاعدة بيانات ظهرت إلى النور في منتصف العقد الأول من القرن الحادي والعشرين.
MongoDB شرح المميزات:
- تحتوي كل قاعدة بيانات على مجموعات، تحتوي بدورها على مستندات. قد يختلف كل مستند عن الآخر، حيث يختلف عدد الحقول فيه. كما قد يختلف حجم ومحتوى كل مستند عن الآخر.
- تتوافق بنية المستند بشكل أكبر مع كيفية قيام المطورين ببناء فئاتهم وكائناتهم بلغات البرمجة الخاصة بهم. سيقول المطورون غالبًا أن فئاتهم ليست صفوفًا وأعمدة، ولكنها تمتلك بنية واضحة تحتوي على أزواج قيمة المفتاح.
- الصفوف (أو المستندات كما تم استدعاؤها في MongoDBلا تحتاج هذه الحقول إلى تعريف مخطط مسبقًا، بل يمكن إنشاؤها أثناء التشغيل.
- نموذج البيانات المتاحة داخل MongoDB يتيح لك تمثيل العلاقات الهرمية، وتخزين المصفوفات، وتخزين الهياكل الأكثر تعقيدًا بسهولة أكبر.
- التوسعة - و MongoDB تتميز البيئات بقابلية توسع كبيرة. وقد قامت الشركات في جميع أنحاء العالم بتحديد مجموعات، حيث يقوم بعضها بتشغيل أكثر من 100 عقدة مع ملايين المستندات داخل قاعدة البيانات.
MongoDB مثال
يوضح المثال أدناه كيف يمكن تصميم مستند MongoDB.
- تتم إضافة الحقل _id بواسطة MongoDB لتحديد المستند في المجموعة بشكل فريد.
- ما يمكن ملاحظته هو أن بيانات الطلب (معرف الطلب، والمنتج، والكمية)، والتي تُخزن عادةً في جدول منفصل في قواعد البيانات العلائقية، تُخزن فعليًا كمستند مضمن في المجموعة نفسها. MongoDBهذا أحد الاختلافات الرئيسية في كيفية نمذجة البيانات في MongoDB.
المكونات الرئيسية لـ MongoDB Architecture
فيما يلي بعض المصطلحات الشائعة المستخدمة في MongoDB:
- _ID – هذا مجال مطلوب في كل MongoDB وثيقة. يمثل الحقل _id قيمة فريدة في ملف MongoDB وثيقة. يشبه الحقل _id المفتاح الأساسي للمستند. إذا قمت بإنشاء مستند جديد بدون حقل _id، MongoDB سيتم إنشاء الحقل تلقائيًا. على سبيل المثال، إذا نظرنا إلى مثال جدول العملاء أعلاه، MongoDB سيضيف البرنامج مُعرّفًا فريدًا مكونًا من 24 رقمًا لكل مستند في المجموعة.
| _بطاقة تعريف | هوية الزبون | اسم الزبون | رقم التعريف الخاص بالطلب |
|---|---|---|---|
| 563479cc8a8a4246bd27d784 | 11 | Guru99 | 111 |
| 563479cc7a8a4246bd47d784 | 22 | تريفور سميث | 222 |
| 563479cc9a8a4246bd57d784 | 33 | نيكول | 333 |
- التشكيلات – هذه مجموعةping of MongoDB المستندات. تُعادل المجموعة الجدول الذي يتم إنشاؤه في أي نظام إدارة قواعد بيانات علائقية آخر مثل Oracle أو MS SQL. توجد المجموعة داخل قاعدة بيانات واحدة. وكما رأينا في المقدمة، لا تفرض المجموعات أي نوع من البنية.
- المؤشر – هذا مؤشر لمجموعة نتائج الاستعلام. يمكن للعملاء التكرار من خلال المؤشر لاسترداد النتائج.
- قاعدة البيانات – هذا حاوية للمجموعات، كما هو الحال في قواعد البيانات العلائقية حيث تكون حاوية للجداول. تحصل كل قاعدة بيانات على مجموعة ملفاتها الخاصة على نظام الملفات. MongoDB يمكن للخادم تخزين قواعد بيانات متعددة.
- وثيقة - سجل في أ MongoDB تُسمى المجموعة أساسًا بالمستند. ويتكون المستند بدوره من أسماء الحقول وقيمها.
- الحقل – زوج من الاسم والقيمة في المستند. يحتوي المستند على صفر أو أكثر من الحقول. تُشابه الحقول الأعمدة في قواعد البيانات العلائقية. يوضح الرسم التخطيطي التالي مثالاً على الحقول مع أزواج المفتاح والقيمة. في المثال أدناه، يُعدّ كل من CustomerID و11 أحد أزواج المفتاح والقيمة المُعرّفة في المستند.
- JSON - ويعرف هذا ب Javaسيناريو تدوين الكائنات. هذا تنسيق نص عادي يمكن قراءته من قبل البشر للتعبير عن البيانات المنظمة. يتم حاليًا دعم JSON في العديد من لغات البرمجة.
مجرد ملاحظة سريعة حول الفرق الرئيسي بين حقل _id وحقل المجموعة العادي. يُستخدم الحقل _id لتعريف المستندات الموجودة في المجموعة بشكل فريد ويتم إضافته تلقائيًا بواسطة MongoDB عندما يتم إنشاء المجموعة.
لماذا الاستخدام MongoDB?
فيما يلي بعض الأسباب التي تدفع المرء إلى البدء في استخدام MongoDB:
- موجه المستند - حيث MongoDB هو NoSQL نوع قاعدة البيانات، فبدلاً من وجود البيانات بتنسيق نوع علائقي، تقوم بتخزين البيانات في المستندات. هذا يجعل MongoDB يتميز بالمرونة العالية والقدرة على التكيف مع مواقف ومتطلبات عالم الأعمال الحقيقي.
- استعلامات مخصصة - MongoDB يدعم البحث حسب الحقل، واستعلامات النطاق، وعمليات البحث باستخدام التعبيرات العادية. يمكن إجراء الاستعلامات لإرجاع حقول محددة داخل المستندات.
- الفهرسة – يمكن إنشاء فهارس لتحسين أداء عمليات البحث داخل MongoDB. أي مجال في MongoDB يمكن فهرسة الوثيقة.
- النسخ المتماثل - MongoDB يمكن توفير توافر عالٍ باستخدام مجموعات النسخ المتماثلة. تتكون مجموعة النسخ المتماثلة من اثنين أو أكثر MongoDB يمكن لكل عضو في مجموعة النسخ المتماثلة أن يعمل كنسخة متماثلة أساسية أو ثانوية في أي وقت. النسخة المتماثلة الأساسية هي الخادم الرئيسي الذي يتفاعل مع العميل وينفذ جميع عمليات القراءة والكتابة. تحتفظ النسخ المتماثلة الثانوية بنسخة من بيانات النسخة الأساسية باستخدام آلية النسخ المتماثل المدمجة. عند تعطل النسخة الأساسية، تنتقل مجموعة النسخ المتماثلة تلقائيًا إلى النسخة الثانوية، التي تصبح بدورها الخادم الأساسي.
- تحميل موازنة - MongoDB يستخدم مفهوم التجزئة للقياس أفقيًا عن طريق تقسيم البيانات عبر عدة MongoDB الحالات. MongoDB يمكن تشغيله على خوادم متعددة، مما يؤدي إلى موازنة التحميل و/أو تكرار البيانات للحفاظ على تشغيل النظام في حالة فشل الأجهزة.
نمذجة البيانات في MongoDB
كما رأينا في قسم المقدمة، فإن البيانات في MongoDB لديه مخطط مرن. على عكس في SQL قواعد البيانات، حيث يجب أن يكون لديك مخطط جدول معلن قبل إدراج البيانات، MongoDBلا تفرض مجموعات 's بنية المستند. هذا النوع من المرونة هو ما يصنع MongoDB قوي جدا.
عند نمذجة البيانات في MongoDBضع الأمور التالية في اعتبارك:
- ما هي احتياجات التطبيق؟ - انظر إلى احتياجات العمل للتطبيق وحدد البيانات ونوعها المطلوبة. بناءً على ذلك، تأكد من تحديد هيكل المستند وفقًا لذلك.
- ما هي أنماط استرجاع البيانات؟ – إذا كنت تتوقع استخدامًا مكثفًا للاستعلامات، ففكر في استخدام الفهارس في نموذج البيانات الخاص بك لتحسين كفاءة الاستعلامات.
- هل تحدث عمليات إدخال وتحديث وحذف متكررة في قاعدة البيانات؟ أعد النظر في استخدام الفهارس أو قم بتضمين التجزئة إذا لزم الأمر في تصميم نموذج البيانات الخاص بك لتحسين كفاءة نظامك بشكل عام MongoDB بيئة.
الفرق بين MongoDB ونظام إدارة قواعد البيانات الراديوية
فيما يلي بعض الاختلافات الرئيسية بين المصطلحات MongoDB وقواعد البيانات العلائقية:
| RDBMS | MongoDB | فرق |
|---|---|---|
| طاولات | التشكيلات | In RDBMSيحتوي الجدول على الأعمدة والصفوف المستخدمة لتخزين البيانات، بينما في MongoDB يُعرف هذا الهيكل نفسه باسم المجموعة. تحتوي المجموعة على مستندات تحتوي بدورها على حقول، وهذه الحقول عبارة عن أزواج مفتاح-قيمة. |
| صف | وثيقة | في RDBMS، يمثل الصف عنصر بيانات واحد منظم ضمنيًا في الجدول. في MongoDB، يتم تخزين البيانات في المستندات. |
| عمود | الحقل | في RDBMS، يشير العمود إلى مجموعة من قيم البيانات. هذه في MongoDB تُعرف باسم الحقول. |
| ينضم | المستندات المضمنة | في أنظمة إدارة قواعد البيانات العلائقية، تُوزّع البيانات أحيانًا على جداول متعددة، ولعرض صورة كاملة لجميع البيانات، يتم أحيانًا إنشاء ربط بين الجداول للحصول على البيانات. MongoDBعادةً ما تُخزَّن البيانات في مجموعة واحدة، ولكنها تُفصل باستخدام مستندات مضمنة. لذلك لا يوجد مفهوم للربط في MongoDB. |
وبغض النظر عن اختلاف المصطلحات، تظهر أدناه بعض الاختلافات الأخرى:
- قواعد البيانات العلائقية معروفة بفرض تكامل البيانات. وهذا ليس شرطا صريحا في MongoDB.
- يتطلب RDBMS أن تكون البيانات تطبيع أولاً، لمنع وجود سجلات يتيمة ومكررة. ثم يتطلب تطبيع البيانات المزيد من الجداول، مما يؤدي إلى المزيد من عمليات ربط الجداول، وبالتالي الحاجة إلى المزيد من المفاتيح والفهارس. مع نمو قواعد البيانات، قد يصبح الأداء مشكلة. مرة أخرى، هذا ليس شرطًا صريحًا في MongoDB. MongoDB مرن ولا يحتاج إلى تسوية البيانات أولاً.


