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

Performa MongoDB - memiliki banyak database

Aplikasi kami membutuhkan 5 koleksi dalam satu db. Ketika kami menambahkan klien ke aplikasi kami, kami ingin mempertahankan db terpisah untuk setiap pelanggan. Misalnya, jika kita memiliki 500 pelanggan, kita akan memiliki 500 db dan 2500 koleksi (setiap db memiliki 5 koleksi). Dengan cara ini kami dapat memisahkan setiap data pelanggan.

Itu ide yang bagus. Selain pemisahan logis yang akan disediakan untuk Anda, Anda juga akan dapat menggunakan keamanan tingkat basis data di MongoDB untuk membantu mencegah akses yang tidak disengaja ke data pelanggan lain.

Kekhawatiran saya adalah, apakah ini akan menyebabkan masalah kinerja?

Tidak, dan sebenarnya itu akan membantu karena dengan kunci level basis data, pertentangan kunci yang sangat berat untuk satu pelanggan (jika itu mungkin dalam skenario Anda) tidak akan memengaruhi kinerja untuk pelanggan lain (masih mungkin jika mereka bersaing untuk bandwidth I/O yang sama tetapi jika Anda menggunakan opsi --directoryperdb maka Anda memiliki kemampuan untuk menempatkan DB tersebut pada perangkat fisik yang terpisah.

Sharding juga akan memungkinkan penskalaan yang mudah karena Anda bahkan tidak perlu mempartisi koleksi apa pun - Anda cukup melakukan round-robin database di beberapa pecahan untuk memungkinkan beban didistribusikan ke cluster yang terpisah (jika dan ketika Anda mencapai level itu).

Bertentangan dengan klaim dalam jawaban lain, utas TTLMonitor TIDAK menarik dokumen ke dalam RAM kecuali jika dihapus (dan ditambahkan ke daftar gratis). Mereka bekerja dari indeks TTL baik untuk mengetahui apakah ada dokumen yang akan kedaluwarsa serta untuk menemukan dokumen secara langsung.

Saya sangat menyarankan terhadap satu database banyak solusi koleksi karena itu tidak memungkinkan Anda untuk mempartisi beban, atau memberikan keamanan, juga tidak lebih mudah untuk menangani di sisi aplikasi.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Perbaiki "nama indeks harus berupa string" saat Menjatuhkan Beberapa Indeks di MongoDB

  2. Mongodb, kueri agregat dengan $lookup

  3. Bagaimana Anda menerapkan ID utama yang bertambah secara otomatis di MongoDB?

  4. Apakah ada alasan mengapa saya harus/tidak boleh menggunakan ObjectId di url RESTful saya

  5. Membuat objek BSON dari string JSON