MongoDB چیست؟

MongoDB چیست؟
توسط

MongoDB یک پایگاه داده مبتنی بر اسناد منبع باز، بین پلتفرمی و توزیع شده است که برای سهولت توسعه و مقیاس بندی برنامه طراحی شده است.

نام MongoDB از کلمه "Humongous" گرفته شده است که به معنای بزرگ، عظیم است. پایگاه داده MongoDB برای ذخیره حجم عظیمی از داده ها و همچنین عملکرد سریع ساخته شده است.

MongoDB یک سیستم مدیریت پایگاه داده رابطه ای (RDBMS) نیست. به آن پایگاه داده "NoSQL" می گویند. برخلاف پایگاه‌های داده مبتنی بر SQL است که در آن داده‌ها را در طرحواره‌ها و جداولی که هر جدول دارای ساختار ثابتی است، عادی نمی‌کند. در عوض، داده ها را در مجموعه ها به عنوان اسناد مبتنی بر JSON ذخیره می کند و طرحواره ها را اجرا نمی کند. مانند دیگر پایگاه‌های داده SQL (RDBMS)، جداول، ردیف‌ها و ستون‌ها را ندارد.

در پایگاه داده RDBMS، یک جدول می تواند چندین ردیف و ستون داشته باشد. به طور مشابه در MongoDB، یک مجموعه می تواند چندین سند داشته باشد که معادل ردیف ها هستند. هر سند دارای چندین "فیلد" است که معادل ستون ها هستند. اسناد موجود در یک مجموعه واحد می توانند زمینه های مختلفی داشته باشند.

در زیر نمونه ای از سند مبتنی بر JSON است.

mongo 1

مدل سازی داده ها در MongoDB

همانطور که از بخش مقدمه دیدیم، داده ها در MongoDB دارای یک طرح انعطاف پذیر هستند. برخلاف پایگاه‌های داده SQL، که شما باید طرح جدول را قبل از درج داده‌ها اعلام کنید، مجموعه‌های MongoDB ساختار سند را اجرا نمی‌کنند. این نوع انعطاف‌پذیری چیزی است که MongoDB را بسیار قدرتمند می‌کند.

هنگام مدل سازی داده ها در Mongo، موارد زیر را در نظر داشته باشید

نیازهای برنامه چیست - به نیازهای تجاری برنامه نگاه کنید و ببینید چه داده ها و نوع داده های مورد نیاز برای برنامه کاربردی است. بر این اساس، اطمینان حاصل کنید که ساختار سند مطابق با آن تصمیم گیری می شود.

الگوهای بازیابی داده چیست - اگر استفاده از پرس و جوی سنگین را پیش بینی می کنید، استفاده از شاخص ها را در مدل داده خود برای بهبود کارایی پرس و جوها در نظر بگیرید.

آیا درج، به روز رسانی و حذف مکرر در پایگاه داده اتفاق می افتد؟ برای بهبود کارایی محیط کلی MongoDB خود، در استفاده از ایندکس ها تجدید نظر کنید یا در صورت نیاز، شاردینگ را در طراحی مدل سازی داده خود بگنجانید.

مزایا

  • MongoDB داده ها را به عنوان سند مبتنی بر JSON ذخیره می کند که طرحواره را اجرا نمی کند. به ما اجازه می دهد تا داده های سلسله مراتبی را در یک سند ذخیره کنیم. این امر ذخیره و بازیابی داده ها را به شیوه ای کارآمد آسان می کند.
  • از آنجایی که یک پایگاه داده مبتنی بر سند است، به آسانی می توان آن را برحسب نیاز افزایش یا کاهش داد.
  • همچنین به ما اجازه می دهد تا داده ها را در چندین سرور تقسیم کنیم.
  • ویژگی های غنی مانند نمایه سازی، تجمع، ذخیره فایل و غیره را ارائه می دهد.
  • با داده های عظیم سریع عمل می کند.
  • درایورهایی را برای ذخیره و واکشی داده ها از برنامه های مختلف توسعه یافته در فناوری های مختلف مانند C#، Java، Python، Node.js و غیره فراهم می کند.
  • ابزارهایی را برای مدیریت پایگاه داده های MongoDB فراهم می کند.

پست های توصیه شده