二 数据网格的核心原理和逻辑架构
数据网格的目标是为从大规模分析数据和历史事实中获取价值奠定基础,并将其应用于不断变化的数据环境、不断增长的数据源和消费者、用例所需转换和处理的多样性以及对变化的反应。为了实现这一目标,以下四个基本原则保障了数据网格实现都体现为实现规模化承诺,同时提供使数据可用所需的质量和完整性保证:1)面向域的分散数据所有权和架构,2)将数据作为产品,3)自助数据基础设施作为一个平台, 4) 联合计算治理。这四项原则对成为实现弹性扩展,同时解决不兼容数据孤岛或运营成本增加的问题是必要和充分的。
1域数据所有权
数据网格的核心是分散和将责任分配给最接近数据的人,以支持持续的变化和可扩展性。问题是,我们如何分解和分散数据生态系统的组成部分及其所有权。这里的组件由分析数据、其元数据以及为其提供服务所需的计算组成。
数据网格遵循组织单元的视角作为分解依据。我们今天的组织是根据其业务领域进行分解的。这种分解将首持续变化和进化的影响,在大多数情况下本地化到域的有界上下文中。因此,使业务域的有界上下文成为数据所有权分布的良好选择。
在本文中,将继续使用 “数字媒体”相同的用例。可以想象,媒体公司根据“播客”、管理播客发布的团队和系统等领域来划分其运营,成为支持运营的系统和团队;“艺术家”、管理加入和付费艺术家的团队和系统等。数据网格认为分析数据的所有权和服务应该依赖这些领域。例如,管理“播客”的团队在提供用于发布播客的API 的同时,还应负责提供代表“已发布播客”随时间推移的历史数据以及随时间推移的“收听率”等其他事实。
逻辑架构:面向域的数据和计算
为了促进这种分解,我们需要建模一个按域排列分析数据的架构。在此架构中,域与组织其他部分的接口不仅包括操作能力,还包括对域所服务的分析数据的访问。例如,“播客”域提供了操作 API 来“创建新的播客集”,还提供了一个分析数据端点,用于检索“过去N个月内的所有播客集数据”。这意味着架构必须消除任何冲突或耦合,以让域提供其分析数据并发布计算数据的代码,独立于其他域。
以下示例演示了面向域的数据所有权原则。这些图只是逻辑表示和示例性的。每个域可以公开一个或多个操作 API,以及一个或多个分析数据端点。
通过上文我们已经建立了一种通用语言和一种逻辑思维模型,未来可以共同推进网格组件的详细蓝图,例如数据产品、平台和所需的标准化。