PostgreSQL vs MongoDB — Bakı Startapın üçün Hansını Seçməlisən?
Azərbaycanlı developer olaraq startap qurmaq istəyirsən? PostgreSQL və MongoDB arasında düzgün seçim etmək üçün real kod, rəqəmlər və yerli kontekst burada.
PostgreSQL vs MongoDB — Bakı Startapın üçün Hansını Seçməlisən?
Salam, developer dostum! 👋
Bilirəm, bu sualı özünə çox vermisən. LinkedIn-də Bakıdakı vakansiyalara baxırsan — birində "PostgreSQL bilməlisən" yazılıb, digərində "MongoDB experience required". Startap ideyası var, amma database seçimində ilişib qalmısan. Bu məqalədə sənə konkret, praktiki və Azərbaycan reallığına uyğun cavab verəcəm.
Gəl birbaşa işə keçək.
🐘 PostgreSQL — "Etibarlı Qoca Dostun"
PostgreSQL relational (əlaqəli) database-dir. 1996-cı ildən mövcuddur və bu gün dünyanın ən güclü open-source RDBMS-lərindən biridir. Stack Overflow-un 2025 Developer Survey-inə görə, PostgreSQL artıq 4-cü il ardıcıl olaraq ən çox sevilən database-dir — developerlərin 71%-i onu sevir.
Nə vaxt PostgreSQL seçməlisən?
- FinTech / bank əməliyyatları — AZN transferləri, ödəniş tarixçəsi, balans hesablamaları
- E-commerce — məhsul, sifariş, müştəri cədvəlləri arasında ciddi əlaqələr
- ERP / CRM sistemləri — strukturlaşdırılmış data, mürəkkəb JOIN-lər
- Hökumət / dövlət layihələri — ASAN xidmət tipli sistemlər, ACID compliance vacibdirsə
Bakıda Kapital Bank, ABB, Bravo kimi şirkətlərin backend layihələrində relational database demək olar ki, standartdır.
Real kod nümunəsi — PostgreSQL
Tutaq ki, Bakıda bir e-commerce startap qurursan:
sql-- Məhsullar cədvəli CREATE TABLE products ( id SERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL, price_azn DECIMAL(10, 2) NOT NULL, category_id INT REFERENCES categories(id), in_stock BOOLEAN DEFAULT true, created_at TIMESTAMP DEFAULT NOW() ); -- Sifarişlər cədvəli CREATE TABLE orders ( id SERIAL PRIMARY KEY, user_id INT REFERENCES users(id), total_azn DECIMAL(10, 2) NOT NULL, status VARCHAR(50) DEFAULT 'pending', created_at TIMESTAMP DEFAULT NOW() ); -- Ən çox satılan 10 məhsulu tap SELECT p.name, SUM(oi.quantity) AS total_sold, p.price_azn FROM order_items oi JOIN products p ON oi.product_id = p.id JOIN orders o ON oi.order_id = o.id WHERE o.status = 'completed' GROUP BY p.id ORDER BY total_sold DESC LIMIT 10;
Gördüyün kimi, məlumatlar arasındakı əlaqələr (REFERENCES, JOIN) çox aydın və güclüdür. Əgər sənin datanın strukturu əvvəlcədən məlumdursa — PostgreSQL sənin dostundur.
🍃 MongoDB — "Çevik Startapçı Yoldaşın"
MongoDB document-oriented (sənəd yönümlü) NoSQL database-dir. JSON-a bənzər BSON formatında data saxlayır. Schema-sız (schemaless) olduğu üçün data strukturunu istədiyin vaxt dəyişə bilərsən.
DB-Engines-in 2026 aprel reytinqinə görə, MongoDB NoSQL kateqoriyasında 1-ci yerdədir və dünyada ən populyar 5-ci database-dir.
Nə vaxt MongoDB seçməlisən?
- Real-time applications — chat, notification, live feed
- Content management — blog, CMS, media platforması
- IoT / sensor data — strukturu dəyişən, böyük həcmli data
- MVP / prototip — sürətlə bazara çıxmaq lazımdırsa, schema ilə vaxt itirmə
Bakıda Hungry.az, Tap.az kimi platformalar, eləcə də bir çox gənc startaplar sürətli development üçün MongoDB-yə üstünlük verir.
Real kod nümunəsi — MongoDB
Eyni e-commerce startap, amma MongoDB ilə:
javascript// Məhsul əlavə etmək db.products.insertOne({ name: "Xiaomi Redmi Note 14", price_azn: 429.99, category: "electronics", in_stock: true, specs: { ram: "8GB", storage: "256GB", color: "black" }, tags: ["phone", "xiaomi", "budget"], created_at: new Date() }); // Ən çox satılan 10 məhsul (aggregation pipeline) db.orders.aggregate([ { $match: { status: "completed" } }, { $unwind: "$items" }, { $group: { _id: "$items.product_id", total_sold: { $sum: "$items.quantity" } }}, { $sort: { total_sold: -1 } }, { $limit: 10 }, { $lookup: { from: "products", localField: "_id", foreignField: "_id", as: "product" }} ]);
Diqqət et: specs sahəsi nested object-dir, tags isə array-dir. Bu cür flexible data PostgreSQL-də əlavə cədvəllər tələb edərdi, MongoDB-də isə bir document içində rahat yerləşir.
📊 Üz-üzə Müqayisə — Rəqəmlərlə
| Kriteriya | PostgreSQL | MongoDB |
|---|---|---|
| Tip | Relational (SQL) | Document (NoSQL) |
| Schema | Ciddi, əvvəlcədən müəyyən | Flexible, dinamik |
| ACID Transactions | ✅ Tam dəstək | ✅ 4.0+ versiyadan |
| Mürəkkəb JOIN-lər | ✅ Əla | ⚠️ $lookup var, amma yavaş |
| Horizontal Scaling | ⚠️ Mümkündür, amma çətin | ✅ Native sharding |
| Öyrənmə müddəti | 2-4 həftə (SQL bilirsənsə) | 1-2 həftə |
| Bakıda vakansiya sayı (LinkedIn, Aprel 2026) | ~120+ | ~60+ |
| Orta maaş (Bakı, middle dev) | 1800-3000 AZN | 1800-3000 AZN |
| Cloud xərcləri (basic) | ~$15-50/ay | ~$25-60/ay (Atlas) |
🇦🇿 Azərbaycan Konteksti — Nəyi Bilməlisən?
1. Bakı bazarında PostgreSQL daha çox tələb olunur. Yerli outsource şirkətlər (Pasha Technology, ASAN Innovation, Crocusoft, Azerconnect) əsasən relational database istifadə edir. İlk işini axtarırsansa, PostgreSQL bilmək sənin şansını artırır.
2. Startap qurursan? MongoDB ilə sürətlə MVP çıxar. Bakıda Barama, INNOLAND, AppLab kimi inkubatorlarda pitch edərkən işləyən MVP vacibdir, mükəmməl schema deyil. MongoDB burada qalib gəlir.
3. Hər ikisini bilmək — ən güclü strategiya. Ciddi söyləyirəm. 2026-da "polyglot persistence" yanaşması standartdır: bir layihədə həm PostgreSQL (əsas biznes data üçün), həm MongoDB (log, cache, flexible content üçün) istifadə edə bilərsən.
4. Azərbaycanda data residency məsələsi var. Bəzi dövlət layihələrində data ölkə daxilində saxlanmalıdır. PostgreSQL-i DigitalOcean-ın Frankfurt serverində və ya yerli serverdə qaldırmaq daha asandır. MongoDB Atlas-ın ən yaxın regionu İstanbul və ya Frankfurtdur.
🎯 Qərar Ağacı — 30 Saniyəyə Seç
→ Datanın arasında ciddi əlaqələr var? (user → orders → payments)
- ✅ Bəli → PostgreSQL
→ Data strukturu tez-tez dəyişir? (A/B test, prototip, eksperiment)
- ✅ Bəli → MongoDB
→ Mürəkkəb report / analitika lazımdır?
- ✅ Bəli → PostgreSQL
→ Real-time, yüksək write throughput lazımdır?
- ✅ Bəli → MongoDB
→ Bakıda korporativ iş axtarırsan?
- ✅ Bəli → PostgreSQL öyrən, MongoDB-ni bonus kimi əlavə et
💡 Son Söz
Database seçimi "hansı daha yaxşıdır" sualı deyil — "mənim problemimdə hansı daha uyğundur" sualıdır. Bakıda fintech startap qurursan? PostgreSQL. Content platforması? MongoDB. İkisini birlikdə? Əla, sən artıq senior düşüncə ilə yanaşırsan.
Bir şeyi unutma: ən yaxşı database — sənin layihəni production-a çıxaran database-dir. İdeal texnologiya seçimi edib heç vaxt launch etməməkdənsə, birini seç, öyrən, qur və bazara çıx.
Sualın varsa, Baku Stack-in comment bölməsinə yaz — həmişə cavab veririk. 🚀
Müəllif: Baku Stack Redaksiyası | 7 Aprel 2026 Növbəti məqalə: "Docker + GitHub Actions ilə CI/CD Pipeline — Bakıdan Production-a"
Oxşar məqalələr
Redis ilə Caching — Azərbaycan Trafik Piklərini İdarə Etmək
Bayram günləri saytın çökür? Redis ilə caching qurub, saniyədə 100K sorğunu rahat idarə etməyi öyrən — real kod və rəqəmlərlə.
Supabase RLS — Məlumatlarını Bank Səviyyəsində Qoru
Supabase Row Level Security ilə hər istifadəçi yalnız öz datasını görür. Bank tətbiqi nümunəsi ilə RLS-i addım-addım öyrən.
Epoint və PAYRIFF: Azərbaycan Fintech Ödəniş API İnteqrasiyası
Azərbaycanda ödəniş qəbul etmək istəyirsən? Epoint və PAYRIFF API-lərini real kod nümunələri ilə addım-addım inteqrasiya edək — sandbox-dan production-a qədər.