Mengintegrasikan penyimpanan data dengan alur IoT

Selesai

Setelah berhasil menerapkan Cosmos DB, Anda perlu menentukan bagaimana Anda dapat mengintegrasikannya dengan layanan Azure IoT. Anda berencana untuk mengeksplorasi penggunaannya dari pilihan jalur panas dan dingin. Eksplorasi ini memudahkan untuk memperhitungkan inventaris appliance pintar dan skenario telemetri perangkat yang merupakan bagian dari desain aplikasi cloud-native Anda. Anda juga ingin mengidentifikasi penyimpanan data lain yang mungkin dapat Anda gunakan dalam desain Anda.

Apa pertimbangan desain khusus Azure Cosmos DB?

Saat Anda merancang database Azure Cosmos DB dan hierarki kontainer, pilihan kunci partisi yang tepat sangat penting untuk memastikan performa dan efisiensi yang optimal. Pilihan ini relevan dalam skenario IoT yang biasanya melibatkan data streaming dalam volume besar.

Saat memilih kunci partisi yang paling cocok, Anda harus mempertimbangkan pola penggunaan dan batasan 20-GB pada ukuran partisi logika individu. Secara umum, praktik terbaiknya adalah membuat kunci partisi dengan ratusan atau ribuan nilai yang berbeda. Metode ini mengarah pada penggunaan penyimpanan dan sumber daya komputasi yang seimbang di seluruh item yang terkait dengan nilai kunci partisi ini. Di waktu yang sama, ukuran gabungan item yang berbagi nilai kunci partisi yang sama tidak boleh melebihi 20 GB.

Misalnya, saat mengumpulkan data IoT, Anda dapat memilih untuk menggunakan properti /date untuk streaming telemetri dan /deviceId untuk inventaris perangkat, jika properti ini mewakili target kueri data yang paling umum. Atau, Anda dapat membangun kunci partisi sintetis, seperti rangkaian nilai /deviceId dan /date. Pendekatan lain adalah menambahkan angka acak dalam rentang yang ditentukan di akhir nilai kunci partisi. Pendekatan ini membantu memastikan distribusi beban kerja yang seimbang di beberapa partisi. Dengan cara ini, saat Anda memuat item ke dalam koleksi target, Anda dapat melakukan penulisan paralel di beberapa partisi.

Apa itu alur data dalam skenario IoT?

Kejadian umum dalam skenario IoT adalah implementasi beberapa jalur data secara bersamaan, baik dengan melakukan pemartisian aliran data yang diserap, atau dengan meneruskan rekaman data ke beberapa alur. Pola arsitektur yang sesuai disebut sebagai arsitektur Lambda dan terdiri dari dua jenis alur yang berbeda.

Alur pemrosesan cepat (panas):

  • Melakukan pemrosesan waktu nyata.
  • Menganalisis data.
  • Menampilkan konten data.
  • Menghasilkan informasi jangka pendek dan berubah seiring waktu.
  • Memicu tindakan yang sesuai, seperti peringatan.
  • Menyimpan data dalam arsip.

Alur pemrosesan lambat (dingin):

  • Melakukan analisis yang lebih kompleks, berpotensi menggabungkan data dari berbagai sumber dan dalam jangka waktu yang lama.
  • Menghasilkan artefak seperti laporan atau model pembelajaran mesin.

Apa peran layanan Azure dalam menerapkan alur IoT?

Sistem IoT menyerap telemetri yang dihasilkan oleh berbagai perangkat, memproses dan menganalisis data streaming untuk memperoleh wawasan mendekati real-time, dan mengarsipkan data ke penyimpanan dingin untuk analitik batch. Jalur data dimulai dengan telemetri yang dihasilkan oleh perangkat IoT yang dikirim untuk pemrosesan awal ke Azure IoT Hub atau Azure IoT Central. Baik Azure IoT Hub dan Azure IoT Central store mengumpulkan data untuk jumlah waktu yang dapat dikonfigurasi.

The options for integrating Azure IoT Central with cloud-native applications and Azure services.

Azure IoT Hub mendukung pemartisian dan perutean pesan, yang memungkinkan Anda untuk menunjuk pesan tertentu untuk memproses, memperingatkan, dan memulihkan tugas berdasarkan Azure Logic Apps dan Azure Functions. Fungsionalitas yang setara tersedia di Azure IoT Central dan didasarkan pada aturan yang dikonfigurasi khusus yang memicu tindakan melalui webhook. Webhook dapat menunjuk ke Azure Functions, Azure Logic Apps, Microsoft Flow, atau aplikasi kustom Anda sendiri. Rute Azure IoT Hub juga memungkinkan Anda meneruskan telemetri ke fungsi Azure untuk pemrosesan awal lalu meneruskannya ke Azure Cosmos DB. Contoh pemrosesan tersebut termasuk konversi format atau membangun kunci partisi sintetis. Potensi penggunaan lain dari rute Azure IoT Hub melibatkan penyalinan data masuk ke Azure Blob Storage atau Azure Data Lake. Metode ini menyediakan opsi pengarsipan biaya rendah, dengan akses mudah untuk pemrosesan batch, termasuk tugas Azure Pembelajaran Mesin ilmu data.

Azure IoT Central menawarkan ekspor data berkelanjutan ke Azure Event Hubs, Azure Bus Layanan, dan webhook kustom. Mengonfigurasi ekspor data berbasis interval juga dapat dilakukan ke penyimpanan Azure Blob. Azure Functions mendukung pengikatan untuk Azure Event Hubs dan Azure Bus Layanan, yang dapat Anda gunakan untuk mengintegrasikannya dengan Azure Cosmos DB.

Dengan Azure IoT Central, Anda dapat memberikan wawasan hampir waktu nyata dengan kemampuan analitik bawaannya. Untuk kebutuhan analitik tingkat lanjut atau saat menggunakan Azure IoT Hub, Anda dapat menyalurkan data ke Azure Stream Analytics. Azure Stream Analytics mendukung API SQL Azure Cosmos DB sebagai outputnya, menulis hasil pemrosesan streaming sebagai item berformat JSON ke dalam kontainer Azure Cosmos DB. Upaya ini mengimplementasikan pengarsipan data dan memungkinkan kueri ad-hoc berlatensi rendah pada data JSON yang tidak terstruktur. Fungsionalitas umpan perubahan secara otomatis mendeteksi data baru dan perubahan pada data yang sudah ada. Anda dapat memproses data ini dengan menyambungkan Azure Cosmos DB ke Azure Synapse Analytics. Setelah pemrosesan selesai, Anda dapat memuatnya kembali ke Azure Cosmos DB untuk pelaporan yang lebih mendetail. Anda juga dapat menggunakan Azure Databricks dengan streaming Apache Spark untuk:

  • Memuat data dari Azure IoT Hub.
  • Memprosesnya untuk memberikan analitik waktu nyata.
  • Arsipkan untuk retensi jangka panjang dan lebih banyak pelaporan ke layanan Azure seperti Azure Cosmos DB, penyimpanan Azure Blob, atau Azure Data Lake.