بانکهای اطلاعاتی سندگرا

شروع کار با مانگو دی بی

مقدمه ای بر مانگو و نحوه مدلسازی داده‌ها در آن

MongoDB را می‌توان یکی از پرمخاطب‌ترین پایگاه‌های داده‌ موجود در جمع اعضای خانواده NoSQL‌ دانست که بنابر برخی آمارهای جمع‌آوری شده، لقب پرمخاطب‌ترین را نیز به‌خود اختصاص داده است. این پایگاه داده‌ یک مدل منعطف، پویا و سندگرا را ارائه می‌کند که ساختاری با خروجی بسیار بالا و قابلیت مقیاس‌پذیری آسان را دارا است که در پروژه‌ها و سیستم‌های کلان داده یا همان Big Data به‌شدت مورد نیاز است. این پایگاه ‌داده‌ به‌دلایل مختلفی از جمله مواردی که گفته شد، در سال‌های گذشته مورد استقبال فراوانی قرار گرفته و راه‌اندازها و کتابخانه‌های توسعه‌داده شده برای آن برای اغلب زبان‌های برنامه‌نویسی، از جمله زبان محبوب #C در دسترس قرار گرفته است. در این مقاله سعی خواهیم کرد تا ضمن بررسی مشخصات MongoDB به چگونگی نصب و به‌کارگیری این پایگاه داده پرداخته و در آینده به نحوه دستیابی به آن از طریق زبان برنامه‌نویسی #C بپردازیم.

نصب MongoDB در ویندوز

پایگاه داده‌ MongoDB را می‌توان جزء آن‌دسته از پایگاه‌های داده‌ای دانست که اغلب پلتفرم‌های مطرح دنیا را پشتیبانی کرده و برای نصب روی لینوکس، مکینتاش، ویندوز و سولاریس بسته‌های نصب ارائه می‌کند. اما از آنجا که قصد ما توسعه این پایگاه داده‌ها در محیط برنامه‌نویسی NET. است، روی بسته مختص ویندوز ۶۴ بیتی آن تمرکز می‌کنیم. اگرچه تمامی مواردی که در اینجا و در‌ مورد کار با این پایگاه داده‌ مطرح می‌شود، روی سایر پلتفرم‌ها مانند لینوکس نیز صادق خواهد بود.
اما پیش از ورود به بحث و کار عملی با MongoDB اگر همچنان در‌مورد دلایل پیشرفت چشم‌گیر پایگاه‌های داده‌ NoSQL در مراکز داده و برنامه‌های کاربردی تحت وب معروف تردید داشته یا علاقه دارید تا پیش از ادامه دادن بحث در‌مورد انواع پایگاه‌های داده NoSQL اطلاعات بیشتری کسب کنید، به شما پیشنهاد می‌کنیم تا ویژه‌نامه NoSQL ماهنامه‌شبکه (شماره ۱۳۳) را مطالعه کرده و تمامی اطلاعاتی را که لازم دارید، به‌دست آورید. اما به‌ ‌هر‌ترتیب، اگر اطلاعات گفته شده را دارید یا به‌دلیل این‌که سال‌ها با پایگاه‌های داده رابطه‌ای کار کرده‌اید، حوصله مطالعه آن را ندارید، تنها این نکته را در ذهن داشته باشید که برای کار‌کردن با پایگاه‌های داده NoSQL باید تمامی تصورات خود را از پایگاه‌های رابطه‌ای و دستورات SQL برای انجام پردازش روی داده‌ها را کنار بگذارید و به ابزارهای جدید فراهم شده برای این پایگاه‌های داده‌ای عادت کنید.
پیش از هرچیز لازم است تا پایگاه داده MongoDB را روی دستگاه خود نصب کنید. برای این‌کار به سایت رسمی این پایگاه‌ داده به آدرس mongodb.com مراجعه کرده و از منوی Software گزینه Community Server‌ را انتخاب کنید.

با این کار به صفحه دانلود مانگو‌دی‌بی هدایت می‌شوید (در حال حاضر نسخه ۴٫۴ مانگو قابل دانلود است) :

نصب و راه‌اندازی مانگودی‌بی

نصب MongoDB بسیار آسان است. کافیست نسخه اجرایی آنرا که از سایت مانگو دانلود کرده‌اید، اجرا کنید تا فرآیند نصب به صورت ویزاردی (پنجره به پنجره) آغاز شود. هنگام نصب، پنجره ویزارد نصب، از شما مکان نصب  را سوال خواهد کرد (البته اگر نوع نصب را به جای complete نوع Custom انتخاب کنید).

در پنجره سوم از شما نوع نصب را می پرسد که بهتر است گزینه سفارشی را انتخاب کنید :

با انتخاب گزینه نصب سفارش، لیست نرم افزارهایی که نصب خواهد شد به همراه آدرس محل نصب مانگو به شما نمایش داده می شود (به صورت پیش فرض، در آدرس C:\Program Files\MongoDB\Server\4.4\ نصب خواهد شد). این گزینه ها را به دلخواه می توانید تغیییر بدهید.

در مرحله بعد، نوع نصب مانگو از لحاظ شروع و کار با آن، از شما پرسیده می شود. اگر کابر حرفه ای نیستید گزینه پیش فرض که مانگو را به صورت سرویسی نصب میکند انتخاب کنید :

یک توصیه دوستانه

نکته بسیار مهم در این مرحله، انتخاب مکان ذخیره فایلهاست که بهتر است در درایوی غیر از ویندوز باشد. در صورت تمایل، این آدرس را تغییر دهید. (آدرس پوشه ذخیره Log‌ هم به دلیل جلوگیری از پر نشدن درایو C بهتر است تغییر کند ). اگر همیشه با مانگو کار نمی کنید، بهتر است وارد <code>Services</code> ویندوز شوید و نوع شروع آنرا به Manual‌ تغییر دهید که هر زمان که نیاز به آن داشتید، به صورت دستی آنرا از همین محل، استارت کنید

اگر نوع استارت مانگو را سرویس انتخاب نکرده اید، باید خودتان به صورت دستی آنرا در خط فرمان اجرا کنید. برای این منظور ابتدا باید پوشه ای برای ذخیره داده ها، ایجاد کنید. فرض کنید این پوشه را در درایو D و در آدرس D:\mongo\data ایجاد کرده اید. حال برای اجرای مانگو، کافیست وارد پوشه bin آن شده و سپس با گرفتن دکمه Shift و کلیک راست روی فضای خالی پوشه، گزینه Open Command Window Here   را بزنید تا وارد خط فرمان ویندوز در همین پوشه شوید. اکنون دستور زیر را تایپ کنید :

Shell

دقت کنید که آدرس پوشه داده را دقیقاً به صورت فوق و بدون بک اسلش انتهای آدرس، وارد کنید. پارامتر rest برای مشاهده بخش مدیریت مانگو مورد نیاز خواهد بود و گرنه روی پورت ۲۸۰۱۷ ممکن است نتوانید بخش مدیریت مانگو را مشاهده کنید.

در مرحله بعد، از شما می پرسد که آیا محیط گرافیکی کار با مانگو یعنی Mongo Compass را هم نصب کند که بهتر است این کار را انجام دهید که برای شروع کار با مانگو، محیطی حرفه ای و گرافیکی در اختیار شما باشد.

پس از این مرحله منتظر پیغام نصب Mongo Compass و Monogo Server‌ باشید.

برای کار با مانگو، MongoDBCompassCommunity را در منوی استارت ویندوز (یا اوبونتو یا … ) یافته و آنرا اجرا کنید.

با اجرای این نرم افزار و با فرض در حال اجرا بودن سرویس MongoDB باید صفحه زیر را مشاهده کنید :

البته ابتدا باید ویزارد آموزشی که ظاهر می شود را با دقت بررسی و گزینه شروع را بزنید. در این مرحله هم با توجه به اینکه قرار است به صورت محلی با مانگو کار کنیم (روی سیستم خودمان) ، گزینه کانکت را بزنید تا به سرویس مانگو متصل شود. حال گزینه ایجاد دیتابیس را بزنید و نامی برای دیتابیس و نامی برای اولین کالکشن (معادل جدول در بانک های اطلاعاتی رابطه ای) خود انتخاب کنید. از اینجا به بعد دیگر می توانید در محیط گرافیکی MongoCompass‌ به ساخت و مدیریت اسناد خود بپردازید.

برای شروع می توانید با ایمپورت کردن یک فایل اکسل و یا گزینه Insert Document‍ ( با انتخاب آن از منوی Add Data ) و وارد کردن اولین سند خود که به صورت JSON‌ خواهد بود، به کاوش این محیط و این دیتابیس محبوب بپردازید.

