MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Pro dan Kontra menggunakan MongoDB daripada MS SQL Server

Saya sendiri pemula di database NoSQL. Jadi saya menjawab ini dengan mengorbankan kemungkinan suara yang turun, tetapi ini akan menjadi pengalaman belajar yang luar biasa bagi saya.

  • untuk mengetahui apakah MongoDB bagus untuk menyimpan data seperti itu, yang pada akhirnya akan ditanyakan terhadap rentang waktu (mis. mengambil semua gambar kamera tertentu antara jam tertentu)? Adakah saran tentang desain skema Berbasis Dokumen untuk kasus saya?

MongoDB menjadi db berorientasi dokumen, pandai menanyakan di dalam agregat (Anda menyebutnya dokumen). Karena Anda sudah menyimpan data setiap kamera di tabelnya sendiri, di MongoDB Anda akan memiliki koleksi yang terpisah dibuat untuk setiap kamera. Berikut caranya Anda melakukan kueri rentang tanggal.

  • Bagaimana spesifikasi server (CPU, RAM, Disk)? ada saran?

Semua basis data NoSQL dibuat untuk meningkatkan skala pada perangkat keras komoditas. Namun, jika Anda mengajukan pertanyaan, Anda mungkin berpikir untuk meningkatkan kinerja dengan meningkatkan skala . Anda dapat memulai dengan mesin yang masuk akal dan saat beban meningkat, Anda dapat terus menambahkan lebih banyak server (penskalaan). Anda tidak perlu merencanakan dan membeli server kelas atas.

  • Haruskah saya mempertimbangkan Sharding/Replikasi untuk skenario ini (sambil mempertimbangkan kinerja secara tertulis untuk menyinkronkan set replika)?

MongoDB mengunci seluruh db untuk satu penulisan (tetapi menghasilkan untuk operasi lain) dan dimaksudkan untuk sistem yang memiliki lebih banyak pembacaan daripada penulisan. Jadi ini tergantung pada bagaimana sistem Anda. Ada beberapa cara sharding dan harus spesifik domain. Jawaban umum tidak mungkin. Namun beberapa contoh dapat diberikan seperti sharding berdasarkan geografi, berdasarkan cabang, dll.

Baca juga Pengantar bahasa Inggris sederhana untuk Teorema CAP

Diperbarui dengan jawaban atas komentar tentang sharding

Menurut dokumentasi mereka , Anda harus mempertimbangkan untuk men-deploy sharded cluster, jika:

Jadi berdasarkan poin terakhir ya. Fitur auto-sharding dibuat untuk menskalakan penulisan. Dalam hal ini, Anda memiliki kunci tulis per shard , bukan per database . Tapi saya adalah jawaban teoretis. Saya sarankan Anda mengambil konsultasi dari grup 10gen.com.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bisakah saya menggunakan MongoDB sebagai pengganti CoreData di iOS?

  2. Apa yang bisa menyebabkan kesalahan topologi hancur saat memanggil db.destroyDatabase dengan node.js mongodb asli?

  3. Menemukan perbedaan dari koleksi di mongodb

  4. wildcard awalan mongoDB:pencarian teks lengkap ($ teks) temukan bagian dengan string pencarian

  5. PostgreSQL vs. MongoDB