دادهها امروز حکم نفت قرن بیستویکم رو دارن؛ هر صنعتی که فکرش رو بکنی، یه جایی به مدیریت حجم عظیمی از اطلاعات نیاز پیدا میکنه. پایگاه داده یا همون دیتابیس، ابزاریه که این کار رو برات ساده میکنه و بلد بودنش میتونه یه فرصت شغلی خوب برات بسازه. حالا بین این همه دیتابیس، ...
آشنایی با دوره رایگان MongoDB
دادهها امروز حکم نفت قرن بیستویکم رو دارن؛ هر صنعتی که فکرش رو بکنی، یه جایی به مدیریت حجم عظیمی از اطلاعات نیاز پیدا میکنه. پایگاه داده یا همون دیتابیس، ابزاریه که این کار رو برات ساده میکنه و بلد بودنش میتونه یه فرصت شغلی خوب برات بسازه. حالا بین این همه دیتابیس، MongoDB یه جایگاه ویژه داره.
دوره آموزش MongoDB بهصورت کاملاً رایگان در دسترسه و هدفش اینه که از صفر تا جایی که بشه با خیال راحت باهاش کار کرد، همراهیت کنه. این دوره برای شروع مسیر یادگیری دیتابیسهای NoSQL طراحی شده و میتونه نقطه پرتاب خوبی باشه.
چرا MongoDB؟
MongoDB محبوبترین پایگاه داده NoSQL و یه دیتابیس متنباز و سندگراست. اگه بخوام خودمونی بگم، برخلاف دیتابیسهای رابطهای که همهچیز رو توی جدولهای منظم میچینن، MongoDB اطلاعات رو داخل اسناد ذخیره میکنه. فرمت ذخیرهسازیاش هم BSON نام داره که خیلی شبیه JSON هست و همین باعث میشه کار باهاش برای برنامهنویسها راحتتر باشه.
این دیتابیس از سال ۲۰۰۹ معرفی شده و از همون اول بهخاطر مزایایی که داشت مورد توجه قرار گرفت. یه زبان کوئرینویسی غنی داره که باهاش میتونی دادهها رو دستهبندی کنی، اطلاعات مورد نظرت رو استخراج کنی و حتی از برنامهنویسی شیءگرا هم بهره ببری.
این دوره مناسب کیه؟ 🎯
کسانی که میخوان یه مهارت کاربردی و بهروز برای ورود به بازار کار یاد بگیرن
برنامهنویسهایی که با دیتابیسهای رابطهای کار کردن و برای دادههای بزرگ به مشکل خوردن
متخصصان وب که میخوان سرعت سایتشون رو با دسترسی سریعتر به دادهها بالا ببرن
هر کسی که به دنبال درآمد ارزیه، چون تسلط روی MongoDB یه مهارت کلیدی حساب میشه
بعد از این دوره چی یاد میگیری؟
هدف اصلی این دوره تسلط روی مفاهیم و برنامهنویسی MongoDB هست. توی مسیر یاد میگیری که:
چطور کوئرینویسی دیتابیس رو انجام بدی
از دادههای موجود نسخه پشتیبان تهیه کنی
دادههای مورد نیاز رو با سرعت مناسب پیدا کنی و در اختیار کاربر بذاری
از MongoDB توی زبانهای دیگهای مثل Node.js یا PHP استفاده کنی
اولین قدم با معرفی و نصب MongoDB شروع میشه و بعدش دستورات و مفاهیم پایهای رو یاد میگیری. این دوره یه دوره کامل مقدماتی تا پیشرفته نیست، ولی همون شروعی هست که لازم داری. با دورههای مکمل کنارش میتونی به درک خوبی از این نوع بانک اطلاعاتی برسی.
یه نکته کاربردی: تصور کن داری یه اپلیکیشن شبکه اجتماعی میسازی. کاربرا هر لحظه پست میذارن، کامنت میدن، لایک میکنن و این حجم داده با دیتابیسهای سنتی خیلی زود گلوگاه ایجاد میکنه. MongoDB دقیقاً برای همین سناریوها ساخته شده.
پیشنیازها
هیچ! 😌 برای شرکت توی این دوره رایگان MongoDB لازم نیست چیزی بدونید. همه مباحث از صفر آموزش داده میشه و مدرس قدمبهقدم همراهیت میکنه. لازم نیست مباحث ابتدایی پایگاه داده رو بلد باشی یا قبلاً با یه دیتابیس رابطهای یا غیررابطهای کار کرده باشی.
بعد از یادگیری مباحث اولیه و نصب، توی هر جلسه تمرینهایی بهت داده میشه که با حلشون با چالشهای واقعی کار با داده آشنا میشی. آخرش هم بدون هیچ پیشزمینهای میتونی اطلاعات رو توی دیتابیس ذخیره، بازیابی، ویرایش یا حذف کنی و پایگاه داده رو به وبسایت یا نرمافزارهات وصل کنی.
MongoDB دقیقاً چیه؟
NoSQL به زبان ساده یعنی پایگاه داده غیررابطهای. یعنی خبری از ساختار جدولمانند نیست و مکانیزم متفاوتی برای ذخیره و بازیابی دادهها وجود داره. MongoDB یه جایگزین مناسب برای دیتابیسهای رابطهایه که نیازی به ساختار جدول ندارن.
چرا اصلاً به MongoDB نیاز داریم؟
پایگاههای داده SQL دادهها رو توی جدول ذخیره میکنن. این دادهها توی یه مدل از پیش تعریف شده قرار میگیرن که برای اپلیکیشنهای امروزی چندان انعطافپذیر و مقیاسپذیر نیست. برنامههای مدرن بیشتر از هر زمانی شبکهای، اجتماعی و تعاملی هستن. داده بیشتری ذخیره میکنن و با سرعت بالاتری بهش دسترسی دارن.
سیستم مدیریت پایگاه داده رابطهای (RDBMS) برای مدیریت دادههای بزرگ انتخاب مناسبی نیست، چون وقتی روی یه سرور واحد اجرا بشه، توی مقیاسپذیری به محدودیت میخوره. اما دیتابیسهای NoSQL مقیاسپذیرترن و عملکرد بهتری ارائه میدن. MongoDB با اضافه کردن سرورهای بیشتر مقیاسپذیر میشه و با مدل سند انعطافپذیرش بهرهوری رو بالا میبره.
چند دلیل برای استفاده از MongoDB
سندگرا بودن: دادهها به جای قالب رابطهای، توی اسناد ذخیره میشن؛ همین باعث انعطافپذیری بالاش میشه
پرسوجوهای موقت: جستجو بر اساس فیلد، پرسوجوی محدوده و جستجوی عبارت منظم پشتیبانی میشه
اندیسگذاری: هر فیلدی توی سند رو میشه ایندکس کرد تا سرعت جستجو بالا بره
Replication: دسترسپذیری بالا با مجموعههای replica فراهم میشه
تعادل بار: با مفهوم شاردینگ، دادهها بین چندین نمونه MongoDB تقسیم میشن
RDBMS در مقابل MongoDB
RDBMS یه طراحی طرحواره معمولی داره که تعداد جداول و رابطه بینشون رو نشون میده. اما MongoDB سندگراست و توی اون مفهومی به اسم طرحواره یا رابطه وجود نداره. تراکنشهای پیچیده توی MongoDB پشتیبانی نمیشن چون عملیات join پیچیده در دسترس نیست.
MongoDB اجازه میده ساختار سند خیلی انعطافپذیر و مقیاسپذیر باشه. مثلاً یه سند از یه مجموعه میتونه دو فیلد داشته باشه، در حالی که سند دیگهای توی همون مجموعه چهار فیلد داره. این انعطاف توی دیتابیسهای رابطهای تقریباً غیرممکنه.
از نظر سرعت هم MongoDB بهخاطر تکنیکهای اندیسگذاری و ذخیرهسازی کارآمد، سریعتر از RDBMS عمل میکنه. چند اصطلاح مشترک هم وجود داره: چیزی که توی RDBMS جدول نام داره، توی MongoDB مجموعه (Collection) نامیده میشه. یه تاپل، سند و یه ستون، فیلد حساب میشه. MongoDB یه _id پیشفرض ارائه میده که یه عدد هگزادسیمال ۱۲ بایتیه و یکتایی هر سند رو تضمین میکنه؛ این معادل کلید اصلی توی RDBMS هست.
ویژگیهای کلیدی MongoDB
Document Oriented: دادههای اصلی توی حداقل تعداد اسناد ذخیره میشن، نه با تجزیه به ساختارهای رابطهای متعدد. مثلاً همه اطلاعات یه کامپیوتر توی یه سند به اسم کامپیوتر ذخیره میشه، نه توی ساختارهای جدا برای CPU، RAM و هارد دیسک.
اندیسگذاری: بدون ایندکس، دیتابیس باید همه اسناد یه مجموعه رو اسکن کنه تا موارد منطبق با پرسوجو رو پیدا کنه که خیلی ناکارآمده. MongoDB از ایندکس برای پردازش حجم عظیم داده توی زمان کمتر استفاده میکنه.