MongoDB'yi hiyerarşik bir veri yönetim sistemi oluşturarak (son 6 aydır) yoğun bir şekilde kullandım ve hem kurulum kolaylığı (hem kurun, çalıştırın, kullanın!) Hem de hız için kefil olabilirim. Endeksleri dikkatlice düşündüğünüz sürece, kesinlikle hızlı bir şekilde çığlık atabilir.
Cassandra'nın Twitter gibi büyük ölçekli projelerle kullanılması nedeniyle MongoDB ekibi orada parite üzerinde çalışmasına rağmen daha iyi ölçeklendirme işlevselliğine sahip olduğunu düşünüyorum. Cassandra'yı deneme aşamasının ötesinde kullanmadığımı belirtmeliyim, bu yüzden detay için konuşamam.
Benim için gerçek swinger, NoSQL veritabanlarını değerlendirirken sorgulamaktı - Cassandra temelde sadece dev bir anahtar / değer deposu ve sorgulama biraz fiddly (en azından MongoDB ile karşılaştırıldığında), bu yüzden performans için bir tür manuel dizin olarak oldukça fazla veri çoğaltın. MongoDB ise "örnek sorgu" modelini kullanır.
Örneğin, Kullanıcılar içeren bir Koleksiyonunuz (RDMS tablosuna eşdeğer için MongoDB parlance değeri) olduğunu varsayalım. MongoDB, kayıtları temelde ikili JSON nesneleri olan Belgeler olarak saklar. Örneğin:
{
FirstName: "John",
LastName: "Smith",
Email: "john@smith.com",
Groups: ["Admin", "User", "SuperUser"]
}
Smith adlı Yönetici haklarına sahip tüm kullanıcıları bulmak istiyorsanız, sadece yeni bir belge oluşturursunuz (Javascript kullanarak yönetici konsolunda veya seçtiğiniz dili kullanarak üretimde):
{
LastName: "Smith",
Groups: "Admin"
}
... ve ardından sorguyu çalıştırın. Bu kadar. Karşılaştırmalar, RegEx filtreleme vb. İçin ek işleçler vardır, ancak hepsi oldukça basittir ve Wiki tabanlı belgeler oldukça iyidir.