بنية MongoDB: الهيكل والمصطلحات والمتطلبات والفوائد
نشرت: 2020-12-28جدول المحتويات
ملخص
لا شك أن الإنترنت هو العمود الفقري لاقتصاد العالم الحديث. اليوم ، ما يقرب من 4.7 مليار شخص في العالم يستخدمون المنصة الافتراضية كل يوم ، باستخدام التطبيقات القائمة على الإنترنت للأخبار ، والتسوق لشراء الملابس ، وطلب الطعام ، والاستماع إلى الموسيقى ، والتنقل من المكتب وإليه ، والمزيد.
مع وجود هذا العدد الهائل من المستخدمين الذين يقدمون مساهمات رقمية يوميًا ، فلا عجب أن كميات huMONGOus من البيانات غير المهيكلة يتم إنشاؤها في الفضاء الإلكتروني كل يوم. تعرف على المزيد حول نطاق MongoDB المستقبلي.
أدى ذلك إلى ظهور حاجة ملحة إلى نموذج قاعدة بيانات جديد يمكنه تخزين تطبيقات "البيانات الضخمة" (كما أصبحت تُعرف) وخدمتها ودعمها على مدار الساعة طوال أيام الأسبوع ، دون تعطل.
أدخل NoSQL.
ظهور قواعد بيانات NoSQL
NoSQL ، المعروفة باسم "ليس فقط SQL" ، هي بديل لقواعد بيانات SQL المقيدة بمخططات الجداول الثابتة الخاصة بها. من خلال كونها مرنة للغاية ، تتغلب NoSQL على هذا العيب الهيكلي لقواعد بيانات SQL وهي مجهزة للتوسع أفقيًا. تم تصميم قواعد بيانات NoSQL لتعزيز إنتاجية المطورين ، وتسليحهم بنموذج بيانات بسيط وأنيق لعمليات معالجة البيانات المعقدة وإدارتها.
على نطاق واسع ، جاءت نماذج تخزين البيانات هذه في 4 أنواع - المستند ، والقيمة الرئيسية ، والعمود العريض ، والرسم البياني. سنركز على قواعد بيانات المستندات وبنية MongoDB في هذه المدونة (قاعدة بيانات NoSQL الرائدة)

هيكل MongoDB
المصدر: وثائق MongoDB
تتبع بنية MongoDB نموذج بيانات مرنًا. على عكس RDBMS ، الذي يفرض إعلانًا عن المخطط قبل إدخال البيانات ، لا يفرض MongoDB بنية مستند ثابتة.
المصطلحات
مجالات
زوج المفتاح والقيمة في المستند ، وهو نظير عمود في قواعد البيانات العلائقية
وثيقة
هذا هو ما يعادل سجل في RDBMS
المجموعات
مجموعة من الوثائق تسمى مجموعة. هذا مشابه لجدول RDBMS
الاختلافات بين RDBMS و MongoDB Architecture
ينضم
في RDBMS ، يمكن توزيع البيانات بين جداول متعددة وضمها معًا للوصول إليها في طريقة عرض واحدة. عملية JOIN هذه غير ممكنة في MongoDB. بدلاً من ذلك ، يتم تخزين جميع البيانات في مجموعة واحدة ولكن يمكن فصلها عن طريق المستندات المتداخلة أو المضمنة
تطبيع
تضمن RDBMS تطبيع البيانات لتجنب التكرارات والسجلات المعزولة. تلغي مرونة MongoDB الحاجة إلى التطبيع
هيكل
يستخدم RDBS في الغالب في القطاع المصرفي ، حيث يُعرف هيكل قاعدة البيانات الدقيق مسبقًا. يدعم MongoDB كميات هائلة من البيانات غير المهيكلة ويمكن توسيعه عبر تطبيقات السحابة والجوال والويب والبيانات الضخمة.

الحاجة والفوائد من العمارة MongoDB
يمكن لمعمارية MongoDB التعامل مع التغييرات الهيكلية أثناء التنقل ، وهي حاجة الساعة. هذا مثالي للسيناريوهات عندما لا يكون لديك رؤية لهيكل قاعدة البيانات مسبقًا.
فيما يلي بعض فوائده الرئيسية
مستند إلى المستند
يمكنه استيعاب تغييرات تدفق البيانات ديناميكيًا ، والتكيف مع متطلبات العمل المتغيرة في الوقت الفعلي
استعلامات مخصصة - لغة استعلام قوية يمكنها إرجاع حقول محددة. كما أنه يسمح بقدرات بحث عالية الدقة. (مجال الحكمة ، والحكمة ، والتعبيرات الشائعة ، وأكثر من ذلك)
الفهرسة
يمكنك فهرسة أي حقل في المستند لتسريع عملية استرداد البيانات.
دعونا الآن نلقي نظرة عميقة على بنية MongoDB .
لكن قبل أن نفعل ذلك ، نحتاج إلى فهم نظرية CAP.
نظرية CAP
يشير CAP إلى ثلاثية من الاتساق والتوافر وتحمل التقسيم.
دعونا نلقي نظرة على ما يعنيه كل مصطلح في هذا السياق
التناسق
إذا قمت بكتابة البيانات في قاعدة بيانات موزعة ، فيجب أن تكون قادرًا على الوصول إلى نفس البيانات من أي عقدة في النظام في أي وقت. يتعلق الأمر بالحفاظ على سلامة البيانات المكتوبة.
التوفر
هذا يتعلق بتقليل وقت تعطل النظام. يجب أن تحدث عمليات القراءة / الكتابة على أي جهاز في المجموعة ، دون فشل.
التسامح التقسيم أو التسامح مع الخطأ
يشير إلى قدرة النظام على الاستمرار في العمل بسلاسة حتى في حالة قسم الشبكة ، أي أن أجزاء مختلفة من الكتلة يجب أن تكون قادرة على التحدث مع بعضها البعض والمزامنة بشكل فعال.
تنص نظرية CAP على أن النظام الموزع يجب أن يكون متسامحًا مع التقسيم. لا يمكن لأي أقسام شبكة أن تؤدي إلى تعطل النظام بأكمله.
بمعنى آخر ، يمكنك فقط ضمان معلمة واحدة من "التناسق" و "التوفر" في نظام موزع ، والأخرى هي Partition Tolerance.
يؤدي هذا إلى ظهور مثلث مثل هذا:
المصدر: Data Science Pedia
تختار MongoDB دائمًا الثبات على التوفر كلما كان هناك قسم في النظام (CP). يمنع جميع عمليات الكتابة حتى يتمكن من ضمان التنفيذ الدقيق لتلك الكتابة.
العمارة MongoDB
تستخدم MongoDB البنية الرئيسية المفردة مما يعني أن هناك آلة أساسية تتولى مسؤولية جميع عمليات الكتابة من جانب العميل. تشكل جميع المثيلات الأخرى التي تضيفها لاحقًا إلى المجموعة العقد الثانوية ، والتي عادةً ما تتعامل مع جميع عمليات القراءة.
هذه هي في الأساس نسخ احتياطية من الخادم الأساسي باعتبارها آمنة من الفشل ضد التعطل الأساسي.
يتم تجميع كل هذه الخوادم في مجموعات النسخ المتماثلة. يمكن أن يكون لديك مجموعات متماثلة متعددة ، لكل منها خوادمها الأساسية والثانوية.
المصدر: وثائق MongoDB
في حالة تعطل الأساسي ، يختار النظام أساسيًا جديدًا من جميع العقد الثانوية. لكن هذا يحدث بشكل تعسفي ، اعتمادًا على المكان الذي تحصل فيه على أسرع استجابات ping من جميع الأنظمة. يجب أن يكون لديك عدد فردي من الخوادم في مجموعتك (3 كحد أدنى) بحيث يمكن انتخاب أولية بأغلبية.
إذا كنت لا ترغب في إنفاق الأموال على ثلاثة خوادم ، فيمكنك تعيين عقدة "Arbiter" وظيفتها الوحيدة هي التصويت على انتخاب الأساسي.
التشرذم
تتيح لك المشاركة في MongoDB توزيع بياناتك الضخمة عبر عدة قواعد بيانات.

المصدر: وثائق MongoDB
لديك تطبيق به ملايين المستخدمين. تتيح لك المشاركة تقسيم هؤلاء المستخدمين (استنادًا إلى فهرس فريد مثل معرف المستخدم) إلى مجموعات نسخ متماثلة مختلفة. باستخدام عملية تسمى mongoS ، يتحدث خادم التطبيق إلى خوادم التكوين (على وجه التحديد 3) لفهم أي "شارد" يحتوي على البيانات التي يبحث عنها. تدير mongoS عملية Load Balancer في الخلفية لتوزيع الحمل تلقائيًا (في هذه الحالة ، عدد المستخدمين) بالتساوي بين جميع القطع.
خاتمة
إذا كنت تريد معرفة المزيد عن MongoDB وعمليات قاعدة البيانات ، تحقق من أفكار مشروع MongoDB. يمكنك استكشاف دبلوم PG في علوم البيانات من upGrad. دورة مدتها 12 شهرًا مصممة للمهنيين العاملين ، وستحصل على استشارات مهنية شاملة وفرص عمل ، إلى جانب حالة خريجي IIIT Bangalore المرموقة.
نأمل أن تساعدك هذه المقالة في فهم كيفية عمل MongoDB Architecture وكيف يعمل النظام. لمعرفة المزيد ، يرجى إلقاء نظرة على مدوناتنا الأخرى.
تعلم دورات تطوير البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
