MongoDB

MongoDB
توسط

MongoDB چیست؟

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

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

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

جدول زیر ارتباط بین اصطلاحات MongoDB و RDBMS را فهرست می کند.

mongo 1

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

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

مزایای MongoDB

MongoDB داده ها را به عنوان سند مبتنی بر JSON ذخیره می کند که طرحواره را اجرا نمی کند. به ما اجازه می دهد تا داده های سلسله مراتبی را در یک سند ذخیره کنیم. این امر ذخیره و بازیابی داده ها را به شیوه ای کارآمد آسان می کند.

از آنجایی که یک پایگاه داده مبتنی بر سند است، به آسانی می توان آن را برحسب نیاز افزایش یا کاهش داد. MongoDB همچنین به ما اجازه می دهد تا داده ها را در چندین سرور تقسیم کنیم.

MongoDB ویژگی های غنی مانند نمایه سازی، تجمع، ذخیره فایل و غیره را ارائه می دهد.

MongoDB با داده های عظیم سریع عمل می کند.

MongoDB درایورهایی را برای ذخیره و واکشی داده ها از برنامه های مختلف توسعه یافته در فناوری های مختلف مانند C#، Java، Python، Node.js و غیره فراهم می کند.

MongoDB ابزارهایی را برای مدیریت پایگاه داده های MongoDB فراهم می کند.

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

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

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

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


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