PostgreSQL vs MongoDB — Bakı startapın üçün hansını seç?
Azərbaycanlı startapçılar üçün praktiki müqayisə: PostgreSQL və MongoDB arasında düzgün seçim etmək üçün real kod, real rəqəmlər və yerli kontekst.
PostgreSQL vs MongoDB — Azerbaijani startap üçün hansı düzgündür?
Salam, developer dostum! 👋
Bakıda startap qurursan, freelance layihə götürürsən, ya da şirkətdə yeni microservice yazırsan — gec-tez bu sualla üzləşəcəksən: relational (SQL) yoxsa document-based (NoSQL)?
Bu məqalədə PostgreSQL və MongoDB-ni Azərbaycan reallığına uyğun müqayisə edəcəyik. Nəzəriyyə yox, praktika. Kod var, rəqəm var, konkret ssenari var.
🤔 Niyə bu seçim vacibdir?
Database seçimi layihənin ilk həftəsində edilir, amma nəticəsi illərlə hiss olunur. Səhv seçim — refactoring cəhənnəmi deməkdir. Bakıda 3-5 nəfərlik dev komandası olan startap üçün bu, kritik qərardır, çünki resursu məhduddur.
Azərbaycanda startap ekosisteminə baxsaq:
- Fintech (m10, Birbank kimi xidmətlər) → transaksiya ağırlıqlı, ACID vacib
- E-commerce (Umico, Tap.az tipli platformalar) → product catalog dəyişkən, şəkillar, atributlar fərqli
- Delivery / logistika → geolocation, real-time tracking
- EdTech → kurs strukturları, user progress, quiz nəticələri
Hər birinin database ehtiyacı fərqlidir.
📊 PostgreSQL vs MongoDB — Rəqəmlərlə müqayisə
| Xüsusiyyət | PostgreSQL | MongoDB |
|---|---|---|
| Data modeli | Relational (cədvəl) | Document (JSON/BSON) |
| Query dili | SQL | MQL (MongoDB Query Language) |
| ACID dəstəyi | Tam | 4.0+ versiyadan tam |
| Horizontal scaling | Mümkün (Citus), amma çətin | Native sharding, asan |
| JSON dəstəyi | jsonb ilə güclü | Native, əsas format |
| Stack Overflow Survey 2025 | #1 ən sevilən DB (72%) | #4 (48%) |
| DB-Engines Ranking (mart 2026) | #4 dünyada | #5 dünyada |
| Azərbaycanda iş elanları (jobs.day.az) | ~65% backend vakansiya | ~25% backend vakansiya |
| Öyrənmə əyrisi | Orta (SQL bilmək lazım) | Aşağı (JSON tanışdır) |
Bakı bazarı faktı: LinkedIn və Boss.az-da Azərbaycan üzrə backend vakansiyalarının təxminən 65%-i PostgreSQL və ya ümumi SQL tələb edir. MongoDB tələb edən vakansiyalar əsasən Node.js ekosistemindədir.
💻 Real kod nümunəsi: E-commerce product catalog
Təsəvvür et, Bakıda kiçik e-commerce startap qurursan — "Yerli məhsullar" platforması.
PostgreSQL yanaşması:
sql-- Məhsul cədvəli (strukturlu data) CREATE TABLE products ( id SERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL, price NUMERIC(10, 2) NOT NULL, -- AZN ilə category VARCHAR(100), stock_count INTEGER DEFAULT 0, attributes JSONB, -- çevik atributlar üçün created_at TIMESTAMP DEFAULT NOW() ); -- Məhsul əlavə etmək INSERT INTO products (name, price, category, stock_count, attributes) VALUES ( 'Şəki halvası (1 kq)', 12.50, 'şirniyyat', 150, '{"origin": "Şəki", "organic": true, "weight_kg": 1.0}' ); -- Qiyməti 20 AZN-dən aşağı olan organik məhsulları tap SELECT name, price, attributes->>'origin' AS mənşə FROM products WHERE price < 20.00 AND attributes @> '{"organic": true}' ORDER BY price ASC;
MongoDB yanaşması:
javascript// Eyni məhsul — MongoDB document olaraq db.products.insertOne({ name: "Şəki halvası (1 kq)", price: 12.50, // AZN category: "şirniyyat", stockCount: 150, origin: "Şəki", organic: true, weightKg: 1.0, reviews: [ { user: "elvin_dev", rating: 5, comment: "Əla keyfiyyət!" }, { user: "nigar_baku", rating: 4, comment: "Dadlıdır" } ], createdAt: new Date() }); // Eyni sorğu MongoDB-də db.products.find({ price: { $lt: 20.00 }, organic: true }).sort({ price: 1 });
Fərqə diqqət et: MongoDB-də reviews array-i birbaşa document içindədir — ayrı cədvəl, JOIN lazım deyil. PostgreSQL-də isə attributes üçün JSONB istifadə edərək çeviklik qazanırıq, amma əsas struktur relational qalır.
🏢 Ssenari əsaslı tövsiyə: Bakı startapın üçün hansı?
✅ PostgreSQL seç, əgər:
- Fintech / ödəniş sistemi qurursan (Kapital Bank API inteqrasiyası, AZN əməliyyatları) → ACID əvəzolunmazdır
- Datanın arasında güclü əlaqələr var (user → order → payment → delivery)
- Komandanda SQL bilən adamlar var (Azərbaycanda bunu tapmaq daha asandır)
- Hesabat və analitika vacibdir (SQL ilə aggregate etmək çox güclüdür)
- Bir serverdə vertikal scaling kifayət edir (çox startap üçün belədir)
✅ MongoDB seç, əgər:
- Content platform / CMS qurursan (hər məqalənin strukturu fərqli ola bilər)
- IoT / sensor data toplayırsan (sürətli write, schema-less)
- Prototip / MVP sürətlə çıxarmalısan (schema migration dərdi yoxdur)
- Node.js / Express stack istifadə edirsən (Mongoose ilə super rahat)
- Data strukturun tez-tez dəyişir və migration yazmaqdan bezib boğazına yığılıb
💰 Hosting və xərc: Bakı startapı üçün reallıq
Azərbaycandan serverləri idarə edərkən:
| Xidmət | PostgreSQL | MongoDB |
|---|---|---|
| Managed (ən rahat) | Supabase: pulsuz tier + $25/ay | MongoDB Atlas: pulsuz tier (512MB) + $57/ay (M10) |
| VPS üzərində | DigitalOcean $6/ay droplet kifayət | DigitalOcean $6/ay, amma RAM tələbi daha çox |
| Azərbaycan hosting | AzServers-də manual quraşdırma | Lokal provider-lərdə dəstək az |
Məsləhət: Bakıda startap üçün ilk gündən managed database istifadə et. $25-57/ay xərc, 2000-3000 AZN maaşlı developer-in database admin oynamasından ucuzdur. Vaxtını feature yazmağa sərf et.
🔥 2026-da trend: PostgreSQL hər şeyi edir?
Son illərdə PostgreSQL o qədər güclənib ki, MongoDB-nin bir çox üstünlüyünü öz içində həll edir:
- JSONB — document store kimi istifadə (sürəti MongoDB ilə müqayisə olunacaq səviyyədə)
- pg_vector — AI embedding-lər üçün vector search
- PostGIS — geolocation (delivery startaplar üçün əla)
- Logical replication — scaling imkanları
Bu o deməkdir ki, "şübhən varsa, PostgreSQL seç" prinsipi 2026-da daha da güclüdür.
🎯 Nəticə: Tək cümlə ilə
Əgər Bakıda startap qurursan və hansını seçəcəyini bilmirsənsə — PostgreSQL ilə başla. SQL biliyi Azərbaycan bazarında daha çox iş imkanı açır, ACID sənin pulunu qoruyur, JSONB isə çeviklik verir.
MongoDB isə konkret ssenaridə (real-time analytics, content platform, IoT, sürətli prototip) parlayır — onu bilmək əlavə üstünlükdür, əsas silah yox.
Boss.az-da növbəti vakansiyaya müraciət edəndə, resume-da hər ikisini yaz. Amma portfolio layihəndə PostgreSQL görmək istəyən hiring manager daha çox olacaq. 😉
Sualın var? Kommentdə yaz, ya da Telegram qrupumuzda müzakirə edək. Növbəti məqalə: "Docker ilə PostgreSQL + Redis — local dev setup 10 dəqiqəyə."
Kod yaz, Bakıdan dünyaya! 🚀
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.
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.