معرفی MongoDB
پنجشنبه 19 شهریور 1394در این مقاله، قصد داریم MongoDB را که یکی از محبوب ترین دیتابیس های بدون SQL نوشته شده در ++C است، معرفی کنیم.
MongoDB از فوریه سال 2015، MongoDB به عنوان چهارمین سیستم مدیریت دیتابیس محبوب شناخته شد. این DBMS توسط کمپانی 10gen ساخته شده که در حال حاضر به نام MongoDB Inc شناخته می شود.
MongoDB یک دیتابیس مبتنی بر Document می باشد که داده ها را با شمای داینامیک در سند متنی مانند JSON ذخیره می کند. به این معنی که می توانید رکوردهای خود را بدون نگرانی از ساختار داده ها مانند تعداد فیلدها یا نوع آن ها، ذخیره کنید. سندهای متنی MongoDB شبیه اشیای JSON هستند.
پلت فرم و زبان های مورد پشتیبانی:
MongoDB یک دیتابیس بدون SQL است که به صورت cross-platform روی سیستم عامل های مختلف مانند ویندوز، لینوکس، مک و... اجرا می شود. همچنین اغلب زبان های برنامه نویسی محبوب مانند JavaScript،Php،Java،#C و ... را پشتیبانی می کند. محیط های توسعه نرم افزار نیز به همین صورت می باشد.
مقایسه شمای SQL DB با Mongo DB:
- در SQL، ما Table داریم اما در MongoDB از Collection استفاده می شود.
- به جای Row(ردیف یا رکورد) در mongoDB از Document استفاده می شود.
- جایگزین Column (ستون) در MongoDB مفهوم Field می باشد.
- به جای join در MongoDB از Embedded Documents(سندهای متنی تعبیه شده) و یا link ها استفاده می شود.
- فیلد Id به طور پیش فرض در MongoDB به عنوان کلید اصلی تعریف شده است.
چرا MongoDB؟
همانطور که می دانید، RDBMS (سیستم های مدیرت دیتابیس رابطه ای) داده ها را به شکل جدول ذخیره می کنند و با استفاده از SQL (زبان استاندارد کوئری) به داده ها دسترسی پیدا می کنند. همچنین RDBMS، دیتابیس های از پیش تعریف شده با توجه به نیازهای معمول کاربران دارد و همین طور مجموعه قوانینی برای ارتباط بین فیلدهای جداول دارد.
اما MongoDB برخلاف SQL، داده ها را در سند متنی ذخیره می کند. می توانید به راحتی ساختار رکوردها را که در MongoDB به عنوان Document معرفی شده اند، با اضافه کردن یک فیلد جدید یا حذف یکی از فیلدهای موجود، تغییر دهید. این قابلیت، به شما این امکان را می دهد که رابطه های سلسله مراتبی را ارائه دهید، آرایه و یا هر ساختار پیچیده دیگری را ذخیره کنید. MongoDB کارایی بالا، دسترس پذیری، مقیاس پذیری، قابلیت تکرارهای سریع و auto-sharding را فراهم می کند.
- C#.net
- 3k بازدید
- 2 تشکر