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

apakah ini pengaturan minimum optimal untuk mongodb untuk memungkinkan sharding/scaling?

Set Replika adalah satu set komputer yang kloning satu sama lain. (yaitu:replika ) Dalam satu set tertentu ada master terpilih. Secara default, baca dan tulis pergi ke master terpilih ini dan replika hanya "mengekor" perubahan menjadi salinan terbaru. Jika master gagal, master baru dipilih dan sistem terus berjalan. Dokumentasinya di sini .

Jadi, Anda bertanya tentang penskalaan dengan MongoDB. Ada dua jenis penskalaan:

  • Baca Penskalaan:gunakan Kumpulan Replika (lihat di sini )
  • Tulis Penskalaan:gunakan Sharding

Konfigurasi minimum untuk Replica Sets adalah- 2 replika penuh- 1 arbiter (proses ringan, memutuskan ikatan saat voting)

Konfigurasi minimum untuk Sharding adalah- 1 server konfigurasi- 1 mongod proses (hanya satu pecahan)- 1 atau lebih mongos (umumnya di server aplikasi)

Namun, Anda mungkin tidak ingin menjalankan seperti ini dalam produksi. Menjalankan hanya satu DB, berarti Anda hanya memiliki satu sumber untuk data yang dapat mengakibatkan waktu henti yang besar atau kehilangan data total. Ini biasanya diselesaikan dengan menggunakan set replika.

Selain itu, server konfigurasi cukup penting. MongoDB mendukung 1 atau 3 server konfigurasi. Sebagian besar penerapan produksi menggunakan 3. Perhatikan bahwa server konfigurasi dan arbiter sangat ringan dan dapat hidup di kotak lain atau di instans mikro Amazon.

Sebagian besar penerapan produksi dengan sharding juga melibatkan set replika. Bahkan, mereka biasanya mulai sebagai set replika.

Dari perspektif sharding, seharusnya semudah:- mulai server pecahan baru- jalankan addshard perintah dari mongos

Perhatikan bahwa saat menambahkan shard, Anda perlu menyediakan waktu dan sumber daya saat data bermigrasi antara shard dan semuanya kembali seimbang.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Pendefinisian skema Mongodb

  2. Query luwak dokumen bersarang lebih besar atau kurang tanggal tertentu

  3. Menggabungkan nilai string dalam array dalam satu bidang di MongoDB

  4. cara menangani kesalahan pemutusan untuk MongoDB

  5. Mengapa Mongoose menambahkan array kosong?