您的数据湖存储了大量持久化数据,具有巨大的分析潜力,但您也希望拥有一个简单的架构,以便从生产工作负载中流式数据获得实时洞察。
通过独立部署Oracle GoldenGate流数据分析(GGSA)、Kafka和Spark在一个高可用配置中,您可以处理和丰富流式数据,具备生产质量部署所需的冗余,然后将数据同时输出到多个不同平台。
该参考架构将技术解决方案定位于整体业务背景中:
企业的数据需求不断演变。物联网(IoT)、地理定位、社交媒体和其他数据流技术已经改变了数据的收集、存储、分发、处理和分析方式。一个有效的流数据架构必须支持复杂的、事件驱动的数据管道、实时决策制定以及不同类型的终端。
数据湖使企业能够在成本效益高、可伸缩的环境中存储其所有数据,同时提供必要的处理、持久化和分析服务,以发现新的业务洞察。数据湖存储和管理结构化和非结构化数据,并提供组织来自多个来源的大量高度多样化数据的方法。
在数据仓库中,您在将数据提交到仓库之前进行数据转换和清洗。在数据湖中,您可以快速摄取数据,并在人们访问时即时准备数据。数据湖支持需要即时数据访问和灵活分析的操作报告和业务监控,以了解业务正在发生的事情。
这种架构将数据湖和数据仓库的概念结合起来,以提供一个完整的数据生态系统,兼具两者的优势。
在概念层面上,技术解决方案如下解决问题:
架构
这种架构结合了数据湖和数据仓库的能力,在一个高可用和冗余的环境中处理和分析来自生产工作负载的流数据。
通过独立部署Oracle GoldenGate流数据分析(GGSA)、Kafka和Spark在一个高可用配置中,您可以处理和丰富流式数据,具备生产质量部署所需的冗余,然后将数据同时输出到多个不同平台。
以下图表展示了功能架构。
以下图表展示了架构拓扑。
架构关注以下逻辑划分:
数据精炼
• 摄取并精炼数据以供架构中每一层的数据使用。这种设计旨在展示在每个层级存储和精炼数据以及数据之间移动的处理成本的差异。
数据持久化平台(精选信息层)
• 促进数据的访问和导航,展示当前的业务视图。对于关系型技术,数据可能在逻辑上或物理上以简单的关系型、纵向、维度或OLAP形式结构化。对于非关系型数据,此层包含一个或多个数据池,这些数据池来自分析过程的输出,或为特定分析任务优化的数据。
访问和解释
• 为数据的消费者抽象出逻辑业务视图。这种抽象促进了敏捷开发方法,迁移到目标架构,并且提供了一个从多个联合源单一报告层。
架构包含以下组件:
流处理
• GoldenGate流数据分析通过使用复杂的相关性模式、丰富性和机器学习来处理和分析大规模的实时信息。用户可以通过实时图表、地图、可视化探索实时数据,并且可以图形化构建流处理管道,无需任何手动编码。这些管道在使用Spark集成的Oracle连续查询引擎的可扩展和高可用的集群大数据环境中执行,以解决现代企业的关键实时用例。
• GoldenGate流数据分析需要以下组件来完成服务的生产部署。
Spark
○ Apache Spark是一个开源平台,用于处理大量的批处理和流数据。
• Kafka
○ Apache Kafka是一个开源的发布和订阅平台,提供高吞吐量、低延迟的消息传递能力。
• 自主事务处理
○ Oracle自主事务处理是一种自驾、自保护、自修复的数据库服务,专为事务处理工作负载优化。您无需配置或管理任何硬件,或安装任何软件。Oracle Cloud Infrastructure负责创建数据库,以及备份、打补丁、升级和调优数据库。
• 文件存储
○ Oracle Cloud Infrastructure文件存储服务提供一个持久的、可扩展的、安全的、企业级网络文件系统。您可以从虚拟云网络(VCN)中的任何裸机、虚拟机或容器实例连接到文件存储服务文件系统。您还可以通过使用Oracle Cloud Infrastructure FastConnect和IPSec VPN从VCN外部访问文件系统。
自主数据仓库
• Oracle自主数据仓库是一种自驾、自保护、自修复的数据库服务,专为数据仓库工作负载优化。您无需配置或管理任何硬件,或安装任何软件。Oracle Cloud Infrastructure负责创建数据库,以及备份、打补丁、升级和调优数据库。
对象存储
• 对象存储提供了快速访问大量结构化和非结构化数据的能力,包括数据库备份、分析数据以及丰富内容如图片和视频。您可以安全且安心地存储数据,然后直接从互联网或云平台内部检索数据。您可以无缝扩展存储,而不会经历任何性能下降或服务可靠性问题。使用标准存储作为您需要快速、立即且频繁访问的“热”存储。使用归档存储作为您长期保留并很少或几乎不访问的“冷”存储。
分析
• Oracle Analytics Cloud是一个可扩展且安全的公共云服务,为您、您的工作组和您的企业提供了一整套探索和进行协作分析的能力。使用Oracle Analytics Cloud,您还可以获得灵活的服务管理能力,包括快速设置、易于扩展和打补丁,以及自动化的生命周期管理。
推荐
使用以下建议作为起点,以处理来自广泛企业数据资源的流数据和数据,用于业务分析和机器学习。
当设计快速数据或流数据架构时,选择正确的数据存储非常重要。如果您的目标是立即根据快速和流数据获得的洞察采取行动,那么存储数据的价值会随时间减少。
这个架构的推荐考虑到以下因素:
• 快速数据摄取率(插入)
• 内存索引,以便快速高效查找
• 使用在线分析处理(OLAP)对所有摄取的数据进行近实时分析
• 集成的机器学习能力,以“学习”先前的事件
• 高可用性和复制,为业务提供持续的价值
• 通过简单添加节点实现线性可扩展性
您的需求可能与这里描述的架构不同。
文件存储
• 文件存储用于捕获和维护需要缓存以优化流数据丰富过程中使用的参考信息。
自主事务处理
• 使用Oracle自主事务处理代替MySQL数据库实例来捕获和维护使用GoldenGate流数据分析开发的数据管道的元数据。我们推荐ATP,因为它将所有管理工作从客户手中移除。
自主数据仓库
• 数据科学模型构建和分析报告,通常需要较长期的数据存储(超过1周)。我们推荐结合使用Oracle自主数据仓库和Oracle Cloud Infrastructure对象存储(而不是Kafka)来存储GoldenGate流数据分析过程的输入和输出。
Oracle Analytics Cloud
• Oracle Analytics Cloud为您的分析和报告需求提供了完整的解决方案。
考虑因素
在处理流数据和广泛的企业数据资源,用于业务分析和机器学习时,请考虑这些实施选项。
部署
此参考架构的Terraform代码作为示例堆栈在Oracle Cloud Infrastructure资源管理器中可用。您也可以从GitHub下载代码,并自定义以满足您的具体需求。
注意:您可以部署完整解决方案或小型解决方案:
• 完整解决方案将部署架构图中的所有组件。
• 小型解决方案将仅部署GoldenGate流数据分析与Kafka、Spark和文件存储。
使用Oracle Cloud Infrastructure资源管理器中的示例堆栈部署完整解决方案:
1. 点击“完整解决方案”或“部署到Oracle Cloud - 小型解决方案”。
1. 如果您还没有登录,请输入租户和用户凭证。
2. 选择您希望部署堆栈的区域。
3. 按照屏幕上的提示和说明创建堆栈。
4. 创建堆栈后,点击Terraform操作,并选择计划。
5. 等待作业完成,并审查计划。
6. 如需进行任何更改,返回到堆栈详细信息页面,点击编辑堆栈,并进行所需的更改。然后,再次运行计划操作。
7. 如果不需要进一步更改,返回到堆栈详细信息页面,点击Terraform操作,并选择应用。
使用GitHub中的Terraform代码部署完整解决方案:
1. 转到GitHub - 完整解决方案或GitHub - 小型解决方案。
2. 克隆或下载仓库到您的本地计算机。
3. 按照README文档中的说明进行操作。
开启您的Oracle云之旅:Agilewing - 您的智能云服务伙伴
作为Oracle的高级合作伙伴,Agilewing正重新定义企业体验Oracle云服务的方式。借助于其简化的开户流程和一流的技术支持,Agilewing将复杂的开户和操作流程转化为一种轻松、直观的体验。通过我们的一站式服务,您可以迅速开启并享受Oracle云的全方位服务,从而无缝融入云端世界。
Agilewing的AgileCDN服务,结合了OCI的云基础服务,提供了一流的全球内容加速解决方案。超过2800个全球POP节点和7000个直连点的强大网络,确保了无论您的业务扩展到全球哪个角落,都能保持高效稳定的运行。
利用Oracle云的先进技术,Agilewing致力于简化云服务搭建、云迁移和业务出海的过程。我们的合作模式为客户带来经济高效的解决方案,使他们能够更加专注于核心业务,同时享受Oracle云的高性能和安全保障。
Oracle云服务,作为一个充满潜力的领域,以其高性能、安全性和全球统一的服务标准,为各类企业开启了新的机遇之门。通过Agilewing的专业服务,无论是个人用户还是企业,都能轻松步入这个充满技术革新和高效能的新时代。现在,就让Agilewing引领您开始探索Oracle云服务,打开一个全新的世界大门。