باید از همین حالا به این موضوع عادت کنید که خروجی تمامی دستورات MongoDB به صورت معمول، در قالب JSON به شما ارائه شده و بنابراین، اگر با خواندن این قالب آشنایی ندارید، بد نیست سری به اين سایت یا نسخه فارسی آن بزنید.

برای مشاهده ادامه مطلب روی شماره صفحه دو کلیک کنید –>

1 2 3برگهٔ بعدی

مجتبی بنائی

دانشجوی دکترای نرم‌افزار دانشگاه تهران (yun.ir/smbanaie)، مدرس دانشگاه و فعال در حوزه توسعه نرم‌افزار و مهندسی داده که تمرکز کاری خود را در چند سال اخیر بر روی مطالعه و تحقیق در حوزه کلان‌داده و زیرساخت‌های پردازش داده و تولید محتوای تخصصی و کاربردی به زبان فارسی و انتشار آنها در سایت مهندسی داده گذاشته است. مدیریت پروژه‌های نرم‌افزاری و طراحی سامانه‌های مقیاس‌پذیر اطلاعاتی از دیگر فعالیتهای صورت گرفته ایشان در چند سال گذشته است.

۸ دیدگاه

  1. با سلام

    بسیار ممنونم بابت مطلب جامع و کاربردی که در زمینه مانگو منتشر کردید. من تجربه کار با پایگاه داده های غیر رابطه ای رو نداشتم ولی اخیرا پروژه ای بهم پیشنهاد شده که در آن مجبورم تقریبا هر ۵ دقیقه یکبار حدود ۱۰۰۰ تا فایل اکسل رو که از نظر ساختار شبیه هم نبوده ولی فیلدهایی دارند که در تمامی آنها مشترک هستند رو خونده و در پایگاه داده ذخیره کرده و در نهایت بتونم براساس فیلدهای مشترک روی همه اونها در بازه های زمانی مختلف کوئری بزنم. راستش دارم تحقیق می کنم ببینم چه نوع پایگاه داده ای همچین قابلیتی رو بهتر بهم میده.

    به نظر شما مانگو جوابگوی این مدل داده ها هست؟

    ممنون میشم اگر در این زمینه بهم کمک کنید.

    با تشکر

    1. سلام بنیامین عزیز …
      خوشحالم که مطالب سایت براتون مفید بوده .
      اگر هر پنج دقیقه یک بار قراره داده های غیرهمگنی به تعداد هزار فایل را در درازمدت بخونید، توصیه بنده استفاده از الاستیک سرچه که همه جور کوئری را با سرعتی بسیار بالا جواب میده. فرمت ذخیره اون هم جی سان هستش و مقیاس پذیری عالی ای داره .
      موفق باشید .

  2. سلام

    برنامه ای دارم که در آن با ید درهر ۳۰ ثانیه باید مختصات ۲۰۰۰۰ نقطه را روی نقشه نگهداری نماید و در صورت نیاز مختصات بک نقطه را که میدهم باید آبجکتهای نزدیک به آن نقطه را تا فاصله ۵ کیلومتری روی نقشه به من نشان دهد از چه دیتابیسی استفاده کنم بهتره ؟

    مهندسی داده :
    برای کار با داده های جی آی اس ، از PostGIS‌ استفاده کنید که هم مجموعه قابلیتهای کاملی در حوزه داده های جغرافیایی و مکانی داره و هم از دیتابیس قدرتمند پستگرس استفاده می کند.

  3. کاش توضیحی راجع به نسخه های مختلف مثل community  یا  enterprise  می دادید؟

    1. درود بر سعید عزیز .
      توی سایت خود مانگو و در بخش دانلود، تفاوت های این دو نسخه یعنی نسخه سازمانی و نسخه رایگان ذکر شده . اگر توی مطالب اون بخش، مشکلی داشتید بفرمایید تا توضیح داده بشه .
      موفق باشید .

  4. من این پیام رو بعد از پیغام “waiting for connections on port 27017” دارم لطفا راهنمایی کنید:

    A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. 127.0.0.1:55824

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

جای خالی در معادله زیر را با کی برد انگلیسی وارد کنید : * Time limit is exhausted. Please reload CAPTCHA.

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

دکمه بازگشت به بالا