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

Seberapa amankah mode aman MongoDB pada sisipan?

Taruhan terbaik Anda adalah menggunakan Write Concerns - ini memungkinkan Anda memberi tahu MongoDB betapa pentingnya sebuah data. Kekhawatiran Tulis tercepat juga yang paling tidak aman - data tidak di-flush ke disk hingga flush terjadwal berikutnya. Yang paling aman akan mengonfirmasi bahwa data telah ditulis ke disk pada sejumlah mesin sebelum dikembalikan.

Masalah penulisan yang Anda cari adalah FSYNC_SAFE (setidaknya itulah yang disebut dari sudut pandang Driver Java ) atau REPLICAS_SAFE yang mengonfirmasi bahwa data Anda telah direplikasi.

Ingatlah bahwa MongoDB tidak memiliki transaksi dalam pengertian tradisional - rollback Anda harus digulirkan dengan tangan karena Anda tidak dapat memberi tahu database Mongo untuk melakukan ini untuk Anda.

Hal lain yang perlu Anda lakukan adalah menggunakan --journal yang relatif baru (yang menggunakan Write Ahead Log), atau gunakan set replika untuk membagikan data Anda ke banyak mesin untuk memaksimalkan integritas data jika terjadi gangguan/kehilangan daya.

Sharding bukan merupakan perlindungan terhadap kegagalan perangkat keras sebagai metode untuk berbagi beban ketika berhadapan dengan kumpulan data yang sangat besar - sharding tidak boleh disamakan dengan kumpulan replika yang merupakan cara menulis data ke lebih dari satu disk di lebih dari satu mesin .

Oleh karena itu, jika data Anda cukup berharga, Anda pasti harus menggunakan set replika, bahkan mungkin menempatkan slave di pusat data/availability zones/racks/etc lain untuk memberikan ketahanan yang Anda butuhkan.

Ada/akan ada (tidak dapat mengingat begitu saja apakah ini telah diterapkan) cara untuk menentukan prioritas masing-masing node dalam set replika sehingga jika master turun, master baru yang dipilih adalah satu dalam data yang sama center jika mesin tersebut tersedia (yaitu untuk menghentikan seorang budak di sisi lain negara dari menjadi master kecuali itu benar-benar satu-satunya pilihan lain).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Pemodelan banyak-ke-banyak:melalui dengan Mongoid/MongoDB

  2. Kurangi subdokumen dari koleksi dalam pipa agregat

  3. MongoDB:apakah mungkin untuk menangkap acara TTL dengan Change Stream untuk meniru penjadwal (cronjob)?

  4. MongoJS tidak mengembalikan data saat mencari dengan ekspresi reguler

  5. Permintaan MongoDump dengan BinData