MongoDB Atlas — cloud database, cluster yaratish

~20 daq · MongoDB · Atlas va Deployment

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

  1. mongodb.com/cloud/atlas — ro'yxatdan o'tish
  2. Create a project — loyiha (masalan, "dokon")
  3. Create cluster → tur (Free), provayder (AWS) va region — foydalanuvchilarga va ilova serveriga eng yaqin (masalan, Frankfurt eu-central-1)
  4. 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 yoqiladi
  • retryWrites=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/0 dan saqlaning
  • mongodb+srv://... — environment o'zgaruvchisida; ko'chirish — mongodump/mongorestore

Keyingi dars: 53-dars — Atlas Search — full-text search, fuzzy, autocomplete