Adattárak integrálása IoT-folyamatokkal

Befejeződött

Most, hogy sikeresen implementálta a Cosmos DB-t, meg kell határoznia, hogyan integrálható az Azure IoT-szolgáltatásokkal. Azt tervezi, hogy megvizsgálja a gyakori és a ritka elérésű útvonalak használatát is. Ez a feltárás megkönnyíti az intelligens berendezések leltározását és az eszközök telemetriai forgatókönyveit, amelyek a natív felhőbeli alkalmazástervezés részét képezik. Emellett más adattárakat is szeretne azonosítani, amelyeket esetleg használhat a tervezés során.

Mik az Azure Cosmos DB-specifikus tervezési szempontok?

Az Azure Cosmos DB-adatbázis és a tárolóhierarchia tervezésekor a partíciókulcs megfelelő kiválasztása elengedhetetlen az optimális teljesítmény és hatékonyság biztosításához. Ez a választás olyan IoT-forgatókönyvekben releváns, amelyek általában nagy mennyiségű streamelési adatot foglalnak magukban.

A legmegfelelőbb partíciókulcs kiválasztásakor figyelembe kell vennie a használati mintákat és az egyes logikai partíciók méretére vonatkozó 20 GB-os korlátot. Általában az ajánlott eljárás egy több száz vagy több ezer különböző értékkel rendelkező partíciókulcs létrehozása. Ez a módszer a tárolási és számítási erőforrások kiegyensúlyozott használatát eredményezi a partíciókulcs-értékekhez társított elemek között. Ugyanakkor az azonos partíciókulcs-értéket használó elemek együttes mérete nem haladhatja meg a 20 GB-ot.

IoT-adatok gyűjtésekor például dönthet úgy, hogy a /date tulajdonságot használja a telemetriai streameléshez és a /deviceId eszközt az eszközleltárhoz, ha ezek a tulajdonságok a leggyakoribb adatlekérdezések céljait képviselik. Másik lehetőségként létrehozhat egy szintetikus partíciókulcsot, például összefűzheti a /deviceId és a /date értékeket. Egy másik módszer egy véletlenszerű szám hozzáfűzése egy kijelölt tartományon belül a partíciókulcs értékének végén. Ez a megközelítés segít biztosítani a számítási feladat több partíció közötti kiegyensúlyozott elosztását. Így, amikor betölti az elemeket a célgyűjteménybe, több partíción is végrehajthat párhuzamos írásokat.

Mik az adatfolyamatok az IoT-forgatókönyvekben?

Az IoT-forgatókönyvek gyakori előfordulása több egyidejű adatútvonal implementálása, akár a betöltött adatfolyam particionálásával, akár az adatrekordok több folyamatba való továbbításával. A megfelelő architektúramintát Lambda architektúrának nevezzük, és két különböző típusú folyamatból áll.

Gyors (gyakori elérésű) feldolgozási folyamat:

  • Valós idejű feldolgozást végez.
  • Adatokat elemez.
  • Megjeleníti az adattartalmat.
  • Rövid távú, időérzékeny információkat hoz létre.
  • Aktiválja a megfelelő műveleteket, például a riasztásokat.
  • Az adatokat egy archívumban tárolja.

Lassú (hideg) feldolgozási folyamat:

  • Összetettebb elemzést végez, amely több forrásból és hosszabb idő alatt kombinálja az adatokat.
  • Olyan összetevőket hoz létre, mint a jelentések vagy a gépi tanulási modellek.

Mi az Azure-szolgáltatások szerepe az IoT-folyamatok megvalósításában?

Az IoT-rendszerek számos eszköz által generált telemetriát használnak, feldolgozzák és elemzik a streamelési adatokat, hogy közel valós idejű elemzéseket nyerjenek, és adatokat archiváljanak a kötegelt elemzések hideg tárolóiba. Az adatútvonal az IoT-eszközök által generált telemetriával kezdődik, amelyet kezdeti feldolgozásra küldenek az Azure IoT Hubnak vagy az Azure IoT Centralnak. Az Azure IoT Hub és az Azure IoT Central is konfigurálható ideig gyűjtött adatokat.

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

Az Azure IoT Hub támogatja a particionálást és az üzenet-útválasztást, így konkrét üzeneteket jelölhet ki az Azure Logic Apps és az Azure Functions feldolgozási, riasztási és szervizelési feladataihoz. Az ezzel egyenértékű funkciók az Azure IoT Centralban érhetők el, és az egyénileg konfigurált szabályokon alapulnak, amelyek webhookokon keresztül aktiválják a műveleteket. A webhookok az Azure Functionsre, az Azure Logic Appsre, a Microsoft Flow-ra vagy a saját egyéni alkalmazásaira mutathatnak. Az Azure IoT Hub útvonalai lehetővé teszik a telemetriai adatok továbbítását egy Azure-függvénynek kezdeti feldolgozás céljából, majd továbbíthatja az Azure Cosmos DB-nek. Ilyen feldolgozás például a formátumkonvertálás vagy egy szintetikus partíciókulcs létrehozása. Az Azure IoT Hub-útvonalak egy másik lehetséges használata magában foglalja a bejövő adatok Azure Blob Storage-ba vagy az Azure Data Lake-be való másolását. Ez a módszer egy alacsony költségű archiválási lehetőséget biztosít, amely kényelmes hozzáférést biztosít a kötegelt feldolgozáshoz, beleértve az Azure Machine Tanulás adatelemzési feladatokat.

Az Azure IoT Central folyamatos adatexportálást biztosít az Azure Event Hubsba, az Azure Service Busba és az egyéni webhookokba. Az intervallumalapú adatexportálást is konfigurálhatja az Azure Blob Storage-ba. Az Azure Functions támogatja az Azure Event Hubs és az Azure Service Bus kötéseit, amelyekkel integrálhatja őket az Azure Cosmos DB-vel.

Az Azure IoT Central használatával közel valós idejű elemzéseket biztosíthat beépített elemzési képességeivel. A fejlettebb elemzési igények vagy az Azure IoT Hub használata esetén az adatokat az Azure Stream Analyticsbe is be lehet illeszteni. Az Azure Stream Analytics támogatja az Azure Cosmos DB SQL API-t kimenetként, és JSON-formátumú elemekként írja be a streamfeldolgozási eredményeket az Azure Cosmos DB-tárolókba. Ez adatarchiválást valósít meg, és alacsony késleltetésű, alkalmi lekérdezéseket tesz lehetővé strukturálatlan JSON-adatokon. A változáscsatorna funkció automatikusan észleli az új adatokat és a meglévő adatok módosításait. Ezeket az adatokat az Azure Cosmos DB és az Azure Synapse Analytics összekapcsolásával lehet feldolgozni. A feldolgozás befejezése után újra betöltheti az Azure Cosmos DB-be a részletesebb jelentéskészítés érdekében. Az Azure Databrickset az Apache Spark streameléssel is használhatja a következőre:

  • Adatok betöltése az Azure IoT Hubról.
  • Feldolgozhatja valós idejű elemzések elvégzésére.
  • Archiválja a hosszú távú megőrzés és az Azure-szolgáltatások, például az Azure Cosmos DB, az Azure Blob Storage vagy az Azure Data Lake felé történő jelentéskészítés céljából.