Pozyskiwanie i przetwarzanie danych IoT w czasie rzeczywistym w przemyśle samochodowymIngestion and processing of real-time automotive IoT data

W tym przykładowym scenariuszu tworzy pozyskiwania danych w czasie rzeczywistym i potok przetwarzania do pozyskiwania i przetwarzania wiadomości z urządzeń IoT (w ogóle czujników) do platformy analitycznej dużych zbiorów danych na platformie Azure.This example scenario builds a real-time data ingestion and processing pipeline to ingest and process messages from IoT devices (in general sensors) into a big data analytic platform in Azure. Platformy telematyczne i przetwarzania pojazdów są kluczem do tworzenia rozwiązań dla samochodów podłączonych do sieci.Vehicle telematics ingestion and processing platforms are the key to create connected car solutions. Ten konkretny scenariusz jest motywowany systemami położenia i przetwarzania telematyki samochodowej.This specific scenario is motivated by the car telematics ingestion and processing systems. Jednak wzorce projektowe są istotne dla wielu branż wykorzystujących czujniki do zarządzania złożonymi systemami i monitorowania ich w branżach takich jak inteligentne budynki, komunikacja, produkcja, handel detaliczny i opieka zdrowotna.However, the design patterns are relevant for many industries using sensors to manage and monitor complex systems in industries such as smart buildings, communications, manufacturing, retail, and healthcare.

W tym przykładzie pokazano pozyskiwania danych w czasie rzeczywistym i potok przetwarzania wiadomości z urządzeń IoT zainstalowanych w pojazdach.This example demonstrates a real-time data ingestion and processing pipeline for messages from IoT devices installed in vehicles. Tysiące wiadomości (lub zdarzeń) są generowane przez urządzenia IoT i czujniki.Thousands and millions of messages (or events) are generated by the IoT devices and sensors. Przechwytując i analizując te wiadomości, możemy rozszyfrować cenne informacje i podjąć odpowiednie działania.By capturing and analyzing these messages, we can decipher valuable insights and take appropriate actions. Na przykład w przypadku urządzeń telematycznych wyposażonych w samochody, jeśli będziemy mogli przechwytywać komunikaty urządzenia (IoT) w czasie rzeczywistym, będziemy mogli monitorować lokalizację pojazdów na żywo, planować zoptymalizowane trasy, zapewniać pomoc kierowcom i wspierać branże związane z telematyki, takie jak ubezpieczenie samochodowe.For example, with cars equipped telematics devices, if we can capture the device (IoT) messages in real time, we would be able to monitor the live location of vehicles, plan optimized routes, provide assistance to drivers, and support telematics-related industries such as auto insurance.

W tym przykładzie demonstracji wyobraź sobie firmę produkującą samochód, która chce utworzyć system czasu rzeczywistego do pozyskiwania i przetwarzania wiadomości z urządzeń telematycznych.For this example demonstration, imagine a car manufacturing company that wants to create a real-time system to ingest and process messages from telematics devices. Cele firmy obejmują:The company's goals include:

  • Połknieć i przechowywać dane w czasie rzeczywistym z czujników i urządzeń pojazdów.Ingest and store data in real time from vehicles sensors and devices.
  • Analizuj komunikaty, aby zrozumieć lokalizację pojazdu i inne informacje emitowane za pośrednictwem różnych typów czujników (takich jak czujniki związane z silnikiem i czujniki związane ze środowiskiem).Analyze the messages to understand vehicle location, and other information emitted through different types of sensors (such as engine-related sensors and environment-related sensors).
  • Przechowuj dane po analizie w celu innego przetwarzania niższego szczebla, aby zapewnić użyteczne informacje (na przykład w scenariuszach wypadków agencje ubezpieczeniowe mogą być zainteresowane wiedzą, co się stało podczas wypadku itp.)Store the data after analysis for other downstream processing to provide actionable insights (For example, in accident scenarios, insurance agencies may be interested to know what happened during an accident etc.)

Odpowiednie przypadki użyciaRelevant use cases

Inne istotne przypadki użycia obejmują:Other relevant use cases include:

  • Przypomnienia o konserwacji pojazdów i alerty.Vehicle maintenance reminders and alerting.
  • Usługi lokalizacyjne dla pasażerów pojazdów (tj. SOS).Location-based services for the vehicle passengers (that is, SOS).
  • Pojazdy autonomiczne (samojezdne).Autonomous (self-driving) vehicles.

ArchitekturaArchitecture

Omówienie architektury składników dla tego scenariusza

W tym potoku przetwarzania dużych zbiorów danych w czasie rzeczywistym dane przepływa przez rozwiązanie w następujący sposób:In this real-time big data processing pipeline, the data flows through the solution as follows:

  1. Zdarzenia generowane ze źródeł danych IoT są wysyłane do warstwy pozyskiwania strumienia za pośrednictwem usługi Azure IoT Hub jako strumień wiadomości.Events generated from the IoT data sources are sent to the stream ingestion layer through Azure IoT Hub as a stream of messages. Usługa Azure IoT Hub przechowuje strumienie danych na partycjach przez konfigurowalny czas.Azure IoT Hub stores streams of data in partitions for a configurable amount of time.
  2. Usługa Azure Databricks odbiera wiadomość w czasie rzeczywistym z usługi IoT Hub, przetwarza dane na podstawie logiki biznesowej i wysyła dane do warstwy obsługujących do magazynu.Azure Databricks picks up the message in real time from IoT Hub, processes the data based on the business logic and sends the data to Serving layer for storage.
  3. Usługi magazynu podrzędnego, takie jak Usługa Azure Cosmos DB, magazyn sql data platformy Azure lub usługa Azure SQL DB, będą przechowywać dane IoT oraz wszelkie dane transakcyjne i będą źródłem danych dla warstwy prezentacji i akcji.Downstream storage services, like Azure Cosmos DB, Azure SQL Data warehouse, or Azure SQL DB, will store the IoT data, plus any transactional data, and be a data source for presentation and action layer.
  4. Analitycy biznesowi mogą używać usługi Microsoft Power BI do analizowania danych magazynowych.Business analysts can use Microsoft Power BI to analyze warehoused data.
  5. Web, mobile i inne aplikacje mogą być budowane na warstwie obsługujących, jak również.Web, mobile and other applications can be built on the serving layer as well. Na przykład możemy udostępnić interfejsy API na podstawie wyświetlania danych warstwy do zastosowań innych firm.For example, we can expose APIs based on the serving layer data for third-party uses.

SkładnikiComponents

