MongoDB (NoSQL) Nedir? Ne İşe Yarar?
Web Hosting

MongoDB (NoSQL) Nedir? Ne İşe Yarar?

MongoDB (NoSQL) nedir, ne işe yarar? NoSQL kavramını, SQL farkını, PostgreSQL ile ilişkisini ve MongoDB kullanımını örneklerle öğrenin.

Ahmet Yılmaz

Ahmet Yılmaz

Sistem Mühendisi

17 Ekim 2026
5 dk okuma

Bir projeye başlarken veritabanı seçimi, sonradan değiştirmesi en pahalı kararlardan biridir. Sabit tablolara sığmayan, sürekli şekil değiştiren verilerle çalışıyorsanız MongoDB (NoSQL) nedir sorusu önem kazanır. Aşağıda kavramı, SQL ile farkını ve temel kullanımını sade biçimde anlatıyoruz.

İçindekiler

  1. MongoDB (NoSQL) Nedir
  2. NoSQL Ne Demek?
  3. SQL ve NoSQL Farkı Nedir?
  4. MongoDB Nedir, Ne İşe Yarar?
  5. Postgre NoSQL mi?
  6. NoSQL Nedir
  7. MongoDB Nasıl Kullanılır
  8. PostgreSQL Nedir
  9. Sıkça Sorulan Sorular
  10. İlgili İçerikler

MongoDB (NoSQL) Nedir

MongoDB, verileri tablo satırları yerine JSON benzeri belgeler (document) olarak saklayan, açık kaynak kodlu, belge tabanlı bir NoSQL veritabanıdır. Şema esnektir; aynı koleksiyondaki iki kayıt farklı alanlara sahip olabilir. Bu yüzden hızlı değişen uygulamalarda tercih edilir.

Belgeler arka planda BSON adlı ikili formatta tutulur. Birden fazla belge bir koleksiyonda (collection) toplanır; bu, SQL dünyasındaki tabloya yaklaşık karşılıktır. Yazılım geliştiriciler için en büyük rahatlık, uygulamadaki nesne yapısının veritabanındaki yapıya çok benzemesidir.

NoSQL Ne Demek?

NoSQL, "Not Only SQL" (yalnızca SQL değil) ifadesinin kısaltması olarak yaygın biçimde kullanılır. İlişkisel modelin dışında kalan, tablo ve sabit şema zorunluluğu olmayan veritabanı yaklaşımlarının genel adıdır.

Netlen cPanel Web Hosting

Terim, SQL'in işe yaramadığını söylemez. Anlatılmak istenen, her verinin satır-sütun düzenine uymadığı ve bazı işlerde farklı depolama modellerinin daha pratik olduğudur.

Bilgi: NoSQL tek bir ürün değil, bir kategoridir. MongoDB bu kategorinin en bilinen belge tabanlı örneğidir.

SQL ve NoSQL Farkı Nedir?

Temel fark veri modelinde yatar: SQL veritabanları önceden tanımlı tablolar ve ilişkilerle çalışır, NoSQL veritabanları ise esnek yapılar kullanır. Seçim, verinin yapısına, tutarlılık ihtiyacına ve ölçekleme planına bağlıdır.

ÖzellikSQL (İlişkisel)NoSQL (MongoDB)
Veri modeliTablo, satır, sütunBelge, koleksiyon
ŞemaSabit, önceden tanımlıEsnek, dinamik
İlişkilerJOIN ile güçlüGömülü belge veya referans
Sorgu diliSQLSorgu API'si (JSON benzeri)
ÖlçeklemeGenelde dikeyYatay ölçekleme (sharding) kolaydır
Tipik kullanımFinans, stok, muhasebeİçerik, katalog, log, profil

İpucu: "Hangisi daha iyi?" yerine "Verim hangi sıklıkla değişiyor ve ilişkileri ne kadar karmaşık?" sorusunu sorun. Cevap genellikle seçimi kendiliğinden gösterir.

MongoDB Nedir Ne İşe Yarar?

MongoDB; esnek veri yapısı, hızlı geliştirme ve yatay ölçekleme gereken uygulamalarda kullanılır. Ürün kataloğu, kullanıcı profili, içerik yönetimi, mobil uygulama arka ucu ve olay kayıtları tipik örneklerdir.

Başlıca avantajları şunlardır:

  • Şema değişikliği için migrasyon yükü az olur, yeni alan eklemek kolaydır.
  • İç içe veriyi tek belgede tutmak, birden fazla sorguyu ortadan kaldırabilir.
  • Replica set ile yüksek erişilebilirlik, sharding ile büyük veri dağıtımı sağlanır.
  • Çoklu belge işlemleri için transaction desteği vardır (4.0 sürümünden itibaren).

Dürüst bir not: karmaşık çok tablolu ilişkiler ve sıkı raporlama gerektiren işlerde MongoDB zorlayıcı olabilir. Orada ilişkisel bir veritabanı genellikle daha rahat sonuç verir.

