Sizin durumunuz için, MongoDB iyi bir seçim gibi geliyor, ancak en iyi seçim olmayacağı birçok senaryo (muhtemelen çoğu) var.
MongoDB daha çağrı / okuma yazma o senaryolarda uygun olan bir çok işlem güvenliği çok vurgu olmadan, verinin (bazı veriler bazen bir sunucu kazasında kaybolması durumunda, bu büyük bir anlaşma değil), 'ölçek Big bekliyoruz ve don Gerçekten istikrarlı bir şemamız yok.
MongoDB, aşağıdakileri gerektiren senaryolar için uygun değildir :
- Güçlü ASİT garantileri: MongoDB, yinelenen verilerin saklanmasına, tutarsız okumalara ve hatta veri kaybına izin verir. Bunlar bazı uygulamalarda iyidir, ancak çoğunda iyi değildir.
- Çok Nesneli İşlemler: MongoDB, yalnızca tek bir nesne / belge için ASİT işlemlerini destekler. Bu, banka havaleleri, rezervasyon vb. Gibi daha karmaşık işlemler için kesilmez.
- Geleneksel BI: Orada sadece geleneksel SQL ile iyi oynayan birçok BI aracı var.
- SQL: MongoDB'nin çok spesifik bir sorgu dili vardır, ancak SQL birçok insan tarafından çok iyi bilinir (dikkate alınması gereken önemli bir husus olabilir), birçok karmaşık şey yapabilir (MongoDB ile basit bir performans ve birçok uygulama arasında aktarılabilir).
MongoDB daha hızlıdır ve bütünlük kontrolleri gibi RDBMS'nin varsayılan olarak uyguladığı birçok şeyi ortadan kaldırarak sistemden daha fazla performans eklemenize izin verir (yine de RDBMS'yi bu amaçlar için de ayarlayabilirsiniz), ancak gerçek şu ki, çoğu senaryoda, buna gerek yoktur. Ayrıca, değişim güvenilirlik ve esnekliktir (daha sonra mevcut verilerle daha karmaşık işlemler yapmanız gerektiğine karar verirseniz sorun yaşarsınız).
Her şey inşa ettiğiniz uygulamanın ihtiyaçlarına bağlıdır. Hız ve kullanılabilirlik mi yoksa güvenlik, güvenilirlik ve esneklik mi? Verilerinizde (ve verilerinizin bağlantılarında) nerede daha fazla değer bulunduğunu bilmelisiniz. Henüz bilmiyorsanız, gelecekte sizi bir köşeye boyamayacak bir şey seçmeniz ve özellikleri eklemenize ve uygulamanızın gerektirdiği işlemleri gerçekleştirmenize izin vermesi muhtemelen en iyisidir.