Zdarzenia generowane przez urządzenie IoT (dane lub wiadomości) są przybędzone, przetwarzane, a następnie przechowywane do dalszej analizy, prezentacji i akcji przy użyciu następujących składników platformy Azure:IoT device-generated events (data or messages) are ingested, processed, and then stored for further analysis, presentation, and action, using the following Azure components:

  • Usługa Azure IoT Hub znajduje się w warstwie pozyskiwania.Azure IoT Hub is in the ingestion layer. Usługa IoT Hub obsługuje również dwukierunkową komunikację z powrotem do urządzeń, umożliwiając akcje do wysyłania z chmury lub usługi Azure IoT Edge do urządzenia.IoT Hub also support bi-directional communication back to devices, allowing Actions to be sent from the cloud or Azure IoT Edge to the device.
  • Usługa Azure Databricks znajduje się w warstwie transformacji i analizy.Azure Databricks is located in the transformation and analytics layer. Databricks używa biblioteki Maven azure-eventhubs-spark_2.11:2.3.6 do łączenia się z punktem końcowym zgodnym z centrum zdarzeń usługi IoT Hub.Databricks uses the azure-eventhubs-spark_2.11:2.3.6 Maven library to connect to IoT Hub's Event Hub compatible endpoint.
  • Usługa Azure Cosmos DB, Azure SQL Databasei Azure Synapse Analytics znajdują się w warstwie magazynu obsługującej, gdzie usługa Azure Databricks może zapisywać dane za pośrednictwem łączników danych.Azure Cosmos DB, Azure SQL Database, and Azure Synapse Analytics are in the Serving storage layer, where Azure Databricks can write the data via data connectors.
  • Azure Synapse to rozproszony system do przechowywania i analizowania dużych zestawów danych.Azure Synapse is a distributed system for storing and analyzing large datasets. Jego zastosowanie masowego przetwarzania równoległego (MPP) sprawia, że nadaje się do uruchamiania wysokowydajnych analiz.Its use of massive parallel processing (MPP) makes it suitable for running high-performance analytics.
  • Usługa Power BI to zestaw narzędzi do analizy biznesowej do analizowania danych i udostępniania szczegółowych informacji.Power BI is a suite of business analytics tools to analyze data and share insights. Usługa Power BI może wysyłać kwerendy do modelu semantycznego przechowywanego w usługach Analysis Services lub wysyłać zapytania bezpośrednio do platformy Azure Synapse.Power BI can query a semantic model stored in Analysis Services, or it can query Azure Synapse directly.
  • Usługa Azure Active Directory (Azure AD) uwierzytelnia użytkowników podczas łączenia się z usługą Azure Databricks.Azure Active Directory (Azure AD) authenticates users, when connecting to Azure Databricks. Jeśli firma Analysis Services skompilowalizujemy moduł na podstawie modelu opartego na danych usługi Azure Synapse, możemy użyć usługi Azure AD do nawiązania połączenia z serwerem usług Analysis Services za pośrednictwem usługi Power BI.If we would build a cube in Analysis Services based on the model based on Azure Synapse data, we could use Azure AD to connect to the Analysis Services server through Power BI. Usługa Data Factory może również używać usługi Azure AD do uwierzytelniania w usłudze Azure Synapse za pośrednictwem jednostki usługi lub tożsamości usługi zarządzanej (MSI).Data Factory can also use Azure AD to authenticate to Azure Synapse via a service principal or Managed Service Identity (MSI).
  • Usługi Azure App Services mogą służyć do tworzenia aplikacji sieci web i aplikacji mobilnych.Azure App Services can be used to build web and mobile applications. Aplikacja interfejsu API platformy Azure może służyć do udostępniania danych stronom trzecim na podstawie danych przechowywanych w warstwie wyświetlania.Azure API App can be used to expose data to third parties, based on the data stored in the Serving Layer.

AlternatywyAlternatives

Składniki architektury opisane poniżej dla alternatywnych technologii

Bardziej uogólniony potok dużych zbiorów danych może zostać zaimplementowany przy użyciu innych składników platformy Azure.A more generalized big data pipeline could be implemented using other Azure components.

Zagadnienia do rozważeniaConsiderations

Technologie w tej architekturze zostały wybrane na podstawie skali potrzebnej do przetwarzania zdarzeń, umowy SLA usług, zarządzania kosztami i łatwości zarządzania komponentami.The technologies in this architecture were chosen based on the scale needed to process events, the SLA of the services, the cost management and ease of management of the components.

  • Usługa Azure IoT Hub jest wyposażona w 99,9% umowy SLA i zintegrowane funkcje odzyskiwania po awarii.Azure IoT Hub comes with a 99.9% SLA and has integrated disaster recovery capabilities.
  • Usługa Azure Databricks jest zoptymalizowana od podstaw pod kątem wydajności i efektywności kosztowej w chmurze.Azure Databricks is optimized from the ground up for performance and cost-efficiency in the cloud. Databricks Runtime dodaje kilka kluczowych funkcji do obciążeń Apache Spark, które mogą zwiększyć wydajność i zmniejszyć koszty nawet o 10-100x podczas uruchamiania na platformie Azure, w tym:The Databricks Runtime adds several key capabilities to Apache Spark workloads that can increase performance and reduce costs by as much as 10-100x when running on Azure, including:
  • Usługa Azure Databricks jest głęboko integruje się z bazami danych i magazynami platformy Azure: Azure Synapse, Azure Cosmos DB, Azure Data Lake Storagei Azure Blob StorageAzure Databricks integrates deeply with Azure databases and stores: Azure Synapse, Azure Cosmos DB, Azure Data Lake Storage, and Azure Blob Storage
    • Automatyczne skalowanie i automatyczne ustawianie klastrów platformy Spark w celu automatycznego zminimalizowania kosztów.Autoscaling and autotermination for Spark clusters to automatically minimize costs.
    • Optymalizacje wydajności, w tym buforowanie, indeksowanie i zaawansowana optymalizacja zapytań, które mogą zwiększyć wydajność nawet o 10-100x w przypadku tradycyjnych wdrożeń platformy Apache Spark w środowisku chmurowym lub lokalnym.Performance optimizations including caching, indexing, and advanced query optimization, which can improve performance by as much as 10-100x over traditional Apache Spark deployments in cloud or on-premises environments.
    • Integracja z usługą Azure Active Directory umożliwia uruchamianie przy użyciu usługi Azure Databricks kompletnych rozwiązań bazujących na platformie Azure.Integration with Azure Active Directory enables you to run complete Azure-based solutions using Azure Databricks.
    • Dostęp oparty na rolach w usłudze Azure Databricks umożliwia szczegółowe uprawnienia użytkowników dla notesów, klastrów, zadań i danych.Role-based access in Azure Databricks enables fine-grained user permissions for notebooks, clusters, jobs, and data.
    • W zestawie ujednawcze klasy korporacyjnej.Comes with Enterprise-grade SLAs.
  • Azure Cosmos DB to dostępna w skali światowej, wielomodelowa baza danych firmy Microsoft.Azure Cosmos DB is Microsoft's globally distributed, multi-model database. Usługa Azure Cosmos DB została zbudowana od podstaw z globalną dystrybucją i skalą poziomą.Azure Cosmos DB was built from the ground up with global distribution and horizontal scale at its core. Oferuje globalną dystrybucję "pod klucz" w dowolnej liczbie regionów platformy Azure, w sposób przejrzysty, skalując i replikując dane, gdziekolwiek są użytkownicy.It offers turnkey global distribution across any number of Azure regions by transparently scaling and replicating your data wherever your users are. Można elastycznie skalować przepływność i magazyn na całym świecie i płacić tylko za przepływność i magazyn, których potrzebujesz.You can elastically scale throughput and storage worldwide, and pay only for the throughput and storage you need.
  • Architektura przetwarzania masowo równoległego platformy Azure Synapse zapewnia skalowalność i wysoką wydajność.The massively parallel processing architecture of Azure Synapse provides scalability and high performance.
  • Usługa Azure Synapse ma gwarantowane łasce sla i zalecane praktyki w celu osiągnięcia wysokiej dostępności.Azure Synapse has guaranteed SLAs and recommended practices for achieving high availability.
  • Gdy działanie analizy jest niska, firma może skalować platformę Azure Synapse na żądanie, zmniejszając lub nawet wstrzymując obliczenia, aby obniżyć koszty.When analysis activity is low, the company can scale Azure Synapse on demand, reducing or even pausing compute to lower costs.
  • Model zabezpieczeń Usługi Azure Synapse zapewnia zabezpieczenia połączenia, uwierzytelnianie i autoryzację za pośrednictwem uwierzytelniania usługi Azure AD lub SQL Server oraz szyfrowania.The Azure Synapse security model provides connection security, authentication, and authorization via Azure AD or SQL Server authentication, and encryption.

CennikPricing

