
در دنیای اینترنتی که روزانه با هزاران دیتا مواجه هستیم، یک پایگاه داده سریع، منعطف و مقیاس پذیر، از جمله موارد ضروری و حتی حیاتی برای پروژه های محسوب می شود. اگر به دنبال همچین موردی هستید ،نیازی به زیر رو رو کردن اینترنت نیست، زیرا MongoDB به کمک شما می آید!
در این مقاله قدم به قدم نصب MongoDB در دبیان 11 را برای شما همراهان آذرسیس، مورد بررسی قرار دادیم. اگر تازه کار و یا حرفه ای هستید که به دنبال راهی برای راه اندازی سریع این دیتابیس می گردید، این مقاله می تواند شما را در مسیر یادگیری این مورد، راهنمایی کند!
معرفی پایگاه داده MongoDB
MongoDB یه دیتابیس NoSQL معروف است که داده ها رو به صورت سندهایی شبیه JSON ذخیره کرده و روی سرورهای مختلف به راحتی اجرا می شود. این دیتابیس به خاطر امکاناتی مثل پشتیبانی از چند پلتفرم، نداشتن نیاز به ساختار ثابت برای داده ها، ویژگی های امنیتی و رمزنگاری خوب، و نصب آسون، بین برنامه نویس ها بسیار محبوب است و به آن ها آزادی بیشتری در طراحی و پیاده سازی پروژه ها میدهد.
ویژگی های پیشرفته دیتابیس MongoDB:
- مقیاس پذیر و منعطف
- دسترسی به سیستم شاردنیگ
- قابلیت دسترسی به داده ها
- قابلیت تبدیل فیلد به کلید
- سرعت و عملکرد بالا در پردازش داده
- قابلیت یکپارچه سازی داده
- قابلیت همانندسازی
- دارای ابزارهای چندگانه امنیت ابری
- دارای پایگاه داده بدون سرور
- دارای API نسخه بندی شده
مقایسه MongoDB با سایر پایگاه های داده
ویژگی | MongoDB | MySQL / PostgreSQL (SQL) | Redis | Elasticsearch |
نوع ساختار داده | Document-based | Relational | Key-Value | Document Indexing |
اسکیما | بدون نیاز به اسکیما ثابت | نیازمند تعریف دقیق اسکیما | ندارد | مبتنی بر JSON بدون ساختار دقیق |
مقیاس پذیری | بالا و طبیعی | دشوار | بالا | بالا |
پشتیبانی از تراکنش | محدود | کامل و ACID | ندارد | ندارد |
کاربرد اصلی | اپ های مقیاس پذیر، داده های پویا | اپلیکیشن های بانکی، مالی | کش سریع، صف پیام | جستچوی متن، آنالیز لاگ |
جستجوهای پیشرفته | متوسط | قوی با SQL استاندارد | محدود | قوی |
منحنی یادگیری | پایین تر برای مبتدیان | نیازمند دانش SQL و طراحی دیتابیس | ساده | پیچیده تر |
پشتیبانی از Index | بله | بله | محدود | بله |
پشتیبانی از Join | بله | بله | ندارد | ندارد |
درک عمیق ویژگی و مزایا دیتابیس MongoDB
1- مناسب برای فضای ابری (Cloud)
MongoDB بهخوبی با سرویس های ابری مثل AWS، Azure و Google Cloud کار می کند و برای ساخت اپلیکیشن های مدرن ایده آل است.
2. ساختار انعطاف پذیر داده ها (Flexible Schema)
نیازی نیست از قبل دقیقاً بدانید که داده های شما به شکلی هستند، می توانید راحت ساختار داده را بدون دردسر تغییر دهید.
3. سازگار با بیشتر زبان های برنامه نویسی
درایورهای رسمی برای زبان هایی مثل جاواسکریپت، پایتون، جاوا و… دارد و به همین دلیل است که کار با MongoDB آسان است.
4. امکان جست و جو و تحلیل قوی
می توانید کوئری های پیشرفته وارد کنید، داده ها رو فیلتر و گروه بندی کرده یا گزارش بسازید.
5. مقیاس پذیری آسان (Sharding)
اگه حجم داده هات زیاد باشند، می توانید آن ها رو بین چند سرور تقسیم کنید تا سرعت بالا بماند.
6. سرعت بالا
MongoDB به خاطر مدل داده ای خاصش، عملکرد خوبی دارد و برای کارهای سنگین مناسب است.
7. نصب و راه اندازی ساده
نصب MongoDB ساده ست و می توانید خیلی سریع شروع به استفاده کنید.
8. مقرون به صرفه
نسخه رایگان دارد و نسخه ابری آن نیز هم برای تیم های کوچک و بزرگ مناسب و اقتصادیست.
🌟 موارد استفاده پیشرفته MongoDB
⭕️ ساخت گزارش های سریع و لحظه ای
با MongoDB می توانید اطلاعات زیادی را ذخیره کرده و سریع بر روی آن ها گزارش بگیرید. کاربردش کجاست؟
- ساخت داشبورد مدیریتی
- پیگیری رفتار کاربران در اپلیکیشن یا سایت
- بررسی فروش روزانه یا هفتگی
⭕️ کار با موقعیت مکانی
MongoDB می تواند مختصات جغرافیایی را بفهمد و براساس آن جستجو کند. مثلاً:
- پیدا کردن نزدیک ترین رستوران یا فروشگاه
- نمایش راننده های اطراف (مثل اسنپ یا تپسی)
⭕️ ذخیره اطلاعات از دستگاه های هوشمند
در پروژه های IoT ، می تواند داده ها را از صدها دستگاه مختلف دریافت و ذخیره کند.
نحوه نصب MongoDB در دبیان 11
در ادامه، مراحل نصب MongoDB را بررسی کرده ایم که به صورت موارد زیر است:
پیش نیازها
- دبیان 11 آماده
- دسترسی به کاربر sudo
مرحله اول: نصب MongoDB
ابتدا باید بسته های اضافی را نصب کنید:
$ sudo apt install gnupg2 wget
سپس، کلید عمومی GPG آن را اضافه کنید:
$ wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
مخزن را به نمونه خود اضافه کنید:
$ echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/5.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
نمونه خود را آپدیت کنید:
$ sudo apt update
در نهایت برای نصب MongoDG:
$ sudo apt install mongodb-org
برای تائید نصب:
$ mongod --version db version v5.0.6 Build Info: { "version": "5.0.6", "gitVersion": "212a8dbb47f07427dae194a9c75baec1d81d9259", "openSSLVersion": "OpenSSL 1.1.1k 25 Mar 2021", "modules": [], "allocator": "tcmalloc", "environment": { "distmod": "debian10", "distarch": "x86_64", "target_arch": "x86_64" } }
سرویس MongoDB را شروع کنید:
$ sudo systemctl start mongod
برای شروع شدن MongoDB در هنگام بوت شدن نمونه، آن را فعال کنید:
$ sudo systemctl enable mongod
مرحله دوم: ایجاد کاربر جدید
برای دسترسی به ویزگی های این دیتابیس و پایگاه داده خاص، در محیط MongoDB کاربر ایجاد کنید. برای مثال، با استفاده از دستور زیر به یک MongoDB اجرایی بر روی میزبان محلی، متصل شوید:
$ sudo mongosh
در Mongosh دیتابیس پیش فرض آزمایشی است. با db- می توانید ببینید کجایید و اگه خواستید، برروی دیتابیس admin بروید.
$ use admin
دستور زیر را برای ایجاد کاربر جدید وارد کنید. شما می توانید نام کاربری و رمز عبور آن را به صورت دلخواه وارد کنید:
db.createUser( { user: "Vultr", pwd: "topSecret1", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
خروجی زیر، کاربر ایجاد شده را نشان می دهد:
{ ok: 1 }
برای مشاهده کاربران موجود در پایگاه داده:
> show users [ { _id: 'admin.Vultr', userId: UUID("697f43de-6542-4a3c-b846-fbb3ad9f766b"), user: 'Vultr', db: 'admin', roles: [ { role: 'userAdminAnyDatabase', db: 'admin' } ], mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ] } ]
Exit را وارد کنید تا از Mongosh خارج شوید.
مرحله سوم: فعالسازی احراز هویت دیتابیس
برای ایمن سازی MonhoDB، باید با ویرایش فایل پیکربندی، احراز هویت کاربران را فعال کنید:
$ sudo nano /etc/mongod.conf
برای فعال کردن احراز هویت، این دستور رو توی فایل تنظیمات وارد کنید:
safety: authorization: enabled
پس از ذخیره فایل پیکربندی و خروج از آن، MongoDB را ری استارت کنید:
$ sudo systemctl restart mongod
Mongosh را با نام کاربری و رمز عبور خود، وارد کنید:
$ sudo mongosh -u Vultr -p topSecret1
خروجی احراز هویت شما به این صورت خواهد شد:
Current Mongosh Log ID: 61fff39bf56ab6dd6b893038 Connecting to: mongodb://127.0.0.1:27017/directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.1.9 Using MongoDB: 5.0.6 Using Mongosh: 1.1.9 For mongosh info see: https://docs.mongodb.com/mongodb-shell/ >
✅ نکات و تجربه های شخصی
1- کلید GPG منقضی شده
در بعضی موارد، کلید قدیمی MongoDB باعث ارور apt update می شه؛ برای حل این مشکل، حتماً از آخرین کلید (.asc) از سایت رسمی MongoDB استفاده کن.
2- مشکل پردازنده های قدیمی
نسخه 6 MongoDB روی وی پی اس هایی با CPU قدیمی (بدون AVX) نصب نمی شه. اگر به مشکل خوردی، از نسخه 5 استفاده کن.
3- فراموشی فعال سازی سرویس
اگه بعد از ریستارت MongoDB بالا نمیاد، احتمالش هست که دستور systemctl enable mongod رو نزده باشی.
4- مشکل فایروال و پورت بسته
اگه نمی تونی از بیرون وصل شی، چک کن پورت 27017 در فایروال باز باشه:
sudo ufw allow 27017
سخن آخر
امیدوارم که این راهنما به شما راهنمایی های لازم برای نصب MongoDB روی دبیان 11 رو به صورت کامل آموزش داده باشه. وقتشه بری سراغ ساخت پروژه هات و از قدرت این دیتابیس جذاب لذت ببری!
اگه می خوای نصب MongoDB روی دبیان 11 رو از صفر تا صد یاد بگیری و تستش کنی، ولی سرور مجازی یا دسترسی به لینوکس نداری، می تونی از سرورهای مجازی لینوکس با سیستم عامل دبیان آذرسیس استفاده کنی.