Applications intelligentes utilisant Azure Database pour PostgreSQL

App Service
Cognitive Services
Database pour PostgreSQL
Machine Learning
Power BI

Idée de solution

Si vous souhaitez nous voir développer cet article avec d’autres informations, telles que des cas d’usage potentiels, d’autres services, des considérations d’implémentation ou un guide des prix, faites-le nous savoir avec les Commentaires de GitHub.

Développez des applications sophistiquées à l'aide d'algorithmes de Machine Learning dernier cri et d'outils de visualisation intégrés pour bénéficier d'insights et d'analyses actionnables.

Dans cet exemple d'application intelligente, PostgreSQL est le cœur de l'architecture en tant que base de données principale d'un cas d'usage AIML courant d'analyse de texte sur les réseaux sociaux. La prise en charge par PostgreSQL des données non structurées, la capacité à exécuter des requêtes parallèles et le partitionnement déclaratif en font un excellent choix de base de données pour une tâche AIML très gourmande en données. Dans la mesure où PostgreSQL est une solution basée sur le cloud, cette architecture n'est pas recommandée pour les applications mobiles et convient davantage aux analyses effectuées en aval.

Architecture

Diagramme d’architecture Télécharger une SVG de cette architecture.

Flux de données

  1. Les données peuvent provenir de différentes sources, notamment de Event Hubs en cas de volumes élevés d’ingestion des données ou de données chargées dans Stockage Blob. Une application de fonction Azure est déclenchée lors de la réception de nouvelles données.
  2. L’application de fonction Azure appelle l’API Analyse de texte dans Azure Cognitive Services pour analyser les données (par exemple, Analyse des sentiments). Les résultats de l’analyse sont retournés au format JSON.
    • L’API Analyse de texte peut détecter la langue de l’utilisateur, les phrases clés utilisées dans un avis, identifier des entités nommées spécifiques et comprendre ce que les clients pensent réellement des produits qu’ils ont achetés.
  3. L’application de fonction Azure stocke les données et les résultats d’Analyse de texte dans Azure Database pour MySQL.
  4. Des modèles de traitement en langage naturel (NLP) Deep Learning peuvent ensuite être appliqués sur les insights de l’API à partir de PostgreSQL (ou sur les données brutes initiales) dans Azure Machine Learning Studio
    • Si vous abordez le composant de Machine Learning de cette architecture sous une perspective « no-code », vous pouvez implémenter d'autres opérations d'analyse de texte sur les données, telles que le hachage des caractéristiques, Word2Vector et l'extraction n-gram. Si vous préférez l’approche Code First, vous pouvez utiliser votre modèle NLP open source préféré et l’exécuter comme une expérience dans Azure Machine Learning.
    • Les résultats de cette analyse supplémentaire de Machine Learning sont enregistrés dans PostgreSQL
  5. Enfin, les insights interprétables par l'homme peuvent être consultés dans Power BI via le connecteur PostgreSQL.

Components

  • Azure App Services : plateforme complètement managée permettant de créer, de déployer et de mettre à l'échelle rapidement des applications web et des API.
  • Azure Functions
  • Hubs d'événements
  • Azure Cognitive Services : créez des applications intelligentes grâce à une suite de services d'IA et d'API.
  • Azure Database pour PostgreSQL : avec une haute disponibilité pouvant atteindre 99,99 % du contrat SLA et une excellente scalabilité, Azure Database pour PostgreSQL vous permet de vous concentrer sur l'innovation.
  • Azure Machine Learning Studio : effectuez l'apprentissage de modèles Machine Learning, déployez-les et automatisez-les à partir de ce portail web couvrant les approches « code-first » et « no-code ».
  • Power BI : créez de superbes visualisations et découvrez les insights cachés dans vos données à l'aide de Power BI.

Considérations

L'API Analyse de texte d'Azure Cognitive Services offre une taille maximale de 5 120 caractères par document et une taille maximale de 1 Mo par requête. Consultez les données et les limites de taux de transfert.

En fonction du volume et de la vitesse d'ingestion des données, vous pouvez sélectionner l'un des trois modes de déploiement suivants : serveur unique, flexible et Hyperscale (Citus). Si vous souhaitez exploiter de grandes quantités d'avis et critiques de clients, optez pour la solution Hyperscale. Explorez le module d'apprentissage Quand utiliser Azure Database pour PostgreSQL pour savoir quand utiliser chaque mode de déploiement.

Sécurité

Toutes les données de PostgreSQL sont automatiquement chiffrées et sauvegardées. Vous pouvez configurer Azure Advanced Threat Protection pour une meilleure atténuation des menaces. Pour plus d'informations, consultez Advanced Threat Protection dans Azure Database pour PostgreSQL.

DevOps

Vous pouvez configurer GitHub Actions pour une connexion à votre base de données Azure PostgreSQL à l'aide de sa chaîne de connexion et en configurant un flux de travail. Pour en savoir plus, consultez Démarrage rapide : Utiliser GitHub Actions pour la connexion à Azure PostgreSQL.

En outre, vous pouvez automatiser votre cycle de vie Azure Machine Learning à l'aide d'Azure Pipelines. Le référentiel GitHub MLOps avec Azure Machine Learning montre comment rendre opérationnel un flux de travail MLOps et mettre en place un pipeline CI/CD pour votre projet.

Tarifs

La tarification de l'API Analyse de texte d'Azure Cognitive Services dépend de l'instance sélectionnée et du nombre de transactions mensuelles. Pour plus d'informations, utilisez la Calculatrice de prix de l'Analyse de texte disponible ici.

Étapes suivantes