İçeriğe geç
parazade

MongoDB Nedir?

Yayın: · Son güncelleme:

MongoDB Nedir? Kısaca

MongoDB, verileri tablolar yerine JSON benzeri dokümanlar hâlinde saklayan, doküman tabanlı bir NoSQL veritabanıdır. Esnek yapısı sayesinde alanları kayıttan kayda değişebilen veriler kolayca tutulur.

MongoDB nedir?
İçindekiler
  1. MongoDB nedir?
  2. Nasıl çalışır?
  3. Nerelerde kullanılır?
  4. Nelere dikkat etmeli?

MongoDB nedir?

MongoDB, aynı adlı şirketin geliştirdiği doküman tabanlı bir veritabanıdır. Veriler, JSON'a benzeyen ve BSON adı verilen ikili biçimde saklanan dokümanlarda tutulur. Benzer dokümanlar "koleksiyon" adı verilen gruplarda toplanır; bunu ilişkisel dünyadaki tabloya benzetebilirsiniz.

İlk sürümü 2009'da yayımlandı. Topluluk sürümü 2018'den beri SSPL lisansıyla dağıtılır ve şirketin MongoDB Atlas adlı yönetilen bulut hizmeti de bulunur.

Nasıl çalışır?

Her doküman kendi alanlarını taşır ve aynı koleksiyondaki dokümanların birebir aynı yapıda olması gerekmez. Varsayımsal bir ürün kaydı şöyle görünebilir:

{ "ad": "Kot Ceket", "fiyat": 850, "bedenler": ["S", "M", "L"] }

Başka bir üründe "bedenler" alanı hiç olmayabilir ya da "renk" alanı eklenebilir. Sorgular, MongoDB'nin kendi sorgu diliyle yazılır; örneğin fiyatı 1.000 TL'nin altındaki ürünleri bulmak için bir filtre nesnesi gönderilir.

Nerelerde kullanılır?

Ürün katalogları, içerik yönetimi, kullanıcı profilleri ve olay kayıtları tipik kullanım alanlarıdır. JavaScript ile yazılan projelerde veri biçimi koda yakın olduğu için geliştiriciler hızlı ilerler. MERN yığınındaki "M" harfi de MongoDB'yi temsil eder.

Nelere dikkat etmeli?

Esneklik, plansız kullanıldığında dağınık veriye dönüşebilir. Hangi alanların zorunlu olduğunu şema doğrulama kurallarıyla belirlemek iyi bir alışkanlıktır. Birbirine sıkı bağlı, çok tablolu muhasebe verilerinde ise ilişkisel veritabanı genellikle daha doğal bir seçimdir.

Sıkça Sorulan Sorular

MongoDB ücretsiz kullanılabilir mi?

Topluluk sürümü kendi sunucunuza ücretsiz kurulabilir ve Atlas hizmetinin sınırlı bir ücretsiz katmanı bulunur. Lisans ve kota koşulları değişebildiği için güncel bilgiyi MongoDB'nin resmî sitesinden kontrol edin.

MongoDB'de JOIN yapılabilir mi?

Doğrudan JOIN komutu yoktur, ancak aggregation içindeki $lookup aşamasıyla iki koleksiyon birleştirilebilir. Yine de MongoDB'de veriyi ilgili doküman içine gömmek çoğu zaman daha verimli bir yaklaşımdır.

İlgili terimler

NoSQLNoSQL, verileri sabit tablolar yerine doküman, anahtar-değer, sütun ailesi ya da graf gibi esnek yapılarda saklayan veritabanlarının genel adıdır. Adı "Not only SQL" (yalnızca SQL değil) olarak yorumlanır.MERN StackMERN stack, MongoDB, Express.js, React ve Node.js teknolojilerinin baş harflerinden oluşan ve web uygulamasının tüm katmanlarının JavaScript ile geliştirilmesini sağlayan popüler bir teknoloji yığınıdır.JSONJSON (JavaScript Object Notation), verileri anahtar-değer çiftleri ve listeler hâlinde, hem insanların hem makinelerin kolayca okuyabileceği metin biçiminde saklayan ve taşıyan veri formatıdır.FirebaseFirebase, Google'ın mobil ve web uygulamaları için sunduğu bir arka uç hizmeti (BaaS) platformudur. Veritabanı, kullanıcı girişi, dosya depolama, barındırma ve bildirim gibi hizmetleri sunucu kurmadan kullanmanızı sağlar.JavaScriptJavaScript, web sayfalarına buton tıklaması, form doğrulama ve anlık güncelleme gibi etkileşimler kazandıran, tarayıcıların yanı sıra Node.js ile sunucuda da çalışabilen yaygın bir programlama dilidir.Muhasebe(Accounting)Muhasebe, bir işletmenin para ile ölçülebilen ticari işlemlerini belgelere dayanarak kaydeden, sınıflandıran, özetleyen ve bilanço ile gelir tablosu gibi raporlar hâlinde ilgililere sunan bilgi sistemidir.İlişkisel Veritabanı(Relational Database)İlişkisel veritabanı, verileri satır ve sütunlardan oluşan tablolarda saklayan ve tabloları ortak anahtarlarla birbirine bağlayan veritabanı türüdür. Veriler SQL diliyle sorgulanır ve güncellenir.