Umpan perubahan di Azure Cosmos DB

BERLAKU UNTUK: Nosql MongoDB Cassandra Gremlin

Mengubah umpan di Azure Cosmos DB adalah catatan perubahan yang terus-menerus ke penampung sesuai urutan terjadinya. Ubah dukungan umpan di Azure Cosmos DB bekerja dengan mendengarkan kontainer Azure Cosmos DB untuk setiap perubahan. Kemudian melakukan output daftar dokumen yang diurutkan, yang diubah dalam urutan modifikasinya. Perubahan yang terjadi dapat diproses secara asinkron dan bertahap, dan output dapat didistribusikan ke satu atau lebih konsumen untuk pemrosesan paralel.

Pelajari lebih lanjut tentang mengubah pola desain umpan.

API dan SDK klien yang didukung

Fitur umpan perubahan saat ini didukung di SDK Azure Cosmos DB berikut.

Driver klien NoSQL Apache Cassandra MongoDB Apache Gremlin Table PostgreSQL
.NET Icon indicating that this feature is supported in the .NET SDK for the API for NoSQL. Icon indicating that this feature is supported in the .NET SDK for the API for Apache Cassandra. Icon indicating that this feature is supported in the .NET SDK for the API for MongoDB. Icon indicating that this feature is supported in the .NET SDK for the API for Apache Gremlin. Icon indicating that this feature is not supported in the .NET SDK for the API for Table. Icon indicating that this feature is not supported in the .NET SDK for the API for PostgreSQL.
Java Icon indicating that this feature is supported in the Java SDK for the API for NoSQL. Icon indicating that this feature is supported in the Java SDK for the API for Apache Cassandra. Icon indicating that this feature is supported in the Java SDK for the API for MongoDB. Icon indicating that this feature is supported in the Java SDK for the API for Apache Gremlin. Icon indicating that this feature is not supported in the Java SDK for the API for Table. Icon indicating that this feature is not supported in the Java SDK for the API for PostgreSQL.
Python Icon indicating that this feature is supported in the Python SDK for the API for NoSQL. Icon indicating that this feature is supported in the Python SDK for the API for Apache Cassandra. Icon indicating that this feature is supported in the Python SDK for the API for MongoDB. Icon indicating that this feature is supported in the Python SDK for the API for Apache Gremlin. Icon indicating that this feature is not supported in the Python SDK for the API for Table. Icon indicating that this feature is not supported in the Python SDK for the API for PostgreSQL.
Simpul/JavaScript Icon indicating that this feature is supported in the JavaScript SDK for the API for NoSQL. Icon indicating that this feature is supported in the JavaScript SDK for the API for Apache Cassandra. Icon indicating that this feature is supported in the JavaScript SDK for the API for MongoDB. Icon indicating that this feature is supported in the JavaScript SDK for the API for Apache Gremlin. Icon indicating that this feature is not supported in the JavaScript SDK for the API for Table. Icon indicating that this feature is not supported in the JavaScript SDK for the API for PostgreSQL.

Bekerja dengan mengubah umpan

Anda dapat bekerja dengan mengubah umpan menggunakan opsi berikut:

Umpan perubahan tersedia untuk rentang kunci partisi kontainer Azure Cosmos DB. Ini memungkinkannya didistribusikan ke satu atau beberapa konsumen untuk pemrosesan paralel seperti yang ditunjukkan pada gambar di bawah ini.

Distributed processing of Azure Cosmos DB change feed

Catatan

Rentang kunci partisi dipetakan ke partisi fisik saat menggunakan prosesor umpan perubahan dan FeedRanges saat menggunakan model penarikan.

Fitur ubah umpan

  • Umpan perubahan diaktifkan secara default untuk semua akun Azure Cosmos DB.

  • Ada beberapa mode umpan perubahan, beberapa di antaranya memerlukan konfigurasi tambahan untuk diaktifkan.

  • Anda dapat menggunakan throughput yang disediakan untuk membaca dari umpan perubahan, sama seperti operasi Azure Cosmos DB lainnya, di salah satu wilayah yang terkait dengan akun Azure Cosmos DB Anda.

  • Umpan perubahan mencakup operasi sisipkan dan perbarui yang dibuat ke item dalam kontainer. Jika Anda menggunakan semua versi dan mode penghapusan (pratinjau), Anda juga mendapatkan perubahan dari operasi penghapusan dan kedaluwarsa TTL.

  • Setiap perubahan muncul tepat sekali di umpan perubahan, dan klien harus mengelola logika titik pemeriksaan. Jika Anda ingin menghindari kompleksitas pengelolaan titik pemeriksaan, prosesor umpan perubahan menyediakan pos probe otomatis dan semantik "setidaknya sekali". Untuk informasi selengkapnya, lihat artikel menggunakan umpan perubahan dengan prosesor umpan perubahan.

  • Perubahan tersedia secara paralel untuk rentang kunci partisi kontainer Azure Cosmos DB. Kemampuan ini memungkinkan beberapa konsumen untuk memproses perubahan dari kontainer besar secara paralel.

  • Aplikasi dapat meminta beberapa umpan perubahan pada kontainer yang sama secara bersamaan.

  • Titik awal untuk umpan perubahan dapat disesuaikan dan opsi yang berbeda tersedia untuk setiap mode.