Postgre NoSQL mi?

Hayır. PostgreSQL ilişkisel bir veritabanıdır ve SQL kullanır. Ancak JSON ve JSONB veri tiplerini desteklediği için belge benzeri veriyi de saklayabilir; bu yüzden zaman zaman "hibrit" olarak anılır.

JSONB sütunları indekslenebilir ve sorgulanabilir. Yine de temel mimarisi tablo ve şemaya dayanır. Esnek verinin az, ilişkisel verinin çok olduğu projelerde tek bir PostgreSQL ile yetinmek mümkündür.

NoSQL Nedir

NoSQL, ilişkisel olmayan veritabanlarını tanımlayan geniş bir çatıdır ve veri saklama biçimine göre dört ana türe ayrılır. Her tür farklı bir probleme odaklanır.

TürMantıkÖrnek
Belge tabanlıJSON benzeri belgelerMongoDB, CouchDB
Anahtar-değerAnahtar ile hızlı erişimRedis
Sütun ailesiBüyük ölçekli sütun verisiCassandra
GrafDüğüm ve ilişki yapısıNeo4j

Önbellek için Redis, sosyal ağ ilişkileri için graf, genel amaçlı esnek uygulamalar için belge tabanlı modeller öne çıkar.

MongoDB Nasıl Kullanılır

MongoDB'yi kullanmaya başlamak için sunucuya kurulum yapar, mongosh kabuğuyla bağlanır ve belgeler ekleyip sorgularsınız. Varsayılan bağlantı portu 27017'dir. Alternatif olarak MongoDB Atlas gibi bulut hizmetleri de kullanılabilir.

Temel adımlar:

  1. MongoDB'yi kurun ve servisi başlatın.
  2. mongosh komutuyla bağlanın.
  3. Veritabanı seçin: use magaza
  4. Belge ekleyin: db.urunler.insertOne({ ad: "Klavye", fiyat: 750, stok: 40 })
  5. Sorgulayın: db.urunler.find({ fiyat: { $lt: 1000 } })
  6. Güncelleyin: db.urunler.updateOne({ ad: "Klavye" }, { $set: { stok: 35 } })
  7. Silin: db.urunler.deleteOne({ ad: "Klavye" })

Uyarı: MongoDB'yi internete açık bırakıp kimlik doğrulamayı etkinleştirmemek ciddi bir güvenlik riskidir. Yetkilendirmeyi açın, güvenlik duvarıyla erişimi kısıtlayın ve düzenli yedek alın.

Kendi sunucunuzda kurulum yapmak istiyorsanız, root erişimi olan bir sunucu gerekir. Netlen sunucu hizmetleri bu tür kurulumlar için bir seçenek olarak değerlendirilebilir; ihtiyaç duyacağınız kaynakları önceden planlamanız faydalı olur.

PostgreSQL Nedir

PostgreSQL, SQL standardına güçlü uyum sağlayan, açık kaynaklı bir nesne-ilişkisel veritabanı yönetim sistemidir. Veri bütünlüğü, karmaşık sorgular ve genişletilebilirlik konusunda tercih edilir.

KriterMongoDBPostgreSQL
Veri yapısıBelgeTablo (JSONB desteğiyle)
Karmaşık JOINSınırlı rahatlıkGüçlü
Şema esnekliğiYüksekOrta, JSONB ile artar
Uygun senaryoKatalog, içerik, logFinans, ERP, raporlama

Projenizde ilişkiler önemliyse PostgreSQL, veri biçimi sık değişiyorsa MongoDB mantıklı bir başlangıçtır.

Sıkça Sorulan Sorular

MongoDB ücretsiz mi?

MongoDB Community Edition ücretsiz olarak indirilip kullanılabilir. Lisansı SSPL'dir, yani bulut hizmeti olarak sunmak isteyenler için koşullar vardır. Yönetilen hizmet olan Atlas'ın ise ücretsiz bir başlangıç katmanı ve kullanıma göre değişen ücretli planları bulunur. Güncel koşullar için resmî sayfayı kontrol edin. Kendi sunucunuzda kullanırken asıl maliyet sunucu kaynakları, yedekleme ve bakım emeğidir.

MongoDB hangi dille yazılır ve hangi dillerle kullanılır?

MongoDB'nin çekirdeği C++ ile geliştirilmiştir. Uygulama tarafında ise Node.js, Python, Java, C#, PHP, Go gibi birçok dil için resmî sürücüler bulunur. JavaScript ile çalışan geliştiriciler için sorgu sözdizimi tanıdık gelir. Node.js tarafında Mongoose gibi kütüphaneler şema ve doğrulama eklemek için yaygın kullanılır.

MongoDB'de şema yok mu?

MongoDB şemayı zorunlu tutmaz ama yasaklamaz. İsterseniz JSON Schema doğrulaması tanımlayarak alanların tipini ve zorunluluğunu kısıtlayabilirsiniz. Üretim ortamında bu doğrulamayı kullanmak, "esnek" yapının zamanla dağınık veriye dönüşmesini önler. Yani esneklik bir seçenektir, kural dışı veri girişi için serbest bırakma anlamına gelmez.

