Mongodb چیست؟ معرفی، معماری، ویژگیها و مثال
Mongodb یک پایگاه داده غیررابطه ای است که جهت ذخیره سازی دادههایی با حجم بالا استفاده می-شود. Mongodb یک پایگاه داده است که در اواسط سال 2009 ظهور کرد. این پایگاه داده در گروه پایگاه داده غیررابطه ای قرار دارد
سلام به همه دوستان .
در راستای شروع آموزش های سایت ما که در زمینه NodeJs ، ری اکت ، جاوااسکریپت و مونگو دی بی هست ، تصمیم گرفتم یک مقاله هم درباره این پایگاه داده بگذاریم و به امید خدا آموزش ها شروع کنیم پس با من همراه باشید تا شناخت بهتری از پایگاه داده غیر رابطه ای مونگو پیدا کنیم .
ویژگیهای Mongodb
- هر پایگاه داده شامل مجموعه ای است که به نوبه خود شامل اسناد میباشد. هر سند میتواند به همراه تعداد فیلدهای مختلف متفاوت باشد. اندازه و محتوای هر سند میتواند متفاوت از یکدیگر باشد.
- ساختار این سند بیشتر با نحوه ساخت کلاسها و اشیاء توسط توسعه دهندگان در زبانهای برنامه نویسی مربوط به خودشان همخوانی دارد. اغلب توسعه دهندگان خواهند گفت که کلاسهای آنها ردیفها و ستونها نیستند، اما دارای ساختار واضحی به همراه جفتهای کلید مقدار هستند.
- همانطور که در پایگاههای داده نو اس کیو ال مشاهده شد، ردیفها ( یا اسناد همانگونه که در Mongodb نامیده میشوند ) نیاز به داشتن یک شمای از پیش تعریف شده ندارند. در عوض، فیلدها میتوانند در زمان اجرا ایجاد شوند.
- مدل داده های موجود در Mongodb این امکان را به شما میدهد تا روابط سلسه مراتبی را نشان دهید، آرایه ها و دیگر ساختارهای پیچیده تر را راحت تر ذخیره کنید.
مقیاس پذیری یا Scalability
محیطهای Mongodb بسیار مقیاس پذیر هستند. شرکت ها در سرتاسر جهان خوشه هایی را تعریف کرده اند که برخی از آنها 100 گره با حدود میلیونها اسناد در پایگاه داده دارند.
مولفه های کلیدی معماری مانگو دی بی
id_ :
این فیلدی است که در هر سند Mongodb مورد نیاز است. فیلد id_ یک مقدار منحصر بفرد را در سند Mongodb نشان میدهد. فیلد id_ همانند کلید اولیه ی سند است. اگر شما یک سند جدید را بدون فیلد id_ ایجاد کنید، Mongodb بطور خودکار این فیلد را خواهد ساخت. بنابراین بعنوان مثال، اگر به مثال جدول مشتری بالا نگاه کنیم، Mongodb یک شناسه خاص 24 رقمی را به هر سند در مجموعه اضافه خواهد کرد.

مجموعه یا Collection :
مجموعه یک گروه بندی از اسناد Mongodb است. یک مجموعه معادل یک جدول است که در هر پایگاه داده رابطه ای دیگر مانند Oracle و MSSQL ایجاد میشود. یک مجموعه درون یک پایگاه داده موجود است. همانطور که از مقدمه دریافت میشود مجموعهها هیچ گونه ساختاری را اعمال نمیکنند.
اشاره گر یا Cursor :
این یک نشانگر برای مجموعه نتایج یک پرس و جو است. مشتریان میتوانند از طریق اشاره گر بازیابی داده ها را انجام دهند.
پایگاه داده یا Database :
این یک محفظه برای مجموعه ها است مانند RDBMS که در آن یک محفظه برای جداول وجود دارد. هر پایگاه داده مجموعه فایلهای خود را بر روی سیستم فایل ارائه میدهد. یک سرور مانگو دی دی میتواند چندین پایگاه داده را ذخیره کند.
سند یا Document :
یک رکورد در یک مجموعه Mongodb اساساً یک سند نامیده میشود. سند، به ترتیب، شامل فیلد نام و مقادیر خواهد بود.
فیلد یا Field :
یک جفت نام مقدار در یک سند. یک سند دارای صفر یا تعدادی فیلد است. فیلدها نظیر ستونها در پایگاههای داده رابطهای هستند.
نمودار زیر نمونه ای از فیلدها با جفتهای کلید مقدار را نشان میدهد. بنابراین در مثال زیر CustomerID و 11 یکی از جفتهای کلید مقدار تعریف شده در سند است.