Sortir urutan item untuk mengubah feed

Ubah item feed datang dalam urutan waktu modifikasinya. Urutan pengurutan ini dijamin per kunci partisi, dan tidak ada urutan yang dijamin di seluruh nilai kunci partisi.

Mengubah umpan di akun Azure Cosmos DB multi-wilayah

Di akun Azure Cosmos DB multi-wilayah, perubahan di satu wilayah tersedia di semua wilayah. Jika wilayah tulis gagal, umpan perubahan berfungsi di seluruh operasi failover manual, dan berdampingan. Untuk akun dengan beberapa wilayah tulis, tidak ada jaminan kapan perubahan akan tersedia. Perubahan masuk pada dokumen yang sama dapat dihilangkan dalam mode versi terbaru jika ada perubahan terbaru di wilayah lain, dan semua perubahan akan diambil di semua versi dan mode penghapusan.

Ubah mode umpan

Ada dua mode umpan perubahan yang tersedia: mode versi terbaru dan semua versi dan mode penghapusan. Mode umpan perubahan dibaca dalam menentukan perubahan operasi mana yang diambil dan metadata yang tersedia untuk setiap perubahan. Dimungkinkan untuk menggunakan umpan perubahan dalam mode yang berbeda di beberapa aplikasi untuk kontainer Azure Cosmos DB yang sama.

Mode versi terbaru

Dalam mode umpan perubahan versi terbaru, Anda akan melihat perubahan terbaru dari sisipan atau pembaruan untuk semua item dalam umpan, dan umpan tersedia untuk masa pakai kontainer. Tidak ada indikasi apakah perubahan yang diberikan berasal dari operasi sisipkan atau pembaruan, dan penghapusan tidak diambil. Perubahan dapat dibaca dari titik waktu mana pun sejauh asal kontainer Anda. Namun, jika item dihapus, item dihapus dari umpan perubahan. Lihat artikel mode umpan perubahan versi terbaru untuk mempelajari selengkapnya.

Semua versi dan mode penghapusan (pratinjau)

Semua versi dan mode penghapusan memungkinkan Anda melihat semua perubahan pada item dari pembuatan, pembaruan, dan penghapusan. Anda mendapatkan catatan setiap perubahan pada item dalam urutan terjadinya, termasuk perubahan perantara pada item di antara pembacaan umpan perubahan. Untuk membaca dari umpan perubahan di semua versi dan mode penghapusan, Anda harus memiliki cadangan berkelanjutan yang dikonfigurasi untuk akun Azure Cosmos DB Anda, yang membuat Azure Cosmos DB semua versi dan menghapus umpan perubahan. Dalam mode ini, Anda hanya dapat membaca perubahan yang terjadi dalam periode pencadangan berkelanjutan yang dikonfigurasi untuk akun tersebut. Lihat artikel semua versi dan penghapusan mode umpan perubahan untuk mempelajari selengkapnya, termasuk cara mendaftar dalam pratinjau.

Ubah umpan dalam API untuk Cassandra dan MongoDB

Fungsionalitas umpan perubahan muncul sebagai aliran perubahan di API untuk MongoDB dan Kueri dengan predikat dalam API untuk Cassandra. Untuk mempelajari selengkapnya tentang detail implementasi untuk API untuk MongoDB, lihat Mengubah aliran di Azure Cosmos DB API untuk MongoDB.

Native Apache Cassandra menyediakan pengambilan data perubahan (CDC), mekanisme untuk menandai tabel tertentu untuk pengarsipan dan menolak penulisan ke tabel tersebut setelah ukuran-on-disk yang dapat dikonfigurasi untuk log CDC tercapai. Fitur umpan perubahan di Azure Cosmos DB for Apache Cassandra meningkatkan kemampuan untuk mengkueri perubahan dengan predikat melalui CQL. Untuk mempelajari selengkapnya tentang detail implementasi, lihat Mengubah umpan di Azure Cosmos DB untuk Apache Cassandra.

Mengukur konsumsi unit permintaan umpan perubahan

Umpan perubahan tersedia di setiap kontainer terlepas dari apakah itu digunakan. Satu-satunya biaya untuk umpan perubahan adalah throughput dan RU yang disediakan kontainer sewa untuk setiap permintaan. Gunakan Azure Monitor untuk mengukur konsumsi unit permintaan (RU) umpan perubahan. Untuk informasi selengkapnya, lihat memantau throughput atau meminta penggunaan unit di Azure Cosmos DB.

Langkah berikutnya

Sekarang Anda bisa melanjutkan untuk mempelajari selengkapnya tentang umpan perubahan di artikel berikut ini: