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

Banyak ke banyak pembaruan di MongoDB tanpa transaksi

@Gareth , Anda memiliki beberapa cara yang sah untuk melakukannya. Jadi, perhatian utama mereka adalah bagaimana Anda merencanakan kueri data, (yaitu:kueri apa yang perlu cepat )

Berikut adalah beberapa metode.

Metode #1:kumpulan "tautan"

Anda dapat membuat koleksi yang hanya berisi pemetaan antar koleksi.

Pro:

  • Mendukung pembaruan atom sehingga data tidak hilang

Kekurangan:

  • Kueri ekstra saat mencoba berpindah antar koleksi

Metode #2:simpan salinan pemetaan yang lebih kecil dalam koleksi yang lebih besar

Misalnya:Anda memiliki jutaan Products , tetapi hanya seratus Categories . Kemudian Anda akan menyimpan Categories sebagai larik di dalam setiap Product .

Pro:

  • Jejak kaki terkecil
  • Hanya perlu satu pembaruan

Kekurangan:

  • Kueri tambahan jika Anda "salah jalan"

Metode #3:simpan salinan semua pemetaan di kedua koleksi

(apa yang Anda sarankan)

Pro:

  • Akses kueri tunggal untuk berpindah di antara salah satu koleksi

Kekurangan:

  • Indeks yang berpotensi besar
  • Perlu transaksi (?)

Mari kita bicara tentang "kebutuhan transaksi". Ada beberapa cara untuk melakukan transaksi dan itu sangat tergantung pada jenis keamanan yang Anda butuhkan.

Anda pasti bisa melakukan ini. Anda harus bertanya pada diri sendiri, apa hal terburuk yang terjadi jika hanya satu penyelamatan yang gagal?

Metode #4:mengantrekan perubahan

Saya tidak tahu apakah Anda pernah bekerja dengan antrian, tetapi jika Anda memiliki waktu luang, Anda dapat membuat antrian sederhana dan memiliki pekerjaan berbeda yang memperbarui koleksi masing-masing.

Ini adalah solusi yang jauh lebih maju. Saya cenderung memilih #2 atau #3.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Menyiapkan Ekstensi Mongo untuk Kerangka Axon pada boot musim semi

  2. Bagaimana cara menanyakan dokumen menggunakan bidang _id di driver Java mongodb?

  3. MongoDB menggunakan COLLSCAN saat mengembalikan hanya _id

  4. Apa yang terjadi ketika mongodb kehabisan memori?

  5. MongoDB $objectToArray