解决方案构想
本文介绍了一种解决方案构想。 云架构师可以通过本指南来帮助可视化此体系结构的典型实现的主要组件。 以本文为起点,设计一个符合工作负荷特定要求的架构合理的解决方案。
此解决方案概述了新式数据体系结构。 Azure Databricks 构成了该解决方案的核心。 此平台与其他服务(例如 Azure Data Lake Storage Gen2、Microsoft Fabric 和 Power BI)无缝配合工作。
Apache® 和 Apache Spark™ 是 Apache Software Foundation 在美国和/或其他国家/地区的商标或注册商标。 使用这些标记并不暗示获得 Apache Software Foundation 的认可。
体系结构
下载此体系结构的 Visio 文件。
数据流
Azure Databricks 使用增量实时表从 Azure 事件中心引入原始流数据。
Fabric 数据工厂将原始批处理数据加载到 Data Lake Storage Gen2 中。
对于数据存储:
Data Lake Storage Gen2 容装所有类型的数据,例如结构化、非结构化和半结构化数据。 它还存储批处理和流式处理数据。
Delta Lake 构成了数据湖的特选层。 它以开源格式存储具体化数据。
Azure Databricks 非常适合用于将数据组织成层的奖牌体系结构:
- 铜牌:包含原始数据。
- 银牌:包含已清理、筛选的数据。
- 金牌:存储对业务分析有用的聚合数据。
分析平台从不同的批处理和流式处理源中提取数据。 数据科学家可以使用这些数据来执行以下任务:
- 数据准备。
- 数据探索。
- 模型准备。
- 模型训练。
MLflow 管理数据科学代码运行中的参数、指标和模型跟踪。 支持灵活的代码编写形式:
- 代码可以使用 SQL、Python、R 和 Scala 语言。
- 代码可以使用预装且优化的流行开源库和框架,例如 Koalas、Pandas 和 scikit-learn。
- 从业者可以使用单节点和多节点计算选项来优化性能与成本。
机器学习模型采用多种格式:
- Azure Databricks 将有关模型的信息存储在 MLflow 模型注册表中。 该注册表通过批处理、流式处理和 REST API 提供模型。
- 该解决方案还可将模型部署到 Azure 机器学习 Web 服务或 Azure Kubernetes 服务 (AKS)。
处理数据的服务连接到单个基础数据源以确保一致性。 例如,用户可以使用 Azure Databricks SQL Warehouse 在 Data Lake 上运行 SQL 查询。 此服务:
- 提供查询编辑器和目录、查询历史记录、基本仪表板和警报。
- 使用包括行级和列级权限的集成安全性。
- 使用光子动力增量引擎 (Photon-powered Delta Engine) 加速性能。
用户可以将 Databricks Unity 目录中的黄金数据集镜像到 Fabric 中。 Fabric 中的 Databricks 镜像 允许用户轻松集成,而无需数据移动或数据复制。
Power BI 从统一数据平台生成分析和历史报表与仪表板。 使用 Azure Databricks 时,此服务将使用以下功能:
- 用于可视化基础数据的内置 Azure Databricks 连接器。
- 优化的 Java Database Connectivity (JDBC) 和开放式数据库连接 (ODBC) 驱动程序。
- 借助 Fabric 中的 Databricks 镜像,可以利用 Direct Lake 加载 PBI 语义模型,以便执行更高的性能查询。
该解决方案使用 Unity 目录和 Azure 服务进行协作、性能、可靠性、治理和安全性:
Databricks Unity 目录跨 Azure Databricks 工作区提供集中式访问控制、审核、世系和数据发现功能。
Microsoft Purview 针对整个数据资产提供数据发现服务、敏感数据分类和治理见解。
Azure DevOps 提供持续集成和持续部署 (CI/CD) 及其他集成式版本控制功能。
Azure 密钥保管库安全地管理机密、密钥和证书。
Microsoft Entra ID 和 SCIM 预配为 Azure Databricks 用户和组提供单一登录(SSO)。 Azure Databricks 支持使用 Microsoft Entra 自动用户预配来执行以下任务:
- 创建新用户和组。
- 为每个用户分配访问级别。
- 删除用户和拒绝他们的访问。
Azure Monitor 收集和分析 Azure 资源遥测数据。 通过主动识别问题,此服务最大程度地提高了性能和可靠性。
Microsoft 成本管理 Azure 工作负载提供财务治理服务。
组件
该解决方案使用以下组件。
核心组件
Azure Databricks 是一个数据分析平台,它使用 Spark 群集来处理大型数据流。 它清理和转换非结构化数据,将其与结构化数据相结合,并且可以训练和部署机器学习模型。 在此体系结构中,Databricks 充当数据引入、处理和服务的中心工具,为管理整个数据生命周期提供了统一的环境。
Azure Databricks SQL Warehouse 是计算资源,可用于查询和浏览 Databricks 上的数据。 在此体系结构中,可以利用 SQL 终结点直接从 Power BI 连接到数据。
Azure Databricks Delta 实时表 是一个声明性框架,用于生成可靠、可维护且可测试的数据处理管道。 在此体系结构中,Delta Live Tables 可帮助你定义转换,以便对数据执行和管理任务业务流程、群集管理、监视、数据质量和 Databricks 中的错误处理。
Microsoft Fabric 是一个端到端分析和数据平台,专为需要统一解决方案的企业而设计。 该平台提供数据工程、数据工厂、数据科学、Real-Time 分析、数据仓库和数据库等服务。 在此体系结构中,我们将 Unity 目录表镜像到 Fabric 中,并使用 Power BI 中的 Direct Lake 来提高性能。
Microsoft Fabric 中的 数据工厂 使你能够使用新式数据集成体验从 Fabric 中的一组丰富的数据源引入、准备和转换数据。 在此体系结构中,我们将利用内置连接器连接到多个数据源,以便快速引入 ADLS 或 OneLake,Databricks 稍后将检索和进一步转换批处理数据。
事件中心 是完全托管的大数据流式处理平台。 作为平台即服务(PaaS),它提供事件引入功能。 在此体系结构中,事件中心用于流式处理数据,Databricks 可以使用 Spark 流式处理或 Delta 实时表来连接和处理这些数据。
Data Lake Storage Gen2 是一个可缩放且安全的 Data Lake,用于高性能分析。 它处理多个 PB 的数据,并支持数百千兆位的吞吐量。 ADLS 可以存储结构化、半结构化和非结构化数据。 在此体系结构中,我们使用 ADLS 来存储批处理和流数据。
机器学习是一个基于云的环境,可帮助你生成、部署和管理预测分析解决方案。 使用这些模型可以预测行为、结果和趋势。 在此体系结构中,AML 可以利用 Databricks 转换的数据进行训练和推断模型。
AKS 是高度可用、安全且完全托管的 Kubernetes 服务。 使用 AKS 可以轻松部署和管理容器化应用程序。 在此体系结构中,AKS 用于在容器化环境中托管机器学习模型,以便进行可缩放推理。
Delta Lake 是使用开放文件格式的存储层。 此层在 Data Lake Storage Gen2 等云存储的顶层运行。 Delta Lake 支持数据版本控制、回滚,以及用于更新、删除和合并数据的事务。 在此体系结构中,Delta 充当从 ADLS 写入和读取数据的主要文件格式。
MLflow 是用于管理机器学习生命周期的开源平台。 它的组件可在训练和运行期间监视机器学习模型。 在此体系结构(类似于 AML)中,可以利用 Databricks 中的 MLflow 来管理 ML 生命周期,包括使用刚刚在 Databricks 中转换的 Unity 目录数据进行训练和推断。
报告和治理组件
Databricks Unity 目录 跨 Azure Databricks 工作区提供集中式访问控制、审核、世系和数据发现功能。 在此体系结构中,Unity 目录充当 Databricks 中的主要工具,用于管理和保护数据访问。
Power BI 是一系列软件服务和应用。 这些服务可以创建和共享用于连接不相关数据源并将其可视化的报表。 与 Azure Databricks 相结合,Power BI 可以提供根本原因判定和原始数据分析。 在此体系结构中,Power BI 用于创建仪表板和报表,以便深入了解 Databricks 和 Fabric 处理的数据。
Microsoft Purview 管理本地、多云和软件即服务 (SaaS) 数据。 此治理服务可以维护数据布局图。 功能包括自动数据发现、敏感数据分类和数据世系。 在此体系结构中,Purview 用于扫描和跟踪 Unity 目录、Fabric、Power BI 和 ADLS 中引入的数据。
Azure DevOps 是一个 DevOps 业务流程平台。 此 SaaS 提供用于生成、部署应用程序并就其展开协作的工具和环境。 在此体系结构中,Azure DevOps 用于自动部署 Azure 基础结构。 此外,还可以利用 GitHub 实现 Databricks 代码的自动化和版本控制,以便更好地协作、跟踪更改并与 CI/CD 管道集成。
Azure Key Vault 存储和控制对机密(如令牌、密码和 API 密钥)的访问。 Key Vault 还会创建和控制加密密钥并管理安全证书。 在此原型中,AKV 用于存储 ADLS 中的 SAS 密钥。 然后,Databricks 和其他服务中使用这些密钥进行身份验证。
Microsoft Entra ID 提供基于云的标识和访问管理服务。 这些功能为用户提供登录和访问资源的方式。 在此原型中,Entra Id 用于对 Azure 中的用户和服务进行身份验证和授权。
SCIM 允许使用 Microsoft Entra ID 设置到 Azure Databricks 帐户的预配。 在此体系结构中,它用于管理访问 Databricks 工作区的用户。
Azure Monitor 收集和分析有关环境与 Azure 资源的数据。 这些数据包括应用遥测数据,例如性能指标和活动日志。 在此体系结构中,Azure Monitor 用于监视 Databricks 和 Azure 机器学习中计算资源的运行状况,以及将日志发送到 Azure Monitor 的其他组件。
Microsoft 成本管理管理云支出。 使用预算和建议,此服务可以组织开支并展示如何降低成本。 在此体系结构中,Microsoft成本管理用于监视和控制整个解决方案的成本。
方案详细信息
新式数据体系结构满足以下条件:
- 统一数据、分析和 AI 工作负载。
- 在任何规模下高效可靠运行。
- 通过分析仪表板、操作报表或高级分析提供见解。
此解决方案概述了实现这些目标的新式数据体系结构。 Azure Databricks 构成了该解决方案的核心。 此平台与其他服务无缝协同工作。 这些服务共同提供了具有以下品质的解决方案:
- 简单:统一分析、数据科学和机器学习简化了数据体系结构。
- 开放:该解决方案支持开源代码、开放标准和开放框架。 它还能与流行的集成开发环境 (IDE)、库和编程语言配合工作。 通过本机连接器和 API,该解决方案还能与其他广泛的服务配合工作。
- 协作:数据工程师、数据科学家和分析师可以使用此解决方案进行协作。 他们可以使用协作笔记本、IDE、仪表板和其他工具来访问和分析常见基础数据。
可能的用例
Swiss Re Group 为其财产和意外再保险部门构建的系统受到了此解决方案的启发。 除保险业以外,任何使用大数据或机器学习的领域也可以从此解决方案中受益。 示例包括:
- 能源部门
- 零售和电子商务
- 银行和财务行业
- 医药和医疗保健
后续步骤
- 教程:在 Databricks 中生成端到端数据管道
- 教程:运行第一个增量实时表
相关资源
若要了解相关解决方案,请参阅以下信息: