MongoDB
MongoDB, her kaydı kendi esnek belgesi olarak saklayan bir veritabanıdır; böylece iki ürün aynı sabit kalıba sokulmadan çok farklı bilgiler taşıyabilir.
Şu adla da bilinir NoSQL veritabanı belge veritabanı Mongo
Tanım
MongoDB verilerinizi tuttuğunuz bir yerdir ve onu farklı kılan şey, verileri tuttuğu biçimdir. Çoğu veritabanı bir hesap tablosu gibi çalışır; orada her satırda aynı sütunlar vardır ve her satır onları doldurmak zorundadır. MongoDB ise her kaydı tek başına, belge adı verilen küçük bir blokta tutar, bu yüzden her belge yalnızca gerçekten ihtiyaç duyduğu alanları taşır.
Bunun neden önemli olduğunu bir ürün kataloğu gösterir, çünkü ayakkabının numarası ve rengi varken dizüstü bilgisayarın işlemcisi ve ekran boyutu vardır. Bir paket kahve ikisine de benzemez, zira onun ihtiyacı kavrulma tarihidir. Üçünü tek bir tabloya sokarsanız neredeyse her üründe boş kalan onlarca sütun elde edersiniz ki MongoDB tam da bu dağınıklığı önler. Orada ayakkabı ayakkabıya ait şeyleri, dizüstü de kendine ait şeyleri saklar ve ikisinin birbirinden haberi olmaz.
Bu özgürlüğün bir bedeli var ve kimse sizi bu konuda uyarmıyor. İki kaydın birbiriyle çelişmesini engelleyen hiçbir şey yok, dolayısıyla bir ürün fiyatını 100 sayısı olarak kaydederken bir sonraki aynı fiyatı "100" metni olarak kaydedebilir. İkisi de itirazsız içeri girer. Sonra biri kataloğu fiyata göre sıralar ve liste yanlış çıkar, çünkü metin harf harf karşılaştırılır ve "100", "9"dan önce gelir. Kurallar yok olmadı. Yalnızca ekibinizin yazdığı yazılımın içine taşındı, bu da daha az değil daha çok iş demek. Linkysoft bu yüzden kuralları bir web uygulaması projesinin ilk günü belirler, çünkü onları sonradan bir milyon eski kayıt üzerinde düzeltmek kötü bir haftadır.
Yani MongoDB, kayıtlar gerçekten birbirinden farklıysa yakışır; ürün katalogları, form yanıtları, hareket kayıtları ve işin değişmesiyle biçimi değişen her şey buna girer. Verinin derli toplu olduğu ve hesabın tam tutması gereken yerlerde kötü durur, bu yüzden faturalarda ve ödemelerde sıradan tablo veritabanı daha güvenlidir. Pek çok sistem de ikisini birlikte çalıştırır. Storek gibi bir dükkân sistemi, biçimi sürekli değişen kataloğu asla yanlış yuvarlanmaması gereken paranın yanında taşır.
İmzadan önce her tedarikçiye tek bir soru sorun, o da bir alanın anlamı gelecek yıl değişmek zorunda kalırsa ne olacağıdır. Cevap yeni bir alan yazmaya başlayacakları yönündeyse, eski kayıtları kimin düzelteceğini de sorun. Aynı soruyu sonra telefon için tekrarlayın, çünkü çevrimdışı çalışmayı saklayan bir mobil uygulama belgeleri günlerce cihazda tutar. O cihazların bir kısmı hâlâ geçen yılın sürümünü çalıştırır, bu yüzden Linkysoft bunu veritabanı sorusu değil tasarım sorusu olarak ele alır. Cevabı da çoğu zaman sakin bir ikinci yılla zorlu bir ikinci yıl arasındaki farktır.
MongoDB hakkında sorular
MongoDB, MySQL'den daha mı iyi?
MongoDB ücretsiz mi?
Verilerimi MongoDB'den sonradan çıkarabilir miyim?
MongoDB'nin yine de yedeğe ihtiyacı var mı?
MongoDB küçük bir işletme için uygun mu?
Bunun projenize nasıl uyduğundan hâlâ emin değil misiniz?
Ne inşa ettiğinizi bize anlatın, size sade bir dille yanıt verelim.