MongoDB Atlas — cloud database, cluster yaratish
Muammodan boshlaylik
O'z serveringizda MongoDB ni production uchun tayyorlash ro'yxati:
- 3 ta server — replica set (35-dars)
- Avtorizatsiya, TLS, firewall (32–33-darslar)
- Kunlik zaxira va tiklashni sinash (34-dars)
- Yangilanishlar, monitoring, disk to'lishi, sertifikat muddati...
Bularning hammasini sozlash va kuzatish — alohida mutaxassis ishi. Kichik jamoa uchun bu mahsulotdan vaqt olib qo'yadi.
Atlas nima?
MongoDB Atlas — MongoDB kompaniyasining bulutdagi boshqariladigan xizmati (DBaaS). AWS, Google Cloud yoki Azure ustida ishlaydi.
| Siz qilasiz | Atlas qiladi |
|---|---|
| Cluster tanlash | Server o'rnatish, replica set |
| User va IP ruxsatlari | TLS, disk shifrlash |
| Ma'lumotlar bilan ishlash | Zaxira, yangilanishlar, failover |
| Monitoring, ogohlantirishlar, Performance Advisor |
Hayotiy o'xshatma
O'z uyingizda elektr generator saqlash va shaharning elektr tarmog'iga ulanish. Generator — to'liq nazorat, lekin yoqilg'i, ta'mirlash, zaxira generator — hammasi sizda. Tarmoqqa ulansangiz — rozetkaga ulaysiz va ishlaysiz; texnik xizmat va avariyalar — elektr kompaniyasining ishi. Buning uchun oyma-oy to'laysiz.
Cluster turlari
| Tur | Xususiyati | Qachon |
|---|---|---|
| Free (M0) | Bepul, 512 MB, umumiy resurslar, cheklovlar bor | O'rganish, prototip |
| Flex | Kichik, foydalanishga qarab to'lov | Kichik loyihalar, test |
| Dedicated (M10+) | Ajratilgan resurslar, barcha imkoniyatlar, zaxira | Production |
[!INFO] Atlas tariflari va bepul cluster cheklovlari vaqti-vaqti bilan o'zgaradi. Joriy narxlar va limitlarni mongodb.com/pricing sahifasidan tekshiring.
Cluster yaratish — qadamlar
- mongodb.com/cloud/atlas — ro'yxatdan o'tish
- Create a project — loyiha (masalan, "dokon")
- Create cluster → tur (Free), provayder (AWS) va region — foydalanuvchilarga va ilova serveriga eng yaqin (masalan, Frankfurt
eu-central-1) - Cluster nomi → Create
Bir necha daqiqada 3 a'zoli replica set tayyor.
Xavfsizlik sozlamalari
Database user
Security → Database Access → Add New Database User
- Usul: Password
- Username:
dokon_app, kuchli parol (Autogenerate) - Role: Read and write to any database yoki aniqroq — Specific privileges →
readWrite@dokon
[!WARNING] Bu — baza foydalanuvchisi, Atlas hisobingizdagi login emas. Ilova uchun alohida user yarating va unga faqat kerakli bazaga huquq bering (32-dars).
Network Access
Security → Network Access → Add IP Address
- Ilova serveringizning IP manzili (masalan,
203.0.113.10/32) - Development uchun — o'z IP ingiz (Add Current IP Address)
0.0.0.0/0 (hamma joydan) — faqat vaqtinchalik sinov uchun. Serverless platformalar (IP doimiy emas) uchun — Atlas ning Private Endpoint yoki platformaning statik IP imkoniyatlarini o'rganing.
Ulanish
Database → Connect → Drivers → Node.js — connection string:
mongodb+srv://dokon_app:<parol>@cluster0.ab1cd.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0
Baza nomini qo'shing:
mongodb+srv://dokon_app:PAROL@cluster0.ab1cd.mongodb.net/dokon?retryWrites=true&w=majority
# .env
MONGODB_URI=mongodb+srv://dokon_app:PAROL@cluster0.ab1cd.mongodb.net/dokon?retryWrites=true&w=majority
await mongoose.connect(process.env.MONGODB_URI)
mongodb+srv://— a'zolar DNS orqali avtomatik topiladi, TLS avtomatik yoqiladiretryWrites=true,w=majority— failover da xavfsiz yozish (36-dars)
mongosh va Compass
mongosh "mongodb+srv://cluster0.ab1cd.mongodb.net/dokon" --username dokon_app
MongoDB Compass — xuddi shu connection string bilan GUI orqali.
Lokal ma'lumotlarni ko'chirish
mongodump --uri="mongodb://127.0.0.1:27017/dokon" --archive=dokon.gz --gzip
mongorestore --uri="mongodb+srv://dokon_app:PAROL@cluster0.ab1cd.mongodb.net" --archive=dokon.gz --gzip
Katta va ishlayotgan bazalar uchun — Atlas ning Live Migration vositasi (to'xtashsiz ko'chirish).
Atlas imkoniyatlari — umumiy ko'rinish
| Imkoniyat | Nima | Dars |
|---|---|---|
| Data Explorer | Brauzerda collection larni ko'rish va tahrirlash | — |
| Atlas Search | To'liq matnli qidiruv, fuzzy, autocomplete | 53 |
| Triggers, Functions | Serverless logika — o'zgarishlarga reaksiya | 54 |
| Performance Advisor | Sekin so'rovlar va index tavsiyalari | 55 |
| Cloud Backup | Avtomatik snapshot, point-in-time | 34 |
| Charts | Ma'lumotlardan grafiklar va dashboard | — |
| Vector Search | Embedding lar bo'yicha semantik qidiruv (AI) | — |
Tez-tez uchraydigan xatolar
IP ruxsat berilmagan
MongooseServerSelectionError: Could not connect to any servers in your MongoDB Atlas cluster.
One common reason is that you're trying to access the database from an IP that isn't whitelisted.
Network Access ga serveringiz (yoki joriy) IP sini qo'shing. Uy internetida IP o'zgarishi mumkin.
Parolda maxsus belgilar
@, :, /, # — connection string ni buzadi. URL kodlang yoki faqat harf-raqamli parol yarating.
Uzoq region
Ilova Toshkentdagi serverda, cluster AQShda — har bir so'rovga +200 ms. Region ni ilova serveriga yaqin tanlang.
Xulosa
- Atlas — boshqariladigan MongoDB: replica set, TLS, zaxira, monitoring avtomatik
- Cluster turlari: Free/Flex — o'rganish va kichik loyihalar, Dedicated — production
- Region — ilova serveriga yaqin
- Database Access — ilova uchun alohida, cheklangan user
- Network Access — faqat kerakli IP lar;
0.0.0.0/0dan saqlaning mongodb+srv://...— environment o'zgaruvchisida; ko'chirish —mongodump/mongorestore
Keyingi dars: 53-dars — Atlas Search — full-text search, fuzzy, autocomplete