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

Pertunjukan MongoDB - berapa banyak database, koleksi?

Pendekatan 1(A): Membuat satu database untuk semuanya. (Dengan koleksi tunggal)

Pro:

  • Lebih sedikit pemeliharaan:Cadangkan, buat pengguna basis data, pulihkan, dll

Kekurangan:

  • Anda mungkin melihat kunci tingkat basis data untuk membuat indeks pada database besar
  • Untuk melakukan operasi pada data sensor tertentu, Anda perlu menambahkan indeks tambahan untuk mengambil koleksi khusus sensor saja
  • Anda terikat untuk tidak membuat lebih dari 64 indeks pada satu koleksi. Meskipun terdengar strategi pengindeksan yang buruk.

Pendekatan 1(B): Membuat satu database untuk semuanya. (Dengan 1 koleksi untuk setiap sensor)

Pro:

  • Lebih sedikit pemeliharaan:Cadangkan, buat pengguna basis data, pulihkan, dll
  • Meminimalkan kebutuhan untuk membuat indeks untuk mengidentifikasi data spesifik sensor dari seluruh koleksi monolitik
  • Setiap kueri khusus sensor hanya akan ditargetkan pada koleksi tertentu. Tidak perlu menarik set kerja besar ke dalam memori dibandingkan dengan satu koleksi besar.
  • Membangun indeks pada koleksi yang relatif lebih kecil lebih layak dibandingkan dengan koleksi besar dalam satu DB

Kekurangan:

  • Anda mungkin akhirnya membuat terlalu banyak indeks. (Jumlah jumlah indeks pada semua koleksi).
  • Lebih banyak pemeliharaan diperlukan untuk sejumlah besar indeks.
  • WiredTiger membuat 1 file untuk koleksi dan 1 untuk indeks secara internal. Jika kasus penggunaan Anda berkembang dengan sejumlah besar sensor. Anda mungkin akan menggunakan batas file terbuka 64K.

Dari segi kinerja, apakah penting jika saya mempartisi data menurut setiap sensor atau metrik?

  • Ini bergantung pada pola akses yang diharapkan dari aplikasi analytics Anda.

Dari segi kinerja, haruskah saya membuat koleksi hanya untuk info sensor dan kemudian koleksi untuk data atau hanya menggabungkan keduanya dalam koleksi yang sama?

  • Membuat koleksi untuk metadata sensor dan data sensor mungkin diperlukan. Ini akan meminimalkan duplikasi metadata sensor di setiap data sensor yang dikumpulkan.

  • Anda mungkin ingin membaca Posting blog Williams di sini untuk mendesain pola ini.

Seperti biasa, lebih baik untuk merancang skema sampel dan menguji kueri Anda dalam lingkungan pengujian Anda.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Model luwak TypeError:Skema bukan konstruktor

  2. Bagaimana cara mengamankan MongoDB dengan nama pengguna dan kata sandi

  3. 4 Cara Menghapus Dokumen di MongoDB

  4. pencarian elastis vs. MongoDB untuk memfilter aplikasi

  5. Gunakan server MongoDB tiruan untuk pengujian unit