هیچ دوره ای در سبد خرید شما وجود ندارد
MongoDb چیست؟ چه کاربردی دارد؟
MongoDb یک پایگاه داده ی NoSQL است که در سال ۲۰۰۷ توسط شرکت gen استارت توسعه ی آن زده شد و در سال ۲۰۱۰ اولین نسخه ی آن وارد بازار شد. این پایگاه داده که میتواند بر روی بسیاری از سیستم عامل ها نصب شود ( آموزش نصب MongoDB )به دلیل داشتن قابلیت بالا برای ذخبره ی دادهها با حجم زیاد و سرعت در بازیابی آنها توانست به سرعت جایگاه ویژه ای بین برنامه نویسان پیدا کند.عدم نیاز به شمای اولیه ی دادها و امکان یادگیری راحت و سریع از جمله دلایل دیگری برای محبوبیت این پایگاه داده شد. در این پایگاه داده غیر SQL ای به جای استفاده از جداول برای ذخیره ی داده ها(مثل ذخیره داده در پایگاه دادههای سنتی) به راحتی میتوان با ایجاد داکیومنت ها و کالکشن ها دادههای لازم را در قالب Bson (قالبی شبیه Json ) ذخیره و بازیابی کرد.
چرا از MongoDb استفاده کنیم؟
اگرچه که انتخاب بستر مناسب برای ذخیره ی اطلاعات یک پروژه به عوامل گوناگونی وابسته است اما در اینجا میخواهیم به چند دلیل برای استفاده از پایگاه داده ی MongoDb اشاره کنیم:
- Document-oriented: از آنجا که MongoDB یک پایگاه داده از نوع NoSQL است ، به جای داشتن داده در قالب نوع رابطه ای ، داده ها را در اسناد ذخیره می کند. این باعث می شود MongoDB بسیار انعطاف پذیر و سازگار با شرایط واقعی دنیای تجارت باشد.
- Ad hoc queries: پایگاه داده MongoDb از جستجو بر اساس فیلد ، جستجوی دامنه و جستجوی منظم عبارت پشتیبانی می کند.
- Indexing: برای بهبود عملکرد جستجوها در MongoDB می توان شاخص ها را ایجاد کرد. هر فیلدی در یک سند MongoDB می تواند نمایه شود.
- Replication: تکثیر، افزونگی را فراهم میآورد و دسترسی پذیری دادهها را توسط کپی داده در چندین سرور مختلف افزایش میدهد.این کار، یک پایگاه داده را در مقابل از دسترس خارج شدن یک سرور مفرد، محافظت میکند
- Load balancing: مانگو دی بی از مفهوم sharding برای مقیاس گذاری افقی با تقسیم داده ها در چندین نمونه MongoDB استفاده می کند. MongoDB می تواند از طریق چندین سرور اجرا شود ، بار را متعادل کرده و یا داده های تکثیر را ایجاد کند تا در صورت خرابی سخت افزار سیستم را فعال نگه دارد.
برخی از امکانات فوق در دوره قبل معرفی شدند. همچنین در دوره گذشته با مفاهیم پایه ، سینتکس های پایه و بطور کلی با نحوه ی کار کردن با این پایگاه داده آشنا شدیم. در این فصل قصد داریم به مباحث پیشرفته و کاربردی تر در حوزه ی MongoDB بپردازیم. اگر چه برای شروع کار و انجام پروژه های خود، می توانید از دوره های فصل قبل استفاده کنید، اما برای اینکه یک گام از بقیه جلوتر باشید و در حوزه ی کار با پایگاه داده ی MongoDB بتوانید پیشرفت کنید، به شما پیشنهاد می کنیم آموزش های این دوره را دنبال بفرمایید. برای مشاهده آموزش کاربردی MongoDb اینجا کلیک کنید
این دوره برای چه کسانی مناسب است؟
همانطور که در دوره قبل اشاره شد، این دوره برای تمام عزیزانی که متناسب با کسب و کار خود، پایگاه داده ی MongoDB را انتخاب کرده و قصد دارند متخصص پایگاه داده های NoSQL به خصوص MongoDB شوند و همچنین برای کسانی که روزانه داده های بسیاری را از منابع مختلف دریافت کرده و نیاز به یک پایگاه داده قابل اطمینان برای ذخیره ی آنها داشته و به همین منظور MongoDB را انتخاب کرده اند، مناسب است.
ضمنا این دوره برای کسانی که از قبل با مفاهیم پایگاه داده های NoSQL و پایگاه داده ی MongoDB آشنایی داشته و یا دوره ی آموزش کاربردی MongoDB در Python را در سایت دانشجویار دنبال کرده و کار با این پایگاه داده را تجربه کرده اند، مناسب است. کافی است برای فصل جدید آموزش ها، تمام سینتکس های پایه ی MongoDb و طرز کار با آن را آموخته باشید تا در این دوره نهایت استفاده را ببرید.
سرفصل آموزش MongoDB پیشرفته و عملی:
- Replication در MongoDB
- روابط در MongoDB
- ارجاعات پایگاه داده در MongoDB
- کوئری های تحت پوشش در MongoDB
- تجزیه و تحلیل کوئری ها در MongoDB
- عملیات اتمی در MongoDB
- فهرست سازی پیشرفته در MongoDB
- محدودیت های فهرست گذاری در MongoDB
- ObjectId در MongoDB
- کاهش نقشه در MongoDB
- جستجوی متن در MongoDB
- عبارات منظم در MongoDB
- GridFS در MongoDB
- مجموعه های محدود شده در MongoDB
- ترتیب افزایش خودکار در MongoDB
ویژگی های پایگاه داده MongoDb
ویژگیهای پایگاه داده MongoDB عبارتند از:
مقیاس پذیری افقی
یکی از ویژگیهای کلیدی MongoDB، مقیاسپذیری افقی است که به کمک شاردینگ (Sharding) انجام میشود. شاردینگ فرآیندی است که دادهها را به صورت خودکار در چندین سرور تقسیم میکند تا حجم کار بین سرورهای مختلف توزیع شود و عملکرد بهبود یابد.
مدل دادهی Document-Oriented
MongoDB به جای استفاده از جداول و ردیفها (مانند پایگاه دادههای رابطهای)، از مدل دادهای مبتنی بر Document استفاده میکند. این Documentها به صورت JSON-like ذخیره میشوند که به آنها BSON (Binary JSON) نیز گفته میشود. این امر باعث میشود تا دادهها بسیار انعطافپذیر و بدون نیاز به تعریف اسکیمای سخت و غیرقابل تغییر باشند.
پشتیبانی از عملیات ACID در سطح Document
MongoDB از نسخه 4.0 به بعد از تراکنشهای ACID پشتیبانی میکند، که امکان انجام عملیاتهای پیچیده و مطمئن در سطح Document را فراهم میکند. این امر باعث میشود که بتوانید عملیاتهایی مانند درج، بروزرسانی و حذف را به صورت ایمن و بدون از دست رفتن داده انجام دهید.
پشتیبانی از Replication و High Availability
MongoDB با استفاده از Replica Sets از تکرار دادهها و حفظ دسترسپذیری بالا پشتیبانی میکند. Replica Set مجموعهای از MongoDB instances است که دادهها را تکرار میکنند و در صورت خرابی سرور اصلی، یکی از سرورهای ثانویه به طور خودکار نقش اصلی را به عهده میگیرد.
قابلیت توسعه و ادغام آسان
MongoDB به راحتی با فریمورکها و زبانهای برنامهنویسی مختلف از جمله Node.js، Python، Java، و غیره ادغام میشود. همچنین ابزارهای متنوعی برای مدیریت و توسعه MongoDB وجود دارد که این پایگاه داده را به گزینهای مناسب برای پروژههای مدرن تبدیل میکند.
پشتیبانی از کوئریهای قدرتمند
MongoDB امکانات بسیار پیشرفتهای برای انجام کوئریهای پیچیده و جستجوهای پویا ارائه میدهد. این شامل پشتیبانی از فیلترها، توابع تجمعی، و اپراتورهای مختلف برای جستجو در Documentها میشود.
raminaminnia
با سلام و عرض خسته نباشید
متاسفانه تو تمام ویدئو هایی که از خانم رفیع زاده دیدم صدا خیلی ضعیف است ، حتی با ولوم حداکثر اسپیکر هم صدا به سختی شنیده می شود.
hadimalek27
درود بر شما
ببخشید ، من می خواستم که بدانم چگونه می توانم محیط کد نویسی را در mongoDB را باز بکنم؟ من بر سر این گیر کررده ام و نمی توانم آموزشهای شما را پیگیری
کنم!
با سپاس از کمک خوبتان
hadimalek27
با درود بر شما، ببخشید استاد من نمی توانمدر manggoDB یک کانکشن بسازم و درینباره نمی دانم چکار باید بکنم!
از کمکتان سپاسگزارم.
hadimalek27
با درود بر استاد ارجمند، آموزش بسیار خوبیست و تنها چیزی که من کمی با آن درگیر شدم، اینست که من این برنامه را نمی توانم روی مک نصب کنم، با اینکه مک و لینوکس بسیار شبیه همدیگر هستند. من هر کاری می کنم دستورهای
brew install mongod-community را وارد می کنم و پس از آن sudo mkdir -p System/Volumes/Data/data/dbb اینرا برای ساخت فلدر که می زنم و در پی آن دستور sudo chown -R `id -un` System/Volumes/Data/data/db
را که می نویسم، هیچکدام برای من کار نمی کند و نه فلدر می سازد و نه کار دیگر که نیاز دارم را انجام می دهد. نمی دانم چرا. با سپاس از شما.
reza
سلام
من هیچی از mongo نمی دونم از این آموزش شروع کنم ؟؟ مشکل پیش نمیداد؟؟؟؟
sara.rafeizadeh مدرس دوره
درود بر شما دوست عزیز. دستورات و مفاهیم ابتدایی mongo در دوره قبل رو اول باید یادبگیرید و در ادامه این دوره رو مشاهده بفرمایید.
jdevspower
سلام، لینک مورد نظر رو لطفا اعلام کنید. من به غیر این دوره، دوره دیگه ای رو پیدا نکردم. با تشکر
علی
سلام
mongol فقط برای nodejs میشه استفاده کرد؟ با php و laravel پیشنهاد میکنید از mongol استفاده کنم؟
sara.rafeizadeh مدرس دوره
درود بر شما دوست عزیز
۱-معمولا در برنامه نویسی تحت وب ، mongodb و ماژول های آن در کنار nodejs استفاده می شوند.
حال آنکه nodejs با mongodb و mysql می تواند کار کند، برای استفاده از هرکدام از این پایگاه داده ها، ماژول مربوطه را باید دانلود کنید. mongo یکی از مشهورترین پایگاه داده هایی هست که همراه nodejs استفاده می شود.
۲- طبق صحبت های همیشگی ما در مورد انتخاب پایگاه داده مناسب، باید پارامترهای مربوط به نوع پروژه و کسب و کار خود را ارزیابی کرده و با توجه به آنها دیتابیس مناسب را انتخاب کنید پس نمی توان به طور کلی نظر داد. اما اگر مایل به استفاده از mongodb هستید با مراجعه به github میتوانید درایور مربوطه برای این کار را دانلود و استفاده کنید.
Catnoir
قسمت ششم با هفتم دقیقا یکیه
چرااااااااااااااا
پشتیبان توفیق پور
سلام وقت بخیر
بررسی شد
تشابهی بین دو قسمتی که گفتید وجود نداشت
Catnoir
با سلام.
چرا توی جلسه Relation ها از روش ارتباط Hybrid چیزی نگفتین؟ توی پروژه های بزرگ خیلی استفاده میشه برای رل زدن کخ.