数据平台 - 去中心化数据平台
使用数据湖仓一体实时从设备收集和分析事件和流数据,并将其与各种企业数据资源关联起来,以获得所需的洞察。
如何以最佳方式支持和赋能组织的各个团队,例如营销、财务或物流团队,灵活处理特定于域的数据,同时在不复制数据和创建数据孤岛的情况下实现安全的跨域数据共享和使用?
采用域驱动的数据架构,为整个组织的团队和部门提供所需的敏捷性和灵活性,以高效使用其数据并开发对其业务至关重要的数据产品。
此参考架构将技术解决方案定位在整体业务环境中,战略意图将推动可衡量的战略成果的创建。这些结果会产生新的战略意图,从而有效地提供持续、数据驱动的业务改进。
每个域独立遵循上面所示的高级过程来创建其域数据产品。域驱动的数据架构通过避免依赖单一的争用点(例如完全集中的数据平台和 IT 团队)以及促进敏捷创新以在每个领域内生产可信的数据产品,提供了组织所需的灵活性。
每个域的目标是获取与域相关的数据,然后生成其他域或最终数据使用者消费的数据产品。
域可以是:
- 源对齐:直接从相关域数据源(例如企业应用程序)获取数据,并生成由聚合或消费者对齐的域使用的数据产品。这些数据产品表示特定域的真实来源。数据在域内和域间都是细粒度、精心整理和基础性的。
- 聚合:消耗和组合源对齐的数据,创建聚合和附加值数据产品,以促进重用,减少重复,并构成消费者对齐的域所需的基本业务逻辑。
- 使用者对齐:使用来自源对齐和聚合域的数据来创建满足特定用例的数据产品,并在给定域中满足数据使用者的需求。
数据领域团队及其主题专家 (SME) 可以灵活选择管理数据产品所需的技术,减少长期技术选择流程的摩擦和复杂性,并缩短数据产品交付时间。
所选技术通常在企业级别确定,以便符合安全性、可扩展性、可恢复性和高可用性要求。此架构假设任何域都可以利用与数据湖仓一体一起使用的任何 Oracle Cloud Infrastructure (OCI) 服务。
数据域团队通常使用自动化来部署域原型,从而提供预配置技术来快速引入新域,同时确保企业级要求(例如安全性)得到实施。
创建后,数据产品将提供给其他域或最终用户和应用程序。数据产品不断进行策划,以提供信息和洞察。
- 数据集
- API
- 仪表板
- 流
- 满足特定需求的人工智能和机器学习 (ML) 模型
此参考架构主要使用数据共享作为在域之间提供和使用数据产品的底层机制。
Oracle Autonomous Data Warehouse 支持数据共享,支持在 Autonomous Data Warehouse 实例之间或与任何符合 Delta Sharing 开放协议的技术的版本化数据实时共享数据。
功能架构
该架构描述了一个去中心化平台,其中每个域是整个数据平台的子集,每个域可以选择所使用的技术和服务。
该架构使用数据湖仓一体来存储和提供数据,而不管其形状或形式如何。为了简单起见,该架构将描述使用可用数据湖仓一体服务子集的几个域。
使用数据湖仓一体架构的去中心化数据平台提供:
- 一种可互操作且模块化的湖仓一体架构,数据域可以在其中为任何用例摄取和整理任何类型的数据
- 每个数据域均可灵活使用所需的 Oracle Cloud Infrastructure (OCI) 服务来支持数据产品的创建
- 使用数据共享、流处理、API、仪表盘或应用来安全地共享数据产品
- 敏捷地创建数据产品,减少域间依赖关系,但交换数据产品所需的依赖关系除外
- 通过使用公认的数据交换机制和合同在域之间交换数据,增加了数据域隔离并降低了数据交换复杂性
- 增加数据治理和数据信任,因为知识渊博的主题专家 (SME) 为其领域策划数据和数据产品
- 使用基础设施即代码 (IaC) 轻松引入新数据域,并使用经过测试的预构建 Terraform 堆栈自动执行部署
- 作为数据域团队,资源和成本效率可以调整用于创建数据产品的特定服务的规模
- 为每个数据域提供适当的成本问责制,并在特定领域内提供细粒度成本控制选项
下图说明了功能体系结构。为简单起见,仅显示四个数据域,仅显示可供数据域使用的一些数据湖仓一体功能。
由于部署去中心化数据平台的特定行业和组织决定了数据域,因此这种参考架构并不规定应如何定义数据域。所描述的数据域只是一个示例。
该体系结构侧重于所有域使用的以下逻辑区域:
- 连接、摄取、转换
连接到数据源并提取和优化其数据,以便在体系结构中的每个数据层中使用。
源对齐的数据域从内部和外部数据源以及使用其数据产品的其他域获取数据。聚合和使用者对齐的数据域通常从其他域数据产品中获取数据。所有域都可以从外部源获取相关的域数据。
- 持续、整理、创建
便于访问和导航数据以显示当前业务视图。对于关系技术,数据可以逻辑或物理结构化为简单的关系、纵向、维或 OLAP 形式。对于非关系数据,该层包含一个或多个数据池,可以是分析过程的输出,也可以是针对特定分析任务优化的数据。
在此层中,每个数据域都收集用于创建和公开数据产品的数据。通常,数据是通过使用奖章架构来组织和组织的,该奖章架构根据其价值和质量将数据从青铜,银到金。
数据产品通常为黄金或白银层中的数据提供服务。如果数据产品提供粒度数据,则从银层提供该数据。如果数据产品提供聚合或已经是进一步增强的数据集的数据,则该数据通常从黄金层提供。
- 分析、学习、预测
抽象消费者的数据的逻辑业务视图。此抽象有助于敏捷开发方法、迁移到目标架构以及从多个数据源提供单个报告层。
每个数据域通常都有自己的数据使用者,例如域用户、应用程序或系统,它们以仪表盘、数据应用程序、流处理或 API 的形式使用经过整理的数据。
数据域可以将数据产品提供给其他数据域以及自己的域,以此来组织跨项目数据共享。
该体系结构具有以下功能特征:
- 描绘了四个数据域。每个域收集特定于该域的数据,基于该经过整理的数据创建数据产品,然后将这些数据产品共享给组织内的其他域或外部实体。
- 域可以从内部数据源、由其他域策划的数据产品或外部实体共享的数据中获取数据。
- 客户域和财务域是源对齐的域,用于从内部系统摄取和整理数据,拥有自己的用户,并整理数据产品以供其他域使用。
- 风险域是一个聚合域,用于从客户域和财务域获取数据,从而分别获取客户概要信息和财务增强事务处理。这些数据用于构建和训练机器学习 (ML) 风险模型和关键绩效指标 (Key Performance Indicator,KPI),这些模型和指标由仪表盘使用并与营销域共享。
- 营销域是消费者对齐的域,仅从客户和风险域中获取客户概要信息和风险倾向数据。此域创建细分 ML 模型,以确定最佳个性化优惠。通过使用推断 API 向内部应用程序提供这些功能,批处理推断结果将作为数据产品共享给执行出站市场活动的合作伙伴。
- 所有域共享一个通用数据目录,其中包含有关其数据资产、数据实体和业务词汇表的信息。
- 每个数据域团队及其数据产品所有者都维护其特定数据目录对象。使用 Oracle Cloud Infrastructure Identity and Access Management 策略来定义哪个团队可以管理哪些数据目录实体,从而确保安全隔离。
- 通用数据目录实体(如在整个组织中使用的业务词汇表术语)由由所有域产品所有者组成的数据治理机构维护。
- 数据产品在数据目录中进行标记,以便可搜索,包含自己的语义,并且与业务词汇表相关。
- 数据共享用于在域之间共享实时或版本化数据产品。使用实时或版本化数据产品的选择取决于每个数据产品和用例。
体系结构的主要功能组件有:
- 源协调域:客户和财务
这些领域的重点是整理来自结构化和非结构化数据的客户和财务数据。
客户域使用以下功能创建客户概要信息数据产品:
- 批量摄取 (Oracle Cloud Infrastructure Data Integration ):从 CRM、网站和面向客户的应用中提取数据。
- 批处理(Oracle Cloud Infrastructure Data Integration 和/或 Oracle Cloud Infrastructure Data Flow ):使用低代码 ELT 和/或以代码为中心的 ETL 来处理结构化和非结构化数据,以创建客户档案数据产品。
- 提供 (Oracle Autonomous Data Warehouse ):为风险和营销域管理和提供客户档案数据。
- Cloud Storage/Data Lake (Oracle Cloud Infrastructure Object Storage ):存储客户文档、合同或表单。
- 可视化/学习 (Oracle Analytics Cloud ):为域最终用户提供增强分析,包括与客户相关的 KPI,例如生命周期价值 (LTV)、保留率、客户满意度评分 (CSAT) 和净推荐值 (NPS)。
- AI 和生成式 AI 服务:Oracle Cloud Infrastructure Document Understanding 可从客户表单和文档中提取数据,Oracle Cloud Infrastructure Language 可处理文本数据,并通过情感分析、命名实体识别或文本分类对其进行扩充。
财务域使用以下功能创建增强金融交易数据产品:
- 实时摄取 (Oracle Cloud Infrastructure GoldenGate ):以近乎实时、非侵入性的方式从核心银行系统获取财务交易。
- 批处理 (Oracle Cloud Infrastructure Data Transforms):使用低代码 ELT,它通过使用支出类别、商户详细信息或地点数据对财务事务处理数据进行分类和扩充,来验证、配置原始数据并将其转换为精选数据产品。
- 提供 (Oracle Autonomous Data Warehouse ):保存经过整理的数据并向风险域提供增强事务处理。
- Cloud Storage/Data Lake (Oracle Cloud Infrastructure Object Storage ):存储存储在 Oracle Autonomous Data Warehouse 中存储的财务交易记录中引用的财务相关表单。
- 聚集域:风险
该领域的重点是构建、训练和运行机器学习模型,以根据内部数据(例如客户档案和增强交易)以及外部数据(例如经济和宏观经济数据)检测风险。
该领域有专门的中小企业进行风险分析和预防,并为需要其数据产品的所有其他领域提供服务。该域具有使用增强分析的内部用户,但他们的大部分工作是共享机器学习批推断结果。例如,批量推断可能会根据客户的生活方式和支出以及宏观经济因素(如经济增长、通货膨胀或失业率)来计算订阅金融服务的客户的风险倾向。
此域使用以下功能创建风险倾向数据产品:
- 服务 (Oracle Autonomous Data Warehouse ):处理转换和功能工程,以提供 ML 模型以及存储批推断结果并生成风险相关的 KPI。风险汇总域是客户概要信息和增强事务处理数据的使用者,分别由客户域和财务域共享。它向营销域提供风险倾向数据。
- 学习和预测 (Oracle Cloud Infrastructure Data Science ):涵盖从探索性数据分析、模型开发、执行到持续改进的整个机器学习操作生命周期。它生成批推断结果,这些结果是风险倾向共享数据的基础。
- 消费者对齐的域名:营销
此领域侧重于整理数据以支持个性化和有针对性的营销活动。它使用从其他域共享的数据作为输入,并通过使用 API 驱动的推断和与执行市场活动并共享市场活动执行结果的第三方营销合作伙伴共享数据,实时提供细分和下一个最佳方案数据。
此域使用以下功能创建市场活动细分数据产品:
- 批处理 (Oracle Cloud Infrastructure Data Transforms):处理和配置数据共享使用的数据。它还可以用于将数据共享复制到 Oracle Autonomous Data Warehouse 中。
- 提供 (Oracle Autonomous Data Warehouse ):存储指定市场活动的策划数据、市场活动信息、细分和目标优惠。
- Cloud Storage/Data Lake (Oracle Cloud Infrastructure Object Storage ):存储域使用的所有非结构化数据。
- 可视化/学习 (Oracle Analytics Cloud ):为域最终用户提供增强分析,例如市场活动目标和执行 KPI。
- 学习和预测 (Oracle Machine Learning ):涵盖从探索性数据分析到模型部署的整个机器学习操作生命周期。用户可以利用 AutoML 来加快构建和培训模式的速度。根据市场活动,通过向执行市场活动或通过 Oracle Machine Learning 部署服务的外部合作伙伴使用数据共享来提供批量推断模型结果,从而实时推断面向客户的应用所调用的推断。
- API (Oracle Cloud Infrastructure API Gateway ):保护和管理 Oracle Machine Learning 部署 API 端点。
- 共享服务
所有域用于数据治理和安全的服务包括:
- 数据治理 (Oracle Cloud Infrastructure Data Catalog ):对业务词汇表和所有域数据实体进行编目,对哪些是数据产品进行分类,以便可以搜索。
- 数据安全(Oracle Data Safe 、 OCI Audit 、 OCI Logging 、 OCI Vault ):提高所有域的安全状况。
体系结构变量:共享部署
可以在共享数据平台上运行分散式平台,其中一组通用服务实例支持不同的数据域团队。
主体系结构为每个域提供了最高级别的隔离和灵活性,并且具有高度可扩展性,可以处理具有大量域的分散式数据平台。对去中心化数据平台的要求可能会有所不同,对于特定用例,不同的架构模式变体可能更适合。
下图显示了分布式平台模式的共享部署变体。
所有域之间共享单个 Oracle Autonomous Data Warehouse 实例,这些域使用基于角色的访问 (role-based access,RBAC) 和不同的方案进行隔离。数据湖中的数据还通过使用 Oracle Cloud Infrastructure Identity and Access Management 策略和不同的区间来隔离每个域。数据产品在各自的方案中进行策划、编目并通过使用实时和版本化共享进行共享。
对于数据摄取和处理,域 A 和域 B 使用相同的 Oracle Cloud Infrastructure Data Integration 和 Oracle Cloud Infrastructure Data Flow 实例和应用程序。域 C 和 D 对数据摄取和处理有非常具体的要求,因此具有单独的实例。
同样的逻辑也适用于使用层,其中域 A 和 B 共享单个分析云实例,使用 RBAC 进行隔离,而域 C 和 D 使用自己的服务实例。
也可以使用混合解决方案;某些域可能使用共享实例,而其他域使用专用实例,而不是为所有域设置一个实例或每个域设置一个实例。
这种混合解决方案通常由功能要求以外的要求驱动,例如性能、安全性、高可用性或灾难恢复要求,这些要求对某些域要求更高,并且需要单独的实例来满足这些要求,而不会对其他域的负载产生负面影响。
体系结构变体:Hub 和 Spoke
通常,在不同地区和国家拥有子公司的大型组织需要独立运行其数据平台,而无需为所有子公司工作负载提供集中数据平台,同时仍需要与总部共享数据,以实现全球可见性和关键绩效指标 (KPI)。
去中心化数据平台是一个很好的解决方案,其中有一个中心(总部)和几个发言人(子公司)需要安全有效地交换数据。
此变体使用地理位置作为集线器和辐条模式的示例,但同一模式也可以应用于其他示例,例如控股公司及其子公司。
发言人可以部署在与中心服务器相同的租户中,也可以部署在不同的租户中。
下图显示了在不同区域中部署的集线器和多个发言人,以及使用 Delta 共享协议启用的版本化共享来交换数据。此图仅显示服务引擎功能组件。功能体系结构的其余部分与主功能体系结构中所示的相似。
由于数据是安全交换的,并且通过互联网跨区域传输,因此您应该考虑延迟。如果发言人和中心之间共享的数据产品是汇总数据集和 KPI,而不是大量细粒度数据,则此模式易于部署、维护和操作。
另一种方法是使用 Oracle Autonomous Database Cloud Links,以便在实例之间无缝共享数据,即使它们位于其他区域也是如此。
对于跨区域数据共享,源 Oracle Autonomous Data Warehouse 实例必须克隆到目标区域,以便中心 Autonomous Data Warehouse 实例可以无缝访问它。可以定期手动或自动刷新克隆,以便中心 Autonomous Data Warehouse 能够使用发言人共享的最新数据产品。
由于该中心极有可能使用作为整个数据集子集的数据产品,因此,该中心可以具有专用的 Autonomous Data Warehouse 实例,以便存放要与中心共享的数据产品,从而优化可刷新的克隆。
可刷新克隆的网络流量通过 Oracle 主干路由,在移动驻留在分支 Autonomous Data Warehouse 实例上的大型数据产品时,这会导致较低的延迟和更高的带宽。
使用版本化共享资源或云链接之间的选择主要受性能和成本的影响,而不是受功能要求的影响。
无论使用哪种选项,中心中心和发言人都有自己的本地数据平台,可以使用此架构中显示的分散方法。
架构变体:异构数据生态系统
但是,您可以使用相同的架构来支持异构数据生态系统,因为不同的组织使用不同的技术和出于不同的目的共享数据。
使用案例可以包括与大学共享匿名数据的医院,或供应商与汽车制造商共享零件数据。
使用 Oracle Autonomous Data Warehouse 作为服务引擎的组织可以提供和使用支持 Delta Sharing 开放协议的其他技术的共享数据。
Delta Sharing 是一个支持数据生态系统的好选择,因为它提供了广泛的支持,并且安全地提供和使用数据。
您还可以使用其他机制(例如 API 或数据流)共享数据。
物理体系结构
此分散式数据平台的物理体系结构支持以下各项:
- 使用 Oracle Cloud Infrastructure Identity and Access Management 区间和策略进行域隔离,在这些区间和策略中,各自的团队仅有权在其区间中使用和部署云资源
- 在各自的工作负载 VCN 中部署域以实现更高的隔离级别和更高的安全态势
- 域团队使用在其区间和 VCN 中部署的云资源管理的数据摄取、存储、处理和服务流程
- 支持非功能性要求,例如可扩展性、高可用性、灾难恢复、安全性和服务级别目标 (SLO),因为每个域团队根据其特定的域要求使用单独的云资源
- 针对每个域云资源使用情况实施细粒度成本控制
- 使用部署在专用子网中的专用端点和实例,实现完全安全且安全的端到端流量
在遵守公司安全规则的同时,也可以将某些服务与每个域的公共端点一起部署。
- Oracle Autonomous Data Warehouse 使用实时共享或版本化共享启用的数据共享,以及是提供最新数据还是版本化数据,具体取决于具体使用场景
- 所有域的集中式数据目录,使用 Oracle Cloud Infrastructure Identity and Access Management 策略隔离每个域的数据目录子实体,但需要搜索的数据产品除外
- 通过使用基础设施即代码 (IaC) 自动化,无需影响现有数据域,即可实现高度可扩展的部署
下图说明了此引用体系结构。
物理体系结构图描述了两个域,以说明如何为每个域布置云网络和服务。通常,除非存在由特定非功能要求驱动的异常错误,否则所有域网络和区间都是相同的。
物理体系结构的设计:
- 对每个包含该域的工作负载的数据域使用中心 VCN 和一个 VCN
- 利用 Oracle Cloud Infrastructure FastConnect 和站点到站点 VPN 的本地连接实现冗余
- 将从内部部署和互联网的所有传入流量首先路由到中心 VCN,然后路由到数据域工作负载 VCN
- 保护所有传输中和静态数据
- 使用专用端点部署服务以提高安全状况
- 将 VCN 分为多个专用子网以增强安全状况
- 为每个域提供一个区间以实现资源隔离
- 使用动态路由网关 (DRG),以便云资源支持与其他域 VCN 的入站和出站流量
- 将 Autonomous Data Warehouse 实例放在数据专用子网中以提高安全性,但如果建立了用于启用该流量的路由,则可以提供和使用来自其他域 Autonomous Data Warehouse 实例的实时和版本化共享资源
为了简单起见,未在此部署中描述的潜在设计改进包括:
- 利用符合 CIS 的完整着陆区
- 在中心 VCN 中部署网络防火墙,通过检查所有流量并实施策略来改善整体安全状况
推荐
使用以下建议作为安全共享数据的起点。您的要求可能与此处描述的体系结构不同。
Oracle Autonomous Data Warehouse
此架构在共享基础设施上使用 Oracle Autonomous Data Warehouse 。
- 为湖仓一体使用奖章架构,并基于银(粒度、增强)和金(扩充、聚合)层创建数据产品。
- 您可以考虑使用 Autonomous Data Warehouse 与异构数据共享的原生支持来共享数据产品,从而提供更简单、更安全、更可靠的架构。
- 考虑共享在 Autonomous Data Warehouse 中作为外部表或混合表公开的外部数据,以便从版本化或实时共享的安全功能中受益。
- 考虑为数据产品表创建视图,以区分基本对象(表)和共享对象(视图)。
- 要提高与实时共享资源共享数据时的安全性,请考虑使用与基础方案和表不同的名称空间和名称值来隐藏内部对象名称。
- 要提高与云链接使用实时共享的安全性,请让数据集注册管理员为您的用例定义限制性最强的数据集范围。
- 通过云链接使用实时共享时,请考虑启用缓存来提高数据使用者的查询性能。
- 将实时共享与云链接与大量数据产品结合使用时,请考虑将查询卸载到可刷新的克隆,以改善数据使用者性能和工作负载隔离。
- 如果您有大量域 Autonomous Data Warehouse 实例,或者您的实例计算要求很高,请考虑将其整合到一个弹性池中。
OCI 对象存储
此架构使用高度可扩展的持久性 Oracle Cloud Infrastructure Object Storage 作为数据湖存储。
考虑使用多个细粒度区间来组织数据域和数据域中的团队,以利用 Oracle Cloud Infrastructure Identity and Access Management 策略来隔离工作负载。
Oracle Cloud Infrastructure 数据目录
此架构使用 Oracle Cloud Infrastructure Data Catalog 管理数据产品的技术、业务和运营元数据,从而实现自我发现。
- 考虑为所有域使用单个数据目录实例来集中元数据和数据产品监管
- 考虑仅为其数据资产授予对域用户的管理访问权限
- 考虑向所有用户授予读取访问权限,以便他们可以查找在整个组织中维护的数据产品
- 考虑使用定制属性以使用数据产品所有者、可用性、上次更新日期、版本等属性扩充操作元数据。
数据域部署
此架构使用数据湖仓模式和可用的 OCI 服务来支持端到端数据、分析和 AI 工作负载。
- 请考虑对每个域使用单独的 VCN 来隔离域,以提高部署云资源时的安全状况和域灵活性。
- 考虑利用区间和 IAM 策略隔离每个域使用的不同 OCI 服务。
数据产品共享
- 如果您需要使用 API 提供数据产品,请考虑使用 Oracle REST Data Services。
- 如果您使用 Oracle REST Data Services 共享数据产品,请考虑使用 Oracle Cloud Infrastructure API Gateway 来保护 API。
- 如果您需要流式传输数据产品,请考虑使用 Oracle Cloud Infrastructure GoldenGate 和 Oracle Cloud Infrastructure Streaming 。