在 Oracle Database@Azure 上利用 Power BI 部署数据湖
许多企业利用 Microsoft Power BI 和 Microsoft Azure 上的数据湖来获取切实可行的业务洞察。
您可以使用包括 Azure Data Factory、Azure Data Lake Storage、Azure Compute、Oracle Database@Azure (完全托管的 Oracle Autonomous Database 或共同托管的 Oracle Exadata Database Service 实例)和 Power BI 来扩展这些功能,以解决客户面临的几个关键数据难题:
- 数据孤岛和集成:Azure Data Factory 将来自不同来源的数据提取到一个统一的数据湖中,打破孤岛并提供单一信息源。
- 数据质量和一致性:Curation Layer 中的 Autonomous Data Warehouse 通过重复数据删除和质量规则确保干净、一致和高质量的数据,从而减少错误并增强决策。
- 可扩展性和性能:Azure 的可扩展计算资源和 Autonomous Data Warehouse 的无服务器架构或 Oracle Exadata Database Service 可高效处理大规模数据处理,同时随着数据量和用户采用率(并发)的增长而保持最佳性能。
- 复杂转换:Azure Compute 和 Autonomous Data Warehouse 或 Oracle Exadata Database Service 可高效执行复杂的转换和分析,从而缩短处理时间并专注于洞察。
- 成本管理:Azure 服务和 Autonomous Data Warehouse 或 Oracle Exadata Database Service 的无服务器和按量计费模式可优化成本,确保您只需为使用的资源付费。
- 数据治理和合规性:结构化数据管理层有助于改善治理、可跟踪性和法规合规性。
- 内置分析:用户可以使用内置功能(例如人工智能 (Artificial Intelligence,AI)、机器学习 (Machine Learning,ML)、图形、空间和文本分析)将分析直接应用于数据。
典型的用例包括:
- 零售分析:集成来自在线销售、店内交易和客户反馈的数据,优化库存和营销策略。
- 金融服务:分析交易数据以实现欺诈检测和法规合规性,从而降低风险。
- 医疗保健分析:集成来自 EHR、实验室结果和可穿戴设备的患者数据,从而改善患者护理和健康管理。
通过此架构,各行各业的企业客户可以有效地利用数据,帮助业务用户做出明智的决策,从而改善业务成效。
逻辑体系结构
分析数据湖可以从多个来源摄取数据,并使用在 Microsoft Azure 上运行的 Power BI 提供业务洞察。
- 数据源:分析数据湖可以从多个源摄取数据。Azure Data Factory 可以从 Microsoft SQL Server 和 Azure Blob Storage 中提取数据。Oracle Database@Azure 可以从 Oracle Cloud ERP 、Oracle Cloud Infrastructure Object Storage 、Azure Cosmos Database、Azure SQL Database、各种类型的表存储数据(Azure、PostgresSQL、Azure MariaDB)和其他类型的内部部署关系数据库摄取数据。
- 数据层:Oracle Database@Azure 结合使用 Azure Data Lake Storage 从 Azure 数据湖存储中提取源数据。
- 消费层:Oracle Database@Azure 提供对在 Microsoft Azure 上运行的 Microsoft Power BI 的洞察。
下图说明了功能体系结构:
Medallion 体系结构
本节演示如何将 Oracle Database@Azure 部署为 Azure 奖章架构中的数据仓库。
Medallion 架构是一个数据管理框架,将数据湖仓中的数据处理结构分为不同的阶段(青铜,银和金),代表数据处理的不同阶段:
- 青铜阶段:来自各种来源的数据被摄取,验证和策划。
- 白银阶段:数据被存储和处理,用于分析和报告。
- 黄金阶段:提供精细数据进行分析和报告。
下图展示了体系结构:
data-lake-db-azure-medallion-oracle.zip
奖章阶段进一步分为以下部署领域:
- 摄取框架:使用 Azure 数据工厂从各种数据源中提取数据。原始数据存储在 Azure Data Lake Storage Gen 2 和 Delta Lake 中。此框架可确保源系统和接收系统的数据一致性和准确性。此框架构成一组强大的脚本,通过跨平台使用审计、平衡和控制机制来确保质量。
- 验证:将原始数据摄取到 Oracle Autonomous Data Warehouse Serverless 或 Oracle Exadata Database Service 中,以进行重复数据删除和数据质量检查。此工作流执行 PII 和 PHI 数据的基本清理屏蔽,并通过规则驱动的框架验证原始文件以执行模式检查。验证框架可以使用 Azure Data Factory 实现。
- 拒绝工作流:在摄取阶段因验证错误或其他处理错误而被拒绝的任何记录都暂存在单独的 Azure 数据湖存储路径中。使用 Logic App 的自动电子邮件通知将根据定义的软件许可协议 (SLA) 发送给支持团队。标准化数据保留在 Oracle Autonomous Data Warehouse Serverless 或 Oracle Exadata Database Service 中。
- 编排:调度系统管理数据处理作业、调度和作业相关性。Azure 数据工厂可用于 ETL 作业的编排。编排阶段包括 Oracle Autonomous Data Warehouse Serverless 或 Oracle Exadata Database Service 、Delta Lake 和 Azure Data Lake Storage Gen 2。
- 报告/分析:报告阶段包括 Power BI 和数据服务,例如外部馈送和数据货币化。
该体系结构具有以下基础结构组件:
- 区域
Azure 区域是指一个或多个物理 Azure 数据中心(称为可用性区域)所在的地理区域。地区独立于其他地区,远距离可以把它们分开(跨越国家甚至大陆)。
Azure 和 OCI 区域是本地化的地理区域。对于 Oracle Database@Azure ,Azure 区域连接到 OCI 区域,Azure 中的可用性区域 (AZ) 连接到 OCI 中的可用性域 (AD)。选择 Azure 和 OCI 区域对以尽可能减少距离和延迟。
- 可用性区域
可用性区域是区域中的物理上独立的数据中心,设计为可用且具有容错能力。可用性区域足够近,可以与其他可用性区域建立低延迟连接。
- 虚拟网络 (VNet) 和子网
VNet 是您在 Azure 中定义的虚拟网络。VNet 可以具有多个不重叠的 CIDR 块子网,您可以在创建 VNet 后添加这些子网。可以将 VNet 细分到子网中,子网可以限定为某个区域或可用性区域。每个子网都包含一个不与 VNet 中的其他子网重叠的连续地址范围。使用 VNet 在网络级别以逻辑方式隔离 Azure 资源。
- Azure ExpressRoute
Azure ExpressRoute 允许您在 VNet 与其他网络(例如您的内部部署网络或其他云提供商中的网络)之间设置专用连接。ExpressRoute 是典型 Internet 连接的更可靠、更快的替代方案,因为 ExpressRoute 上的流量不会遍历公共 Internet。
- 虚拟网络网关
虚拟网络网关允许 Azure VNet 与 Azure 之外的网络之间的流量通过公共互联网或使用 ExpressRoute,具体取决于您指定的网关类型。
- 路由表
路由表用于在 Azure 子网、VNets 和 Azure 之外的网络之间直接流量。
- 网络安全组
网络安全组包含用于控制 VNet 中 Azure 资源之间的网络流量的规则。每个规则指定允许或拒绝的网络通信的源或目标、端口、协议和方向。
- 站点到站点 VPN
通过安全的加密连接在内部部署网络与 VCN 之间提供站点到站点 IPSec VPN。
该体系结构具有以下 Oracle 产品和服务:
- Oracle Database@Azure
Oracle Database@Azure 是部署在 Microsoft Azure 数据中心的 Oracle Cloud Infrastructure (OCI) 上运行的 Oracle Database 服务(Oracle Exadata Database Service on Dedicated Infrastructure 和 Oracle Autonomous Database Serverless )。该服务提供与 OCI 相同的功能和价格。在 Azure Marketplace 上购买该服务。
Oracle Database@Azure 将 Oracle Exadata Database Service 、Oracle Real Application Clusters (Oracle RAC) 和 Oracle Data Guard 技术集成到 Azure 平台中。用户使用 Azure 控制台和 Azure 自动化工具管理服务。该服务部署在 Azure 虚拟网络 (VNet) 中,并与 Azure 身份和访问管理系统集成。OCI 和 Oracle Database 通用指标和审计日志在 Azure 中原生可用。该服务要求用户具有 Azure 订阅和 OCI 租户。
Autonomous Database 基于 Oracle Exadata 基础设施构建,具有自我管理、自我保护和自我修复功能,可帮助消除手动数据库管理和人为错误。Autonomous Database 支持您使用内置 AI 功能,选择大型语言模型 (LLM) 和部署位置,使用任意数据开发可扩展的 AI 应用。
Oracle Exadata Database Service 和 Oracle Autonomous Database Serverless 均可通过原生 Azure 门户轻松预配,从而访问更广泛的 Azure 生态系统。
- Oracle Cloud Infrastructure Object Storage
Oracle Cloud Infrastructure Object Storage 将内容存储为存储容器(称为存储桶)中的对象。每个对象都包含数据和描述性元数据,以便于检索和管理。
该体系结构具有以下 Microsoft 产品和服务:
- Azure 数据工厂
Azure Data Factory (ADF) 是 Microsoft Azure 提供的基于云的数据集成服务。它旨在大规模创建、调度和编排数据工作流。利用 ADF,组织可以摄取、转换各种来源的数据并将其移动到目标位置,从而实现数据驱动的决策和分析。
- Azure 函数
Azure Functions 是一个无服务器解决方案,它允许您编写更少的代码,维护更少的基础设施,并节省成本。
- Azure 服务总线
Azure 服务总线是一个完全托管的企业消息代理,包含队列和发布 - 订阅主题。
- Azure 监视器
Azure Monitor 为大多数 Azure 服务提供基本级别的基础设施指标和日志。Azure 诊断日志由资源发出,并提供有关该资源操作的丰富、频繁的数据。Azure Data Factory (ADF) 可以在 Azure Monitor 中写入诊断日志。
- Azure DevOps (CICD)
Azure Data Factory 与 GitHub 和 Azure DevOps Git 集成,支持源控制、版本管理和 CI/CD。借助源代码控制,开发人员可以协作、跟踪更改并将其保存到所选分支(在这种情况下,它将是 DEV 分支)。这些更改将合并到主分支中,并部署到更高级别的环境(QA、UAT、Prod),还将在其中进行测试和验证
- Azure Active Directory
Azure 服务上的大数据平台可以与现有的 Azure Active Directory 服务集成,以提供细粒度安全控制。这使组织能够重复使用现有的单点登录流程来访问 Azure 云上的数据和服务。
- Azure 机器学习
Azure ML 是一个基于 GUI 的集成开发环境,用于在 Azure 上构建和实施机器学习工作流。
- Power BI
Power BI 是 Microsoft 的业务分析工具套件,旨在帮助组织将数据可视化、共享洞察并做出明智的决策。它使用户能够连接到各种数据源,创建交互式仪表盘和报告,以及跨团队协作。Power BI 是 Microsoft Power Platform 的一部分,与 Excel、Teams 和 Azure 服务等其他 Microsoft 产品无缝集成。
Power BI 的主要组件:
- Power BI Service :一个基于云的平台,用户可以在报告和仪表盘上共享、发布和协作,从而实现跨组织的实时数据监视和共享。
- Power BI Mobile :适用于 iOS、Android 和 Windows 设备的移动应用,可随时访问仪表盘和报告。
- Power BI Embedded :支持开发人员将 Power BI 可视化和分析集成到定制应用程序、门户或网站中。
- Azure SQL Server
Azure SQL Server 是 Microsoft Azure 提供的基于云的关系数据库服务。它是 Azure SQL 系列的一部分,并提供一个完全托管的平台即服务 (PaaS) 环境,用于托管和管理云中的 SQL Server 数据库。Azure SQL Server 具有高度可扩展性、安全性,并提供高可用性、自动备份和灾难恢复功能。
- Azure PostgreSQL
Azure Database for PostgreSQL 是由 Microsoft Azure 提供的托管关系数据库服务。它旨在简化云中 PostgreSQL 数据库的部署、扩展和管理,同时提供高可用性、安全性和可扩展性。Azure Database for PostgreSQL 允许开发人员专注于构建应用程序,而无需担心基础设施管理。
- Azure 宇宙
Azure Cosmos DB 是由 Microsoft Azure 提供的全球分布式多模型数据库服务。它专为构建响应迅速、可扩展且全球可用的应用而设计。Cosmos DB 支持多种数据模型和 API,使其成为各种应用场景的通用选择。
- Azure BLOB 存储
Azure Blob Storage 是 Microsoft Azure 的云对象存储解决方案,旨在存储大量非结构化数据。它具有高度的可扩展性、安全性和成本效益,非常适合各种用例,包括应用开发、数据归档和媒体存储。
- Delta Lake
Delta Lake 是一个开源存储层,为数据湖带来可靠性。它旨在提供 ACID(原子性、一致性、隔离性、持久性)事务、可扩展的元数据处理,并统一流处理和批处理数据。与 Azure Data Lake Service 集成后,Delta Lake 增强了 Azure 数据存储和分析服务的功能。
- Azure 数据湖存储
Azure Data Lake Storage (ADLS) 是一项高度可扩展且安全的数据存储服务,专为大数据分析而优化。它将对象存储的可扩展性与分层文件系统的性能和安全功能相结合,非常适合管理大规模数据并支持高级分析和机器学习。
与 Azure Blob Storage 的比较
功能 Azure 数据湖存储 Azure Blob 存储 用例 大数据分析、分层数据 通用对象存储 名称空间 分层(类似文件系统) 平面(无目录结构) 集成 针对大数据框架进行了优化 通用用途和应用存储 访问控制 文件级 ACL 和 RBAC RBAC 和 SAS 令牌
推荐
- 确保您有权访问 Azure 订阅和目录。
- 确保您可以访问 Oracle Cloud Infrastructure (OCI) 租户。
- 确保您在 Azure 和 OCI 之间具有活动的 Oracle Database@Azure 多云链接(当您预配 Oracle Database@Azure 并由 Oracle 管理时,默认创建此连接)。
- 确保在任何 Azure VNets 和 OCI VCN 之间具有不重叠的 CIDR 块。
- 在预配之前,请确保您具有足够的 Oracle Exadata Database Service 或 Oracle Autonomous Database Serverless 服务限制。
注意事项
使用 Oracle Database@Azure 在 Microsoft Azure 上部署数据分析管道时,请考虑以下事项。
- 灾难恢复 (DR)
灾难恢复未在此体系结构中表示,由客户负责。
- Oracle Database@Azure 的网络设置
- Azure 环境:使用 Azure 虚拟网络 (VNet) 进行网络连接,并在预创建的委派子网内创建虚拟网络接口卡 (VNIC)。
- OCI 环境:Oracle Database@Azure 连接到 Oracle Cloud Infrastructure (OCI) 虚拟云网络 (VCN) 中的客户端子网。
- 客户机连接
此网络设置允许来自 Azure 资源的客户端连接。
- Oracle Autonomous Database Serverless 网络
- 将 VNet 与 Azure 中的 1 个数据库子网配合使用。使用 /27 子网,但允许计划未来增长。
- 在部署 Oracle Autonomous Database Serverless 之前,创建数据库子网并将其委派到 Oracle Database@Azure 。
- 将委托子网与其他数据库重用(或共享)在一起。
- Azure ExpressRoute
Azure ExpressRoute 的成本因地区而异。Azure 具有多个可用于快速路由的 SKU;Oracle 建议使用“本地”设置,因为它没有单独的入站或出站费用,并且它以最低带宽 1 Gbps 开头。标准和高级配置提供较低的带宽,但在计量设置中会产生单独的出站费用。
- Oracle Autonomous Database Serverless
- 集成
Oracle Autonomous Database 为 100 多个应用、数据库和对象存储提供内置集成服务。使用 Data Studio 的图形用户界面设计数据转换,以便与 Autonomous Database 进行数据集成。
- 分析
Oracle Autonomous Database 提供内置分析服务,支持您将一系列分析(图形、空间、机器学习和 AI)直接应用于数据,从而降低分析延迟,快速提供切实可行的洞察。
- 成本
Oracle Autonomous Database Serverless 实例的预配和基本管理功能可从 Oracle Database@Azure 页面完成。通过使用 Oracle Database@Azure 页面中的特定 Autonomous Database 链接,可以在 Oracle Cloud Infrastructure (OCI) 门户中获得其他管理功能。
使用以下配置选项控制资源使用:- ECPU 计数允许将 ECPU 计数设置为 2 到 512。
- 通过计算自动扩展,您可以将其计算分配自动扩展到 512 个。默认情况下,此项是选中的。
- 存储允许将存储分配设置为 1 TB 到 383 TB 或 20 GB 到 393216 GB。
- 存储单元大小允许您选择存储是按 GB 还是按 TB 分配。
- 存储自动扩展支持自动扩展至 383 TB 或 393216 GB 的存储分配。默认情况下,不选择此项
- 性能
- 为 Oracle Autonomous Database Serverless 提供高可用性 (HA)。
- 在应用性能测试过程中检查和评估网络延迟。
- 考虑区域关联性。托管在不同云数据中心中的应用和数据库之间的网络延迟必须小于 10 毫秒。我们建议选择附近的应用和数据库区域,以实现最佳的端到端性能。
- 可用性
Oracle Autonomous Database Serverless 在多个 Microsoft Azure 区域中可用。
请参阅“浏览更多”部分中的服务许可协议 (SLA) 链接。
- 集成
- Oracle Exadata Database Service on Dedicated Infrastructure
- 成本
- 部署的基础设施具有一致的成本,可以随时关闭(收费至少 48 小时)。
- 运行时间成本由分配给可扩展 VM 的 OCPU 数确定。
- 许可选项包括自带许可 (Bring Your Own License,BYOL) 和包括许可。
- Oracle Support Rewards 可用于 BYOL
- 性能
- 客户体验的性能与任何其他 Exadata 部署(Oracle Exadata Database Service 、Oracle Exadata Database Service on Cloud@Customer 或本地部署)的性能相同。
- 从任何类型的 Azure VM 到 Oracle Database@Azure 服务的延迟(单向/全程)仅为 Azure 云服务省份。目标是 .5ms,但由于 Azure 网络方面的考虑,可能会有所不同。
- Oracle 不收取 Oracle Database@Azure 的任何数据出站费用,但根据 Azure 架构,Microsoft 可能会收取数据移动费用。
- 可用性
Exadata 部署的服务级别目标 (SLO) 为 99.99%。通过使用最高可用性架构 (MAA),您可以设置灾难恢复站点以及使用备份和还原功能(例如 Oracle Database Zero Data Loss Autonomous Recovery Service ),获得更高的数量。
- 成本