MongoDB Temel Yapısı
Veri tabanı sistemleri ile ilgili temel kavramlar hakkında biraz fikir sahibi olan kullanıcılar için MongoDB’nin en önemli özelliği, ilişkisel modeli (relational model) kullanmamasıdır. Oysa şu ana kadar popüler veritabanlarının neredeyse tamamı bu modeli kullanıyordu.
İlişkisel model bilindiği gibi temel veri yapısı olarak tabloyu kullanmaktaydı..
MongoDB, ilişkisel (relational) model yerine belgeye dayalı modeli (document oriented model) kullanmaktadır.
MongoDB’de ilişkisel modelin terkedilerek belgeye dayalı modelin kullanılmasının en önemli sebebi, bu model sayesinde ölçeklenebilirliğin (scalability) daha kolay gerçekleştirilmesidir. Bunun yanında belgeye dayalı modelin başka yararları da mevcuttur:
Belgeye dayalı modelde, ilişkisel modelin “satır” (row) kavramı yerine, çok daha esnek bir yapı olan “belge” (document) kavramı kullanılmaktadır. Gömülü belgelere (embedded documents) ve dizilere (arrays) müsaade edilmesi ile, çok karmaşık hiyerarşik yapıları tek bir kayıt (record) içinde saklamak olanaklı hale gelmiştir. Bunun sonucunda, modern nesneye yönelik programlama dilleri ile yazılım geliştirenler, kendi verileri üzerinde yeniden düşünmek ihtiyacını hissetmişlerdir.
Belgeye dayalı modelde, önceden belirlenmiş şemalar mevcut değildir. Belge anahtarları, sabit ve belirli tiplerde olmak zorunda değildir. Alanların (fields) sabit bir şema olmaksızın gerektikçe eklenmesi ve çıkarılması, çok daha kolay hale gelmiştir.
Bu durum, yazılım geliştiricilere hızla iterasyonlar yaparak hızlı yazılım geliştirme imkanı sağlamaktadır. Böylece çok sayıda veri modeli denenerek en uygun olanı seçilebilmektedir.