你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure Database for PostgreSQL 的智能应用

Azure 应用服务
Azure AI 服务
Azure Database for PostgreSQL
Azure 机器学习
Power BI

解决方案构想

本文是一种解决方案构想。 如果你希望我们在内容中扩充更多信息,例如潜在用例、备用服务、实现注意事项或定价指南,请通过提供 GitHub 反馈来告知我们。

本文介绍使用人工智能 (AI) 自动执行数据分析和可视化的解决方案。 解决方案中的核心组件包括 Azure Functions、Azure 认知服务和 Azure Database for PostgreSQL。

体系结构

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

下载此体系结构的 Visio 文件

数据流

  1. 通过 Azure 函数活动可以在 Azure 数据工厂管道中触发 Azure Functions 应用。 创建链接服务连接并将链接服务与活动一起使用,以指定要执行的 Azure 函数。
  2. 数据来自多个源,包括 Azure 存储和用于大容量数据的 Azure 事件中心。 管道收到新数据时,会触发 Azure Functions 应用。
  3. Azure Functions 应用会调用认知服务 API 来分析数据。
  4. 认知服务 API 以 JSON 格式将分析结果返回给 Azure Functions 应用。
  5. Azure Functions 应用将认知服务 API 的数据和结果存储在 Azure Database for PostgreSQL 中。
  6. Azure 机器学习使用自定义机器学习算法来进一步深入了解数据。
    • 如果你要从无代码的角度来研究机器学习步骤,则可对数据实现进一步的文本分析操作,例如特征哈希、Word2Vector 和 n 元语法提取。
    • 如果你更喜欢代码优先方法,可以在机器学习工作室中将开放源代码自然语言处理 (NLP) 模型作为试验运行。
  7. 借助适用于 Power BI 的 PostgreSQL 连接器,可以在 Power BI 或自定义 Web 应用程序中探索人类可解释的见解。

组件

  • Azure 应用服务提供完全托管的平台,用于快速生成、部署和缩放 Web 应用和 API。
  • Functions 是事件驱动的无服务器计算平台。 如需了解如何使用活动在数据工厂管道中运行函数,请参阅 Azure 数据工厂中的 Azure 函数活动
  • 事件中心是一个完全托管的大数据流式处理平台。
  • 认知服务提供一套 AI 服务和 API,可用于将认知智能构建到应用中。
  • Azure Database for PostgreSQL 是一种完全托管的关系数据库服务。 它为 PostgreSQL 提供高可用性、弹性缩放、修补和其他管理功能。
  • Azure 机器学习是一种可用于训练、部署和自动化机器学习模型的云服务。 工作室支持代码优先方法和无代码方法。
  • Power BI 是一系列软件服务和应用,可显示分析信息并帮助你从数据中获取见解。

方案详细信息

自动化管道使用以下服务来分析数据:

  • 认知服务使用 AI 进行问题解答、情绪分析和文本翻译。
  • Azure 机器学习提供用于预测分析的机器学习工具。

为了存储数据和结果,该解决方案使用 Azure Database for PostgreSQL。 PostgreSQL 数据库支持非结构化数据、并行查询和声明性分区。 这种支持使 Azure Database for PostgreSQL 成为高度数据密集型 AI 和机器学习任务的有效选择。

该解决方案可自动交付数据分析。 连接器将 Azure Database for MySQL 与可视化工具(如 Power BI)链接在一起。

该体系结构使用 Azure Functions 应用从多个数据源引入数据。 它是一种无服务器解决方案,具有以下优势:

  • 基础结构维护:Azure Functions 是一项托管服务,使开发人员能够专注于为企业提供价值的创新工作。
  • 可伸缩性:Azure Functions 按需提供计算资源,因此函数实例可根据需要进行缩放。 当请求减少时,资源和应用程序实例都会自动减少。

可能的用例

Azure Database for PostgreSQL 是基于云的解决方案。 因此,不建议将此解决方案用于移动应用程序。 它更适用于以下行业和其他行业的下游分析:

  • 运输:维护预测
  • 金融:风险评估和欺诈检测
  • 电子商务:客户流失预测和建议引擎
  • 电信:性能优化
  • 公用事业:避免中断

注意事项

这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负载质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架

  • 对于大多数功能,适用于语言的认知服务 API 对于单个文档的最大大小为 5120 个字符。 对于所有功能,最大请求大小为 1 MB。 有关数据和速率限制的详细信息,请参阅适用于语言的 Azure 认知服务的服务限制

  • 在 Azure Database for PostgreSQL 中,流入量和速度决定了服务和部署模式的选择。 可使用两种服务:

    • Azure Database for PostgreSQL
    • Azure Cosmos DB for PostgreSQL,以前称为超大规模 (Citus) 模式

    如果要挖掘大量客户意见和评论,请使用 Azure Cosmos DB for PostgreSQL。 在 Azure Database for PostgreSQL 中,有两种模式可用:单一服务器模式和灵活服务器模式。 若要了解何时使用每种部署模式,请参阅什么是 Azure Database for PostgreSQL?

  • 此解决方案的早期版本使用认知服务文本分析 API。 适用于语言的 Azure 认知服务现在统一了认知服务中的三个单独语言服务:文本分析、QnA Maker 和语言理解 (LUIS)。 可以轻松从文本分析 API 迁移到适用于语言 的认知服务 API。 有关说明,请参阅迁移到最新版本的适用于语言的 Azure 认知服务

安全性

安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅安全性支柱概述

Azure Database for PostgreSQL 中的所有数据会自动加密和备份。 可以配置 Microsoft Defender for Cloud 来进一步缓解威胁。 有关详细信息,请参阅为开放源代码关系数据库启用 Microsoft Defender 并响应警报

DevOps

可使用 GitHub Actions 的连接字符串并设置工作流,配置 GitHub Actions 以连接到 Azure Database for PostgreSQL 数据库。 有关详细信息,请参阅快速入门:使用 GitHub Actions 连接到 Azure PostgreSQL

还可使用 Azure Pipelines 自动执行机器学习生命周期。 有关如何实现 MLOps 工作流并为项目生成 CI/CD 管道的信息,请参阅 GitHub 存储库使用 Azure ML 的 MLOps

成本优化

成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化支柱概述

适用于语言的认知服务提供各种定价层。 处理的文本记录数会影响成本。 有关详细信息,请参阅适用于语言的 Azure 认知服务定价

后续步骤