MongoDB hızlı mıdır?

Hız, veri modeline ve indekslemeye bağlıdır. İlişkili veriyi tek belgede tutmak okuma işlemlerini hızlandırabilir. Yine de doğru indeks olmadan büyük koleksiyonlarda sorgular yavaşlar. Genel bir "her zaman daha hızlı" iddiası yanlıştır; gerçek iş yükünüzle test yapmak en doğru yoldur.

MongoDB ACID destekler mi?

Evet. Tek belge işlemleri baştan beri atomiktir. 4.0 sürümünden itibaren çoklu belge transaction desteği de vardır. Ancak transaction'lar performans maliyeti getirir; MongoDB'de veriyi tek belgede toplamak çoğu zaman transaction ihtiyacını azaltır. Ödeme gibi kritik akışlarda tasarımı bu açıdan dikkatle planlayın.

MongoDB'de JOIN var mı?

Doğrudan SQL'deki gibi JOIN yoktur. Bunun yerine aggregation pipeline içindeki $lookup aşaması koleksiyonlar arası birleştirme yapar. Ancak sık ve karmaşık birleştirmeler gerekiyorsa, bu genellikle verinin ilişkisel yapıya daha uygun olduğunun işaretidir. Gömülü belge tasarımı çoğu durumda JOIN ihtiyacını ortadan kaldırır.

MongoDB hangi projelerde tercih edilmemeli?

Çok sayıda tablo arası ilişki, sıkı referans bütünlüğü ve karmaşık raporlama gereken sistemlerde MongoDB zorlayabilir. Muhasebe, stok ve ERP gibi uygulamalarda ilişkisel veritabanı daha doğal bir uyum sunar. Karar verirken sadece trende değil, verinin gerçek yapısına bakın.

MongoDB için hangi sunucu gerekir?

Küçük projeler için bir VPS yeterli olabilir; MongoDB bellek kullanımı yüksek olduğundan RAM miktarına dikkat edin. SSD disk, indeks ve veri boyutuna yetecek alan ve düzenli yedekleme planı önemlidir. Paylaşımlı hosting genellikle MongoDB kurulumuna izin vermez; root erişimi olan bir sunucu ortamı gerekir.

MongoDB verileri nasıl yedeklenir?

Küçük ve orta ölçekli veritabanlarında mongodump ve mongorestore araçları kullanılır. Daha büyük sistemlerde dosya sistemi snapshot'ları veya yönetilen hizmetlerin yedekleme özellikleri tercih edilir. Yedeği sunucunun dışında bir konumda saklayın ve geri yükleme işlemini düzenli aralıklarla test edin.

Yeni başlayan biri önce SQL'i mi NoSQL'i mi öğrenmeli?

Çoğu durumda önce SQL öğrenmek mantıklıdır. İlişkisel mantık, veri modelleme düşüncesini oturtur ve NoSQL tasarımında hangi tercihin ne getirdiğini anlamayı kolaylaştırır. Ardından MongoDB'ye geçmek zor olmaz. Hedefiniz hızlıca bir Node.js uygulaması çıkarmaksa MongoDB ile başlamak da makul bir yoldur.

Kapanış

MongoDB, esnek veri yapısı gerektiren projelerde güçlü bir seçenektir. İlişkisel veritabanlarının yerini almaz, farklı bir ihtiyaca cevap verir. Projenizin veri yapısını netleştirip küçük bir prototiple test etmek, doğru kararı vermenin en sağlam yoludur. Kurulum için bir sunucu ortamı arıyorsanız netlen.com.tr üzerindeki hizmetleri inceleyebilirsiniz.

İlgili İçerikler

  • VPS Sunucu Nedir? Ne İşe Yarar?
  • Veritabanı Nedir? Türleri ve Kullanım Alanları
  • PostgreSQL Nedir? Kurulum ve Temel Komutlar
  • Linux Sunucuya MongoDB Kurulumu Nasıl Yapılır?
  • Web Hosting ile Sunucu Arasındaki Farklar Nelerdir?

Netlen'i Google'da Takip Edin

En güncel rehberlerimize, duyurularımıza ve teknik içeriklerimize Google üzerinden öncelikli ulaşmak için Netlen'i tercih ettiğiniz kaynaklar arasına ekleyin.

GoogleGoogle'da Tercih edilenkaynak olarak ekleyin
MongoDBNoSQLveritabanı

Bu yazıyı paylaşın

Ahmet Yılmaz

Yazar Hakkında

Ahmet Yılmaz

Sistem Mühendisi

Sistem mühendisi olarak Linux sunucu yönetimi, ağ güvenliği ve bulut altyapı optimizasyonu konularında uzmanlaşmış deneyimli bir profesyonelim.

Yorumlar

Bu yazı hakkında okuyucu yorumları