سرفصل های دوره

۱ فصل
۱۶ جلسه
۵ ساعت
۱

لیست ویدئوهای دوره

۱۶ قسمت
۰۴:۴۹:۰۷
1

مقدمه و دموی آموزش

رایگان
۲۸:۲۷
2

قسمت اول - Replication در MongoDB

رایگان
۲۰:۱۷
5

قسمت چهارم - کوئری های تحت پوشش در MongoDB

۱۸:۴۱
6

قسمت پنجم - تجزیه و تحلیل کوئری ها در MongoDB

۱۶:۴۱
7

قسمت ششم - عملیات اتمی در MongoDB

۲۳:۲۸
8

قسمت هفتم - فهرست سازی پیشرفته در MongoDB

۲۱:۰۹
9

قسمت هشتم - محدودیت های فهرست گذاری در MongoDB

۰۶:۵۷
10

قسمت نهم - ObjectId در MongoDB

۱۷:۴۱
11

قسمت دهم - کاهش نقشه در MongoDB

۱۳:۲۹
12

قسمت یازدهم - جستجوی متن در MongoDB

۱۶:۱۳
13

قسمت دوازدهم - عبارات منظم در MongoDB

۱۴:۲۰
14

قسمت سیزدهم - GridFS در MongoDB

۱۷:۳۵
15

قسمت چهاردهم - مجموعه های محدود شده در MongoDB

۱۴:۲۴
16

قسمت پانزدهم - ترتیب افزایش خودکار در MongoDB

۱۳:۳۲

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‌ها می‌شود.