پایگاه داده مونگو دی بی (MongoDB) چیست؟ چه ویژگی ها و مزایا و معایبی دارد؟

پایگاه داده مونگو دی بی (MongoDB) چیست؟

پایگاه داده مونگو دی بی (MongoDB) یک پایگاه داده سندگرا و nosql است که برای ذخیره سازی داده های حجیم به کار میره. در مونگو دی بی به جای استفاده از جداول و ردیف ها که در دیتابیس های رابطه ای به کار میرفتند، از collection و document استفاده میشه. هر document هم شامل یک دوتایی کلید – مقدار (key-value) هست که در واقع ابتدایی ترین و کوچک ترین واحد داده در مونگو دی بی به حساب میاد. هر collection از تعدادی document و تابع ساخته میشه که معادل با همان جداول پایگاه داده های رابطه ای هست.

پایگاه داده MongoDB چه ویژگی های مهمی دارد؟

· هر دیتابیس در مونگو دی بی تعدادی collection داره که خود اون هم تعدادی document رو شامل میشه. هر document میتونه از نظر تعداد فیلدهایی که درون خودش جا میده، با document دیگه متفاوت باشه. پس اندازه و محتوای درون هر document لزوما با بقیه document ها مشابه نیست.

· در پایگاه داده مونگو دی بی ردیف ها یا همان document ها نیازی نیست ساختار مشخص و از پیش تعریف شده ای داشته باشند. فیلدهای موجود در هر ردیف می توانند به طور نامنظم ایجاد شوند.

· مدل سازی داده در پایگاه داده مونگو دی بی این امکان رو فراهم میکنه که رابطه های سلسله مراتبی برای ذخیره آرایه ها و یا ساختارهای پیچیده تر به راحتی قابل نمایش باشه.

چرا از پایگاه داده MongoDB استفاده می کنیم؟

· همانطور که قبلا اشاره کردیم، یکی از ویژگی های بسیار مهم پایگاه داده MongoDB اینه که برخلاف پایگاه داده های رابطه ای، داده ها از ساختار مشخصی پیروی نمی کنند و در document ها ذخیره می شوند. همین باعث میشه که MongoDB در ذخیره سازی و کار با داده های واقعی کاملا انعطاف پذیر و سازگار عمل کنه.

· در MongoDB امکان جستجو بر اساس فیلد، عبارات باقاعده و query های خاص فراهم شده و این query ها می توانند هر فیلد دلخواه را درون document ها پیدا کنند.

· عملیات indexing در پایگاه داده ها برای بهبود عملکرد جستجوی داده و یافتن داده خاص با زمان کمتر، ایجاد شده. در MongoDB تمام فیلدها قابل ایندکس شدن هستند و این موضوع مزیت خوبی برای این پایگاه داده ایجاد میکنه.

· پایگاه داده MongoDB از عملیات تکثیر (replication) پشتیبانی می کنه و دسترسی پذیری داده ها رو توسط مجموعه کپی داده در چند سرور مختلف افزایش میده. هر مجموعه کپی داده، دو یا چند نمونه از دیتابیس رو شامل میشه و میتونه به عنوان کپی اولیه یا ثانویه در نظر گرفته بشه. این کار باعث میشه پایگاه داده در مقابل از دسترس خارج شدن یک سرور مفرد، محافظت بشه. یعنی اگر یک نمونه داده به هر دلیلی دچار مشکل شد، نمونه داده بعدی میتونه جایگزین بشه.

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