Przejrzyj ceny usługi Azure Databricks, ceny usługi Azure IoT Hub, przykład cen dla scenariusza magazynowania danych za pośrednictwem kalkulatora cen platformy Azure.Review Azure Databricks pricing, Azure IoT Hub pricing, pricing sample for a data warehousing scenario via the Azure pricing calculator. Dostosuj wartości, aby zobaczyć, jak twoje wymagania wpływają na koszty.Adjust the values to see how your requirements affect your costs.

  • Usługa Azure IoT Hub to w pełni zarządzana usługa w chmurze, która ułatwia, umożliwia szybkie i ekonomiczne gromadzenie ogromnych ilości danych IoTAzure IoT Hub is a fully managed cloud service that makes it easy, fast, and cost-effective to ingest massive amounts of IoT data
  • Usługa Azure Databricks oferuje dwa różne obciążenia na kilku wystąpieniach maszyn wirtualnych dostosowanych do przepływu — pracy analizy danych Obciążenie inżynierią danych ułatwia inżynierom danych tworzenie i wykonywanie zadań, a obciążenie usługi Data Analytics ułatwia analitykom danych interaktywne eksplorowanie, wizualizowanie, manipulowanie i udostępnianie danych i szczegółowych informacji.Azure Databricks offers two distinct workloads on several VM Instances tailored for your data analytics workflow — the Data Engineering workload makes it easy for data engineers to build and execute jobs, and the Data Analytics workload makes it easy for data scientists to explore, visualize, manipulate, and share data and insights interactively.
  • Usługa Azure Cosmos DB gwarantuje jednocyfrowe opóźnienia milisekund na 99 percentylu w dowolnym miejscu na świecie, oferuje wiele dobrze zdefiniowanych modeli spójności, aby dostosować wydajność i gwarantuje wysoką dostępność z wieloma funkcjami homingu, — wszystkie wspierane przez wiodące w branży kompleksowe umowy dotyczące poziomu usług (SLA).Azure Cosmos DB guarantees single-digit-millisecond latencies at the 99th percentile anywhere in the world, offers multiple well-defined consistency models to fine-tune performance, and guarantees high availability with multi-homing capabilities — all backed by industry leading comprehensive service level agreements (SLAs).
  • Usługa Azure Synapse umożliwia niezależne skalowanie poziomów danych obliczeniowych i magazynowych.Azure Synapse allows you to scale your compute and storage levels independently. Zasoby obliczeniowe są naliczane na godzinę i można skalować lub wstrzymywać te zasoby na żądanie.Compute resources are charged per hour, and you can scale or pause these resources on demand. Zasoby magazynu są rozliczane za terabajt, więc koszty będą wzrastać w miarę pozyskiwania większej ilości danych.Storage resources are billed per terabyte, so your costs will increase as you ingest more data.
  • Usługi Analysis Services są dostępne w warstwach deweloperskich, podstawowych i standardowych.Analysis Services is available in developer, basic, and standard tiers. Wystąpienia są wyceniane na podstawie jednostek przetwarzania zapytań (QPUT) i dostępnej pamięci.Instances are priced based on query processing units (QPUs) and available memory. Aby obniżyć koszty, należy zminimalizować liczbę uruchomionych zapytań, ilość przetwarzanych danych i często uruchamiane.To keep your costs lower, minimize the number of queries you run, how much data they process, and how often they run.
  • Usługa Power BI ma różne opcje produktów dla różnych wymagań.Power BI has different product options for different requirements. Usługa Power BI Embedded udostępnia opcję opartą na platformie Azure do osadzania funkcji usługi Power BI w aplikacjach.Power BI Embedded provides an Azure-based option for embedding Power BI functionality inside your applications. Osadzone wystąpienie usługi Power BI znajduje się w powyższym przykładzie cennika.A Power BI Embedded instance is included in the pricing sample above.

Następne krokiNext steps

  • Przejrzyj architekturę referencyjną usługi Azure IoT, która pokazuje zalecaną architekturę dla aplikacji IoT na platformie Azure przy użyciu składników PaaS (platforma jako usługa).Review the Azure IoT reference architecture that shows a recommended architecture for IoT applications on Azure using PaaS (platform-as-a-service) components.
  • Przejrzyj architekturę referencyjną analizy w czasie rzeczywistym, która zawiera przepływ potoku dużych zbiorów danych.Review the Real-time analytics reference architecture that includes big data pipeline flow.
  • Przejrzyj zaawansowane analizy architektury referencyjnej dużych zbiorów danych, aby dowiedzieć się, jak różne składniki platformy Azure mogą pomóc w tworzeniu potoku dużych zbiorów danych.Review the Advanced analytics on big data reference architecture to get a peek on how different Azure components can help build a big data pipeline.