JSON :
این اصطلاح بعنوان JavaScript Object Notation شناخته میشود. این یک قالب متنی ساده و خوانا برای انسان جهت انتقال دادههای ساختاریافته است. JSON درحال حاضر در بسیاری از زبانهای برنامه نویسی پشتیبانی میشود.
تنها یک نکته حساس درمورد تفاوت بین فیلد _id و یک فیلد معمول مجموعه. فیلد _id برای شناسایی منحصر بفرد اسناد در یک مجموعه استفاده و بطور خودکار توسط Mongodb در زمانی که مجموعه ساخته میشود افزوده میشود.
چرا از Mongodb استفاده میکنیم؟
معلومه چونکه بیکاریم ؟! شوخی کردم با هم دلایلش رو بررسی میکنیم .
- سند گرا : از آنجایی که Mongodb یک نوع پایگاه داده غیررابطه ای است، بجای داشتن دادهها در قالب رابطه ای، آنها را در اسناد ذخیره میکند. این امر باعث میشود که Mongodb بسیار انعطاف پذیر و سازگار با شرایط و اامات کسب و کار دنیای واقعی باشد.
- پرس و جوهایAd hoc – Mongodb : از جست و جو براساس فیلد، جست و جوهای محدوده، و جست و جوی منظم عبارت پشتیبانی میکند. پرس و جوها میتوانند برای بازگرداندن فیلدهای خاص درون اسناد ایجاد شوند.
- شاخص گذاری : شاخصها میتوانند برای بهبود عملکرد جست و جوها در Mongodb ایجاد شوند. هر فیلد در یک سند Mongodb میتواند شاخص گذاری شود.
- همانند سازی : Mongodb میتواند قابلیت دسترسی بالا را با replicasets فراهم کند. یک replica set متشکل از دو یا چند نمونه Mongodb است. هر عضو replica set ممکن است در هر زمان در نقش یک replica اولیه یا ثانویه عمل کند. replica اولیه سرور اصلی است که با مشتری در تعامل است و تمامی عملیات خواندن/نوشتن را انجام میدهد. Replicaهای ثانویه یک نسخه از داده های replica اولیه را با استفاده از همانند سازی درونی نگهداری میکنند. هنگامی که یک replica اولیه از کار می افتد، replicaset بطور خودکار با replica ثانویه جا به جا و سپس تبدیل به سرور اصلی میشود.
- تعادل بارگزاری : Mongodb از مفهوم خرد کردن به اجزاء کوچکتر برای اندازه گیری افقی با جداسازی داده ها در چندین نمونه از Mongodb استفاده میکند. Mongodb می تواند برروی چندین سرور اجرا شود، بارگذاری را متعادل سازی کند و یا از داده ها برای بالا نگه داشتن سیستم و اجرا در صورت مشکل در نرم افزار نسخه برداری کند
شما میتواندی ادامه مقاله معرفی مانوگو دی بی را در سایت نیلوتک مطالعه بفرمائید
برنامه نویسی RealTime در React و Nodejs توسط Socket.io
یک , ,داده ,پایگاه ,سند ,میشود ,پایگاه داده , ,که در ,است که ,در یک ,زبانهای برنامه نویسی ,معرفی، معماری، ویژگیها ,چیست؟ معرفی، معماری، ,mongodb چیست؟ معرفی،
درباره این سایت