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

Apa perbedaan antara changeStream dan kursor tailable di MongoDB

Ubah Aliran (tersedia di MongoDB v3.6+) adalah fitur yang memungkinkan Anda mengakses perubahan data waktu nyata tanpa kerumitan dan risiko mengikuti oplog . Manfaat utama dari aliran perubahan over mengikuti oplog adalah:

  1. Manfaatkan Kontrol Akses Berbasis Peran MongoDB bawaan . Aplikasi hanya dapat membuka aliran perubahan terhadap koleksi yang telah baca akses ke. Otorisasi yang halus dan spesifik.

  2. Menyediakan API yang terdefinisi dengan baik yang dapat diandalkan. Peristiwa perubahan output yang dikembalikan oleh aliran perubahan didokumentasikan dengan baik. Juga, semua driver MongoDB resmi ikuti spesifikasi yang sama saat mengimplementasikan antarmuka aliran perubahan.

  3. Perubahan peristiwa yang dikembalikan sebagai bagian dari aliran perubahan setidaknya berkomitmen untuk sebagian besar set replika. Ini berarti peristiwa perubahan yang dikirim ke klien tahan lama. Aplikasi tidak perlu menangani rollback data jika terjadi failover.

  4. Berikan urutan total perubahan di seluruh pecahan dengan memanfaatkan jam logis global. MongoDB menjamin urutan perubahan dipertahankan dan peristiwa perubahan dapat ditafsirkan dengan aman sesuai urutan yang diterima. Misalnya, kursor aliran perubahan yang dibuka terhadap kluster pecahan 3-pecahan mengembalikan peristiwa perubahan sesuai dengan urutan total perubahan tersebut di ketiga pecahan.

  5. Karena karakteristik pemesanan, aliran perubahan juga secara inheren dapat dilanjutkan. _id dari mengubah keluaran peristiwa adalah token resume. Driver resmi MongoDB secara otomatis menyimpan token resume ini, dan jika terjadi kesalahan jaringan sementara, driver akan mencoba lagi sekali. Selain itu, aplikasi juga dapat dilanjutkan secara manual dengan menggunakan parameter resume_after . Lihat juga Melanjutkan Aliran Perubahan .

  6. Gunakan pipa agregasi MongoDB . Aplikasi dapat memodifikasi output acara perubahan. Saat ini ada lima tahapan pipeline yang tersedia untuk memodifikasi output event. Misalnya, output acara perubahan dapat difilter (sisi server) sebelum dikirim menggunakan $tahap pertandingan . Lihat Memodifikasi Perubahan Output Aliran untuk informasi lebih lanjut.

Jika penerapan MongoDB Anda adalah versi 3.6+, saya akan merekomendasikan untuk menggunakan Aliran Perubahan MongoDB daripada mengikuti oplog.

Anda juga dapat menemukan Ubah Rekomendasi Produksi Streaming sumber daya yang berguna.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Memperbarui catatan di MongoDB melalui pymongo mengarah ke penghapusan sebagian besar dari mereka

  2. Apa yang terjadi ketika koneksi ke MongoDB tidak ditutup?

  3. Cara menggunakan Agregat di luwak

  4. Skema jam buka MongoDB

  5. Mendapatkan pengecualian saat melakukan block() pada objek Mono yang saya dapatkan kembali dari objek ReactiveMongoRepository