使用 OCI Data Integration 和 Oracle Integration Cloud Services 处理批量数据
处理或集成来自外部来源的批量数据到目标系统或应用程序。
考虑以下情况:您从外部来源(例如,客户、供应商、员工、产品)批量接收数据。在数据到达最终系统或应用之前,需要对数据进行编排、扩充、组合或组织。作为实现这一目标的流程的一部分,您需要与两个或多个中间应用程序或服务集成,或者对数据应用复杂的转换。在通过各种第三方应用程序(例如,REST、SOAP)进行调用或编排之后,此流程可能会向数据添加其他属性。此事务处理数据还可能需要复杂的转换(JSON 或 XML)、查找或交叉引用。
此方案可通过以下两个云服务轻松实施: OCI Data Integration 和 Oracle Integration ,其中 OCI Data Integration 可满足所有数据集成或“提取、转换、加载”(ETL) 需求,而 Oracle Integration 可满足所有应用集成或企业级连接,无论您连接的应用程序或它们位于何处。
体系结构
此参考架构表示使用 OCI 数据集成和 Oracle Integration 处理批量数据的一个用例。
此参考架构还解决了通过 OCI Data Integration 在 Oracle Integration 中处理 Apache Parquet、Apache Avro 和 Microsoft Excel 文件的挑战。例如,要处理财务报告数据(例如,应付账款、应收账款、总账、现金流、资产和负债、收入), OCI 数据集成会将这些文件格式转换为逗号分隔值 (CSV) 文件,然后由 Oracle Integration 处理。
下图说明了此引用体系结构。
oci-bulk-data-integration-architecture-diagram-oracle.zip
下面是对上述参考体系结构中显示的步骤的解释:
- 外部源(例如,定制应用、非 Oracle 应用、在第三方云上运行的 Oracle 数据库、第三方云服务、内部部署数据库和应用)将批量数据加载文件上载或删除到 OCI 对象存储存储桶中。
- OCI 观测和管理服务: OCI Events 查找上载到 OCI Object Storage 存储桶中的对象或文件。
- OCI 事件触发操作以使用存储桶和文件名调用 OCI 函数。
- OCI 函数接收事件,并使用输入参数(存储桶名称和文件名)调用 OCI 数据集成管道。
- OCI Data Integration 管道从 OCI Object Storage 存储桶读取批量数据加载文件,并将单个大型数据文件拆分为多个较小的文件。然后,它将拆分文件上载到 OCI Object Storage 存储桶。
- 另一个 OCI 事件实例查找上载到 OCI 对象存储存储桶中的拆分文件。
- OCI 事件触发操作以调用具有存储桶名称和每个文件名的 OCI 函数。
- OCI 函数接收事件并调用 Oracle Integration 的流,其中包含存储桶名称和每个文件名的输入参数。
- Oracle Integration 读取 OCI Object Storage 存储桶中的每个文件。
- 根据需求,Oracle Integration 通过调用一个或多个中间应用程序或系统来编排和扩充数据。然后,它执行复杂的功能(例如,转换,查找,交叉引用),最后将数据处理到下游系统或应用程序。
该体系结构具有以下组件:
- 区域
Oracle Cloud Infrastructure 区域是包含一个或多个数据中心(称为可用性域)的本地化地理区域。地区独立于其他地区,远距离可以把它们分开(跨越国家甚至大陆)。
- 数据集成
Oracle Cloud Infrastructure Data Integration 是一项完全托管的无服务器云原生服务,可将各种数据源中的数据提取、加载、转换、清理和重塑为目标 Oracle Cloud Infrastructure 服务,例如 Autonomous Data Warehouse 和 Oracle Cloud Infrastructure Object Storage 。用户可以使用直观、无代码的用户界面设计数据集成流程,优化集成流以生成高效的引擎和编排,并自动分配和扩展执行环境。
ETL(提取转换负载)利用 Spark 上的完全托管的横向扩展处理,ELT(提取负载转换)利用 Autonomous Data Warehouse 的完整 SQL 下推功能,以尽可能减少数据移动并缩短新摄取数据的价值实现时间。
Oracle Cloud Infrastructure Data Integration 提供交互式探索和数据准备,通过定义规则来处理模式更改,帮助数据工程师防范模式偏差。
- 集成
Oracle Integration 是一个完全托管的预配置环境,可用于集成云和内部部署应用、自动执行业务流程以及开发可视化应用。它使用符合 SFTP 标准的文件服务器来存储和检索文件,并允许您通过使用数百个适配器和配方组合来与 Oracle 和第三方应用进行连接,从而与企业对企业贸易合作伙伴交换文档。
- 事件
Oracle Cloud Infrastructure 服务发出事件,这些事件是描述资源更改的结构化消息。发出事件以进行创建、读取、更新或删除 (CRUD) 操作、资源生命周期状态更改以及影响云资源的系统事件。
- 函数
Oracle Cloud Infrastructure Functions 是一个完全托管的多租户、高度可扩展的按需函数即服务 (FaaS) 平台。它由 Fn Project 开源引擎提供支持。使用函数可以部署代码,也可以直接调用代码或触发代码以响应事件。Oracle Functions 使用 Oracle Cloud Infrastructure Registry 中托管的 Docker 容器。
- 虚拟云网络 (VCN) 和子网
VCN 是一个可定制的软件定义网络,您可以在 Oracle Cloud Infrastructure 区域中设置。与传统的数据中心网络一样,VCN 允许您控制您的网络环境。VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 划分为子网,子网可以限定为区域或可用性域。每个子网都包含一系列不与 VCN 中的其他子网重叠的连续地址。可以在创建后更改子网的大小。子网可以是公共子网,也可以是专用子网。
- 安全列表
对于每个子网,可以创建安全规则来指定必须允许进出子网的通信的源、目标和类型。
- 路由表
虚拟路由表包含用于将流量从子网路由到 VCN 之外目的地的规则,通常是通过网关。