Solusi NoSQL yang berbeda memecahkan masalah yang berbeda untuk penggunaan yang berbeda - jadi pertama-tama hal terbaik yang harus dilakukan adalah melihat masalah Anda dan memecahnya
- Anda menulis berat ke penyimpanan, oleh karena itu kecepatan tulis penting bagi Anda
- Anda ingin melakukan operasi agregasi pada data tersebut dan mendapatkan hasil yang mudah dikueri
- Kecepatan membaca tidak begitu penting dari suara, setidaknya tidak dalam "aplikasi web harus benar-benar responsif untuk jutaan orang"
- Saya tidak tahu apakah Anda memerlukan kueri dinamis atau tidak
Mari kita lihat Couch, Mongo, dan Raven dalam level yang sangat tinggi, dengan cara yang digeneralisasi
Gagak
- Tulis cepat
- Kueri cepat (akhirnya konsisten, telah dihitung sebelumnya, agregasi melalui peta/pengurangan)
- Kueri dinamis dimungkinkan, tetapi tidak terlalu sesuai dengan kasus penggunaan Anda, karena kemungkinan besar Anda akan membuat kueri berdasarkan tanggal, dll
Mongo
- Tulisan yang sangat cepat (Menurut saya berbahaya, karena mati listrik berarti kehilangan data;-))
- Pembacaan lambat (relatif), agregasi melalui peta/pengurangan, tidak dihitung sebelumnya
- Kueri dinamis hanyalah apa yang Anda_lakukan, tetapi Anda mungkin harus menentukan indeks pada kolom Anda jika Anda menginginkan kinerja apa pun pada jenis data ini
Sofa
- Tulis cepat
- Pembacaan cepat (Dihitung sebelumnya, tetapi diperbarui hanya saat Anda membaca (IIRC)
- Kueri dinamis tidak dimungkinkan, semua telah ditentukan sebelumnya melalui peta atau fungsi peta/pengurangan
Jadi, pada dasarnya - apakah Anda memerlukan kueri dinamis untuk data semacam ini? Apakah kecepatan baca sangat penting bagi Anda? Jika Anda membutuhkan kueri dinamis maka Anda akan menginginkan Raven atau Mongo (Untuk hal semacam ini, Sofa mungkin bukan yang Anda cari).
FWIW, satu-satunya kasus penggunaan Mongo menurut saya adalah untuk logging, jadi Anda mungkin memiliki jawaban di sana.