Intelligenta appar med Azure Database for PostgreSQL

Azure App Service
Azure AI services
Azure Database for PostgreSQL
Azure Machine Learning
Power BI

Lösningsidéer

Den här artikeln är en lösningsidé. Om du vill att vi ska utöka innehållet med mer information, till exempel potentiella användningsfall, alternativa tjänster, implementeringsöverväganden eller prisvägledning, kan du meddela oss genom att ge GitHub-feedback.

I den här artikeln beskrivs en lösning för att automatisera dataanalys och visualisering med hjälp av artificiell intelligens (AI). Kärnkomponenterna i lösningen är Azure Functions, Azure Cognitive Services och Azure Database for PostgreSQL.

Arkitektur

Diagram that shows the dataflow of an intelligent application using Azure Database for PostgreSQL.

Ladda ned en Visio-fil med den här arkitekturen.

Dataflöde

  1. Med en Azure-funktionsaktivitet kan du utlösa en Azure Functions-app i Azure Data Factory-pipelinen. Du skapar en länkad tjänstanslutning och använder den länkade tjänsten med en aktivitet för att ange den Azure-funktion som du vill köra.
  2. Data kommer från flera källor, inklusive Azure Storage och Azure Event Hubs för data med stora volymer. När pipelinen tar emot nya data utlöses Azure Functions-appen.
  3. Azure Functions-appen anropar Cognitive Services-API:et för att analysera data.
  4. Cognitive Services-API:et returnerar resultatet av analysen i JSON-format till Azure Functions-appen.
  5. Azure Functions-appen lagrar data och resultat från Cognitive Services API i Azure Database for PostgreSQL.
  6. Azure Machine Learning använder anpassade maskininlärningsalgoritmer för att ge ytterligare insikter om data.
    • Om du närmar dig maskininlärningssteget utan kod kan du implementera ytterligare textanalysåtgärder på data, till exempel funktionshashing, Word2Vector och extrahering av n-gram.
    • Om du föredrar en kod först-metod kan du köra en NLP-modell (open-source natural language processing) som ett experiment i Machine Learning Studio.
  7. PostgreSQL-anslutningsappen för Power BI gör det möjligt att utforska insikter som kan tolkas av människor i Power BI eller ett anpassat webbprogram.

Komponenter

  • Azure App Service är en fullständigt hanterad plattform för att snabbt skapa, distribuera och skala webbappar och API:er.
  • Functions är en händelsedriven serverlös beräkningsplattform. Information om hur du använder en aktivitet för att köra en funktion som en del av en Data Factory-pipeline finns i Azure-funktionsaktivitet i Azure Data Factory.
  • Event Hubs är en fullständigt hanterad plattform för stordataströmning.
  • Cognitive Services tillhandahåller en uppsättning AI-tjänster och API:er som du kan använda för att skapa kognitiv intelligens i appar.
  • Azure Database for PostgreSQL är en fullständigt hanterad relationsdatabastjänst. Det ger hög tillgänglighet, elastisk skalning, korrigering och andra hanteringsfunktioner för PostgreSQL.
  • Azure Machine Learning är en molntjänst som du kan använda för att träna, distribuera och automatisera maskininlärningsmodeller. Studio stöder metoder för kod först och ingen kod.
  • Power BI är en samling programvarutjänster och appar som visar analysinformation och hjälper dig att härleda insikter från data.

Information om scenario

Den automatiserade pipelinen använder följande tjänster för att analysera data:

  • Cognitive Services använder AI för frågesvar, attitydanalys och textöversättning.
  • Azure Machine Learning tillhandahåller maskininlärningsverktyg för förutsägelseanalys.

För att lagra data och resultat använder lösningen Azure Database for PostgreSQL. PostgreSQL-databasen stöder ostrukturerade data, parallella frågor och deklarativ partitionering. Det här stödet gör Azure Database for PostgreSQL till ett effektivt val för mycket dataintensiva AI- och maskininlärningsuppgifter.

Lösningen automatiserar leveransen av dataanalysen. En anslutningsapp länkar Azure Database for MySQL med visualiseringsverktyg som Power BI.

Arkitekturen använder en Azure Functions-app för att mata in data från flera datakällor. Det är en serverlös lösning som erbjuder följande fördelar:

  • Infrastrukturunderhåll: Azure Functions är en hanterad tjänst som gör att utvecklare kan fokusera på innovativt arbete som ger mervärde till verksamheten.
  • Skalbarhet: Azure Functions tillhandahåller beräkningsresurser på begäran, så funktionsinstanser skalas efter behov. När begäranden faller släpps resurser och programinstanser automatiskt.

Potentiella användningsfall

Azure Database for PostgreSQL är en molnbaserad lösning. Därför rekommenderas inte den här lösningen för mobila program. Det är lämpligare för nedströmsanalys i följande branscher och andra:

  • Transport: Underhållsförutsägelse
  • Ekonomi: Riskbedömning och bedrägeriidentifiering
  • E-handel: Kundomsättningsförutsägelse- och rekommendationsmotorer
  • Telekommunikation: Prestandaoptimering
  • Verktyg: Förebyggande av avbrott

Att tänka på

Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.

  • För de flesta funktioner har Cognitive Service for Language API en maximal storlek på 5120 tecken för ett enda dokument. För alla funktioner är den maximala begärandestorleken 1 MB. Mer information om data- och hastighetsgränser finns i Tjänstgränser för Azure Cognitive Service for Language.

  • I Azure Database for PostgreSQL avgör din inkommande volym och hastighet ditt val av tjänst- och distributionsläge. Två tjänster är tillgängliga:

    • Azure Database for PostgreSQL
    • Azure Cosmos DB för PostgreSQL, som tidigare kallades Hyperskala (Citus) läge

    Om du bryter stora arbetsbelastningar med kundernas åsikter och recensioner använder du Azure Cosmos DB för PostgreSQL. I Azure Database for PostgreSQL är två lägen tillgängliga: enskild server och flexibel server. Information om när du ska använda varje distributionsläge finns i Vad är Azure Database for PostgreSQL?.

  • Tidigare versioner av den här lösningen använde Cognitive Services Textanalys API. Azure Cognitive Service for Language förenar nu tre enskilda språktjänster i Cognitive Services: Textanalys, QnA Maker och Language Understanding (LUIS). Du kan enkelt migrera från Textanalys-API:et till Cognitive Service for Language API. Anvisningar finns i Migrera till den senaste versionen av Azure Cognitive Service for Language.

Säkerhet

Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i Översikt över säkerhetspelare.

Alla data i Azure Database for PostgreSQL krypteras och säkerhetskopieras automatiskt. Du kan konfigurera Microsoft Defender för molnet för ytterligare minskning av hot. Mer information finns i Aktivera Microsoft Defender för relationsdatabaser med öppen källkod och svara på aviseringar.

DevOps

Du kan konfigurera GitHub Actions för att ansluta till Azure Database for PostgreSQL-databasen med hjälp av dess anslutningssträng och konfigurera ett arbetsflöde. Mer information finns i Snabbstart: Använd GitHub Actions för att ansluta till Azure PostgreSQL.

Du kan också automatisera livscykeln för maskininlärning med hjälp av Azure Pipelines. Information om hur du implementerar ett MLOps-arbetsflöde och skapar en CI/CD-pipeline för ditt projekt finns i GitHub-lagringsplatsen MLOps med Azure ML.

Kostnadsoptimering

Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Översikt över kostnadsoptimeringspelare.

Cognitive Service for Language erbjuder olika prisnivåer. Antalet textposter som du bearbetar påverkar din kostnad. Mer information finns i Cognitive Service for Language pricing (Cognitive Service for Language pricing).

Nästa steg