Jaminan Pengiriman Peristiwa (Azure Stream Analytics)

Bahasa kueri Azure Stream Analytics memperluas sintaks SQL untuk mengaktifkan komputasi kompleks melalui aliran peristiwa. Dengan Azure Stream Analytics, ada beberapa konsep yang terkait dengan Pengiriman Peristiwa yang layak dibahas:

  • Pemrosesan tepat sekali
  • Tepat sekali pengiriman
  • Catatan duplikat

Selain konsep-konsep ini yang dirinci di bawah ini, penting untuk mempertimbangkan opsi awal pekerjaan untuk memastikan bahwa tidak ada kehilangan data yang dapat terjadi.

Pemrosesan tepat sekali

Jaminan pemrosesan tepat sekali berarti bahwa memberikan serangkaian input, sistem selalu mengembalikan hasil yang sama. Ini sangat penting untuk pengulangan, dan berlaku bahkan jika memulai ulang pekerjaan, atau di beberapa pekerjaan yang berjalan secara paralel pada input yang sama. Azure Stream Analytics menjamin pemrosesan tepat sekali.

Pengiriman tepat sekali

Jaminan pengiriman tepat sekali berarti semua output dari pemrosesan tepat sekali dikirimkan ke sink output tepat sekali, sehingga tidak ada output duplikat. Ini membutuhkan kemampuan transaksional pada adaptor output untuk dicapai.

Azure Stream Analytics menjamin pengiriman setidaknya sekali ke sink output, yang menjamin bahwa semua hasil dihasilkan, tetapi hasil duplikat dapat terjadi. Namun pengiriman tepat sekali dapat dicapai dengan beberapa output seperti Azure Cosmos DB atau Azure SQL.

Catatan duplikat

Karena jaminan pengiriman setidaknya sekali, saat pekerjaan Azure Stream Analytics berjalan, rekaman duplikat terkadang mungkin terlihat dalam data output. Rekaman duplikat ini diharapkan karena adaptor output Azure Stream Analytics tidak menulis peristiwa output secara transaksional. Skenario 'rekaman duplikat' ini dapat mengakibatkan salah satu kondisi berikut terjadi:

  • Instans Azure ditingkatkan saat pekerjaan sedang berjalan
  • Pekerjaan Azure Stream Analytics ditingkatkan atau masalah terjadi dengan konektivitas atau keandalan ke output pekerjaan
  • Instans Azure yang menjalankan pekerjaan mengalami pemadaman
  • Pekerjaan Azure Stream Analytics dimulai dengan opsi kapan terakhir dihentikan

Konsumen hilir peristiwa output perlu menyimpulkan peristiwa menggunakan identitas logis peristiwa. Misalnya, jika Anda menggabungkan peristiwa menurut grup di jendela tumbling, identitas logis peristiwa adalah grup dan waktu akhir jendela jatuh. Jika Anda menjalankan kueri pass through, Anda mungkin perlu membawa id unik pada peristiwa untuk menyimpulkan.

Output yang mendukung pengiriman tepat sekali dengan Azure Stream Analytics

Azure Cosmos DB

Menggunakan Azure Cosmos DB, Azure Stream Analytics menjamin pengiriman tepat sekali. Karena Azure Stream Analytics menggunakan upsert, tidak ada tindakan yang diperlukan oleh pengguna. Lihat informasi selengkapnya tentang output Azure Stream Analytics ke Azure Cosmos DB.

SQL

Saat menggunakan output SQL, pengguna dapat mencapai pengiriman tepat sekali jika persyaratan berikut terpenuhi:

  • semua peristiwa streaming output memiliki kunci alami, yaitu dapat diidentifikasi secara unik baik oleh bidang atau kombinasi bidang.
  • tabel SQL output memiliki batasan unik (atau kunci primer) yang dibuat menggunakan kunci alami peristiwa output.

Ini cukup untuk menghindari duplikat karena output SQL mematuhi batasan apa pun yang ditempatkan pada tabel dengan melewatkan peristiwa apa pun yang menyebabkan pelanggaran batasan unik.

Azure Table

Semua entitas dalam Tabel Azure Storage diidentifikasi secara unik oleh perangkaian RowKey bidang dan PartitionKey . Azure Stream Analytics meningkatkan entitas, sehingga nilai entitas tabel akan menjadi peristiwa output terbaru dengan kombinasi yang RowKey/PartitionKey sesuai. Oleh karena itu, untuk mencapai pengiriman tepat sekali, pastikan bahwa setiap peristiwa output memiliki kombinasi yang unik RowKey/PartitionKey . Jika ini dilakukan, peristiwa duplikat akan menimpa versi sebelumnya. (Bidang yang ditentukan sistem, yang merupakan waktu terakhir dimodifikasi Timestamp untuk entitas, masih akan berubah dalam kasus ini.)

Lihat juga

Manajemen Waktu