本示例方案演示一个将大量数据从多个源集成到 Azure 中统一分析平台的数据管道。 此特定方案基于某个销售和营销解决方案,但设计模式与需要对大型数据集进行高级分析的多个行业(例如电子商务、零售和医疗保健)相关。
体系结构
下载此体系结构的 Visio 文件。
数据流
数据流经解决方案的情形如下所示:
- 对于每个数据源,会定期将所有更新导出到 Azure Data Lake Storage 中的临时区域。
- Azure 数据工厂逐渐将数据从 Azure Data Lake Storage 载入 Azure Synapse Analytics 中的临时表。 在此过程中,会清理并转换数据。 Polybase 可将大型数据集的处理过程并行化。
- 将新的一批数据载入仓库后,会刷新以前创建的 Azure Analysis Services 表格模型。 此语义模型简化了业务数据和关系的分析。
- 业务分析师使用 Microsoft Power BI 通过 Analysis Services 语义模型来分析数据仓库数据。
组件
该公司的数据源位于多个不同的平台上:
- 本地 SQL Server
- 本地 Oracle 平台
- Azure SQL Database
- Azure 表存储
- Azure Cosmos DB
使用多个 Azure 组件从不同的数据源加载数据:
- 将源数据加载到 Azure Synapse 之前,使用 Azure Data Lake Storage 暂存这些数据。
- 数据工厂在 Azure Synapse 的通用结构中协调临时数据的转换。 数据工厂在将数据载入 Azure Synapse 时使用 Polybase,以最大化吞吐量。
- Azure Synapse 是用于存储和分析大型数据集的分布式系统。 它使用大规模并行处理 (MPP),因此很适合用于运行高性能分析。 Azure Synapse 可以使用 PolyBase 快速从 Azure Data Lake Storage 加载数据。
- Analysis Services 为数据提供语义模型。 分析数据时,它还可以提高系统性能。
- Power BI 是一套业务分析工具,可以分析数据和分享见解。 Power BI 可以查询 Analysis Services 中存储的语义模型,或者直接查询 Azure Synapse。
- Microsoft Entra ID 通过 Power BI 对连接到 Analysis Services 服务器的用户进行身份验证。 数据工厂还可以使用 Microsoft Entra ID 通过服务主体或 Azure 资源的托管标识对 Azure Synapse 进行身份验证。
备选方法
示例管道包含多种不同的数据源。 此体系结构可以处理各种关系和非关系数据源。
数据工厂协调数据管道的工作流。 如果你只想加载数据一次或按需加载数据,可以使用 SQL Server 批量复制 (bcp) 和 AzCopy 等工具将数据复制到 Azure Data Lake Storage 中。 然后,可以使用 PolyBase 将数据直接载入 Azure Synapse。
对于极大型的数据集,请考虑使用 Data Lake Storage,它可为分析数据提供无限存储。
Azure Synapse 不适合 OLTP 工作负荷或小于 250 GB 的数据集。 对于这种情况,应使用 Azure SQL 数据库或 SQL Server。
有关其他备选方案的比较,请参阅:
方案详细信息
本示例演示了一家需要创建激励计划的销售和营销公司。 这些计划涉及到客户、供应商、销售人员和员工的奖励。 数据是这些计划的基础,该公司希望改善使用 Azure 通过数据分析获得的见解。
该公司需要采用新式方法来分析数据,以便在适当的时间使用适当的数据做出决策。 该公司的目标包括:
- 将不同种类的数据源合并到一个云规模的平台。
- 将源数据转换为常见的分类和结构,使数据保持一致并可轻松进行比较。
- 使用支持数千个激励计划的高度并行化方法加载数据,并避免部署和维护本地基础结构所产生的较高成本。
- 大幅减少收集和转换数据所需的时间,以便可以专注于分析数据。
可能的用例
此方法还可以用来:
- 建立数据仓库,用作数据的单一事实源。
- 将关系数据源与其他非结构化数据集相集成。
- 使用语义建模和强大的可视化工具来简化数据分析。
注意事项
这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架。
之所以选择此体系结构中的技术,是因为它们符合公司在可伸缩性与可用性方面的要求,同时有助于控制成本。
- Azure Synapse 的大规模并行处理体系结构提供可伸缩性和高性能。
- Azure Synapse 提供有保障的服务级别协议 (SLA) 以及实现高可用性的建议做法。
- 当分析活动较少时,公司可以按需缩减 Azure Synapse,以减少甚至暂停计算资源,从而降低成本。
- 当查询工作负荷较高时,可以横向扩展 Azure Analysis Services 来减少响应时间。 也可将处理与查询池分开,使处理操作不会减慢客户端查询的速度。
- Azure Analysis Services 也提供有保障的 SLA,以及实现高可用性的建议做法。
- Azure Synapse 安全模型通过 Microsoft Entra ID 或 SQL Server 身份验证和加密提供连接安全性、身份验证和授权。 Azure Analysis Services 使用 Microsoft Entra ID 进行标识管理和用户身份验证。
成本优化
成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化支柱概述。
请通过 Azure 定价计算器了解数据仓库方案的定价示例。 请调整值,查看要求如何影响成本。
- Azure Synapse 允许独立缩放计算和存储级别。 计算资源按小时计费,可按需缩放或暂停这些资源。 存储资源按 TB 计费,因此,引入的数据越多,费用就越高。
- 数据工厂的费用根据读/写操作数目、监视操作数目以及在一个工作负荷中执行的业务流程活动数目来计收。 每增加一个数据流和每增加一个单位的处理数据量,数据工厂的费用都会增加。
- 可在开发人员、基本和标准层使用 Analysis Services。 实例按查询处理单位 (QPU) 和可用内存定价。 为了控制成本,请尽量减少运行的查询数、查询处理的数据量以及查询的运行频率。
- Power BI 提供不同的产品选项来满足不同的要求。 Power BI Embedded 提供基于 Azure 的选项用于在应用程序中嵌入 Power BI 功能。 上述定价示例包括 Power BI Embedded 实例。
作者
本文由 Microsoft 维护, 最初由以下参与者撰写。
主要作者:
- Alex Buck | 高级内容开发人员
若要查看非公开的 LinkedIn 个人资料,请登录到 LinkedIn。
后续步骤
查看自动化企业 BI 的 Azure 参考体系结构,其中包含了有关在 Azure 中部署此体系结构的实例的说明。
详细了解此方案中使用的服务: