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

Tidak bisa mendapatkan kueri tertutup untuk koleksi sharded di MongoDB

Seperti pada MongoDB 2.6, Anda tidak akan mendapatkan kueri sharded yang sepenuhnya tertutup karena ada kueri tambahan untuk memeriksa apakah shard yang dimaksud memiliki dokumen itu (lihat SERVER-5022 di pelacak masalah MongoDB).

mongos router memfilter dokumen yang ditemukan di shard tetapi seharusnya tidak tinggal di sana menurut metadata kluster sharded.

Dokumen dapat ada di lebih dari satu pecahan jika:

  • Ada migrasi potongan sedang berlangsung:dokumen disalin dari shard donor ke shard tujuan dan tidak dihapus dari shard donor hingga migrasi chunk berhasil diselesaikan.

  • Dokumen telah "tidak ada" di shard sebagai akibat dari migrasi yang gagal atau pembersihan yang tidak lengkap. Ada cleanupOrphaned perintah admin di MongoDB 2.6 yang dapat dijalankan melawan mongod yang di-sharded untuk menghapus dokumen yatim piatu.

Batasan kueri tercakup ini dicatat dalam Batas:Kueri Tercakup dalam Cluster yang Dibagikan bagian dari dokumentasi MongoDB tetapi juga harus disorot dalam tutorial di Membuat Kueri Tercakup . Saya telah mengangkat DOCS-3820 untuk membuatnya lebih jelas.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. luwak findByIdAndDelete / findOneAndRemove tidak menghapus

  2. Agregasi MongoDB PHP, Kelompokkan berdasarkan Jam

  3. berbagi koneksi db di seluruh aplikasi di luwak

  4. Daftar Periksa Keamanan untuk Penerapan Produksi MongoDB

  5. Multitenancy berbasis koleksi dengan Spring Data MongoDB