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

Penyeimbangan beban MongoDB di beberapa instans AWS

Ini tidak akan menjadi jawaban yang lengkap sejauh ini, ada terlalu banyak detail dan saya dapat menulis seluruh esai tentang pertanyaan ini seperti yang bisa dilakukan banyak orang lain, karena saya tidak punya waktu luang seperti itu, saya akan menambahkan beberapa komentar tentang apa yang saya lihat.

Set replika tidak dirancang untuk bekerja seperti itu. Jika Anda ingin memuat keseimbangan, Anda mungkin sebenarnya mencari sharding yang memungkinkan Anda melakukan ini.

Replikasi adalah untuk failover otomatis.

Karena, untuk tetap mendapatkan informasi terbaru, anggota Anda akan mendapatkan operasi sebanyak yang utama, sepertinya ini mungkin tidak terlalu membantu.

Pada kenyataannya alih-alih memiliki satu server dengan banyak koneksi yang antri, Anda memiliki banyak koneksi di banyak server yang mengantri untuk data basi karena konsistensi anggota pada akhirnya, tidak langsung tidak seperti teknologi ACID, namun, dikatakan bahwa mereka pada akhirnya hanya konsisten dengan 32-aneh ms yang berarti mereka tidak cukup tertinggal untuk memberikan throughput yang layak jika yang utama dimuat.

Sejak membaca ADALAH bersamaan Anda akan mendapatkan kecepatan yang sama apakah Anda membaca dari primer atau sekunder. Saya kira Anda dapat menunda seorang budak untuk membuat jeda OP, tetapi itu akan mengembalikan data yang sangat basi sebagai imbalannya.

Belum lagi MongoDB bukan multi-master karena itu Anda hanya dapat menulis ke satu node setiap kali membuat slaveOK bukan pengaturan yang paling berguna di dunia lagi dan saya telah melihat berkali-kali di mana 10gen sendiri merekomendasikan Anda menggunakan sharding di atas pengaturan ini.

Ini akan mengharuskan Anda memiliki pengkodean. Pada titik mana Anda mungkin ingin mempertimbangkan untuk benar-benar menggunakan database yang mendukung http://en.wikipedia .org/wiki/Multi-master_replication

Ini karena kecepatan yang Anda cari kemungkinan besar sebenarnya dalam menulis bukan membaca seperti yang saya bahas di atas.

Ini adalah cara yang disarankan tetapi Anda telah menemukan peringatan dengannya. Sayangnya, ini adalah sesuatu yang masih belum terpecahkan yang seharusnya diselesaikan oleh replikasi multi-master, namun, replikasi multi-master memang menambahkan kapal tikus pesnya sendiri ke Eropa dan saya sangat menyarankan Anda melakukan penelitian serius sebelum Anda berpikir apakah MongoDB saat ini tidak dapat melayani kebutuhan Anda.

Anda mungkin benar-benar tidak mengkhawatirkan apa pun karena antrian fsync dirancang untuk menangani kemacetan IO yang memperlambat penulisan Anda seperti halnya dalam SQL dan pembacaan secara bersamaan, jadi jika Anda merencanakan skema dan pengaturan kerja Anda dengan benar, Anda harus bisa mendapatkan banyak jumlah OP.

Sebenarnya ada pertanyaan terkait di sini dari karyawan 10gen yang sangat bagus untuk dibaca:https:/ /stackoverflow.com/a/17459488/383478 dan ini menunjukkan seberapa banyak throughput yang dapat dicapai MongoDB di bawah beban.

Ini akan segera berkembang dengan penguncian level dokumen baru yang sudah ada di cabang dev.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - Impor CSV ke dalam dokumen bersarang

  2. Pangkas tanda kutip ganda di json yang diterima dari mongoDB

  3. Menemukan Dokumen Tersemat oleh properti tertentu di Mongoose, Node.js, MongodDB

  4. Cara mendapatkan daftar database mongodb dan daftar koleksi dari aplikasi ruby ​​on Rails

  5. 2 Cara Menghapus Database di MongoDB