《大数据系统构建:可扩展实时数据系统构建原理与最佳实践》一2.3 图模式

简介:

本节书摘来自华章出版社《大数据系统构建:可扩展实时数据系统构建原理与最佳实践》一书中的第2章,第2.3节,南森·马茨(Nathan Marz) [美] 詹姆斯·沃伦(JamesWarren) 著 马延辉 向 磊 魏东琦 译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.3 图模式

基于事实的模型中的每个事实都捕捉了一段信息。但事实本身不能表达数据背后的结构。也就是说,数据集中没有包含事实类型的描述,也没有它们之间关系的任何解释。本节将介绍图模式—图捕获使用基于事实的模型进行存储的数据集的结构。我们将讨论图模式的元素,以及使得一个模式可实施的需要。
让我们首先将FaceSpace的事实构建成一个图。

2.3.1 图模式的元素

2.2节详细讨论了FaceSpace事实。每个事实都代表一条用户信息或两个用户之间的关系。图2-16描述了一个图模式,用以表示FaceSpace事实之间的关系,针对用户、他们的个人信息和他们之间的关系,它提供了一个有用的可视化。


2a5d3a0519bcff60e64d7d5a532b0832abf86367



图2-16 可视化FaceSpace事实之间的关系
该图强调了图模式的三个核心组件—节点、边和属性:
节点是系统中的实体。在这个例子中,节点是FaceSpace用户,由用户ID表示。再如,如果FaceSpace允许用户将自己看作一边是节点之间的关系。在FaceSpace中,边的含义是显而易见的—用户之间的边代表了FaceSpace朋友关系。以后你可以在用户之间添加额外的边类型,用以标识同事、家人或同学。
属性是关于实体的信息。在这个例子中,年龄、性别、位置和所有其他个人信息都是属性。
节点之间的边是严格的:尽管在图2-16中,属性和节点看起来是连接的,但这些线不是边。它们只是用于辅助说明用户及其个人信息之间的关系。我们用实线代表边、虚线代表属性连接,来表示它们之间的不同。
图模式对数据集包含的所有数据提供了一个完整的描述。接下来将讨论确保数据集内的所有事实都严格遵循该模式的必要性。

2.3.2 可实施模式的必要性

这时,信息被存储为事实,并且用图模式描述了数据集包含的事实的类型。你觉得都准备好了,是吗?不,你还需要确定以什么格式存储事实数据。
一种方法是使用半结构化的文本格式,比如JSON。这种格式可实现简单性和灵活性,基本上允许将任何数据写入主数据集,但在这种情况下,对我们的需求来说有点过于灵活了。
为了说明这个问题,假设你选择使用JSON来表示Tom的年龄:

这对于单个事实的表示是没有问题的,但没有办法确保所有随后的事实都遵循相同的格式。由于人为错误,数据集也可能包含这样的事实:

这些例子都是有效的JSON,但它们格式不一致或丢失了数据。尤其是,2.2节强调了每个事实有一个时间戳的重要性,但文本格式不能执行此要求。为了有效地使用数据,你必须为数据集的内容提供保障。
另一种方法是使用一个可实施的模式来严格定义事实的结构。可实施的模式预先需要做更多的工作,但是它们保证所有必需的字段都存在,并确保所有值是预期的类型。有了这些保证,开发人员将对他们期待的数据充满自信—每个事实都有一个时间戳,用户的名字永远是一个字符串,等等。关键之处在于,当创建一块数据发生错误时,可实施的模式会即刻给出错误提示,而不是稍后有人试图在不同的系统中使用数据时才发现错误。错误越早暴露为bug,就越容易捕捉和修复。
在第3章中,你将看到如何使用序列化框架来实现一个可实施的模式。序列化框架提供了一种与语言无关的方式来定义模式中的节点、边和属性,然后生成代码(可能以很多不同的语言),用来序列化和反序列化模式中的对象,这样它们就可以存储到主数据集并被检索到。
此时你可能很想知道细节,不要担心—最好的学习方式是实践。在2.4节中,我们将在SuperWebAnalytics.com实体中设计基于事实的模型,并在第3章中使用序列化框架来实现它。

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
机器学习/深度学习 算法 大数据
构建数据中台,为什么“湖仓一体”成了大厂标配?
在大数据时代,数据湖与数据仓库各具优势,但单一架构难以应对复杂业务需求。湖仓一体通过融合数据湖的灵活性与数据仓的规范性,实现数据分层治理、统一调度,既能承载海量多源数据,又能支撑高效分析决策,成为企业构建数据中台、推动智能化转型的关键路径。
|
SQL 分布式计算 大数据
大数据新视界 --大数据大厂之Hive与大数据融合:构建强大数据仓库实战指南
本文深入介绍 Hive 与大数据融合构建强大数据仓库的实战指南。涵盖 Hive 简介、优势、安装配置、数据处理、性能优化及安全管理等内容,并通过互联网广告和物流行业案例分析,展示其实际应用。具有专业性、可操作性和参考价值。
大数据新视界 --大数据大厂之Hive与大数据融合:构建强大数据仓库实战指南
|
存储 SQL 分布式计算
MaxCompute 聚簇优化推荐原理
基于历史查询智能推荐Clustered表,显著降低计算成本,提升数仓性能。
638 4
MaxCompute 聚簇优化推荐原理
|
传感器 人工智能 大数据
高科技生命体征探测器、情绪感受器以及传感器背后的大数据平台在健康监测、生命体征检测领域的设想与系统构建
本系统由健康传感器、大数据云平台和脑机接口设备组成。传感器内置生命体征感应器、全球无线定位、人脸识别摄像头等,搜集超出现有科学认知的生命体征信息。云平台整合大数据、云计算与AI,处理并传输数据至接收者大脑芯片,实现实时健康监测。脑机接口设备通过先进通讯技术,实现对健康信息的实时感知与反馈,确保身份验证与数据安全。
|
存储 分布式计算 物联网
美的楼宇科技基于阿里云 EMR Serverless Spark 构建 LakeHouse 湖仓数据平台
美的楼宇科技基于阿里云 EMR Serverless Spark 建设 IoT 数据平台,实现了数据与 AI 技术的有效融合,解决了美的楼宇科技设备数据量庞大且持续增长、数据半结构化、数据价值缺乏深度挖掘的痛点问题。并结合 EMR Serverless StarRocks 搭建了 Lakehouse 平台,最终实现不同场景下整体性能提升50%以上,同时综合成本下降30%。
1334 58
|
分布式计算 Shell MaxCompute
odps测试表及大量数据构建测试
odps测试表及大量数据构建测试
Java 大视界 -- Java 大数据在智能家居能源消耗模式分析与节能策略制定中的应用(198)
简介:本文探讨Java大数据技术在智能家居能源消耗分析与节能策略中的应用。通过数据采集、存储与智能分析,构建能耗模型,挖掘用电模式,制定设备调度策略,实现节能目标。结合实际案例,展示Java大数据在智能家居节能中的关键作用。
|
Cloud Native 大数据 Java
大数据新视界--大数据大厂之大数据时代的璀璨导航星:Eureka 原理与实践深度探秘
本文深入剖析 Eureka 在大数据时代分布式系统中的关键作用。涵盖其原理,包括服务注册、续约、发现及自我保护机制;详述搭建步骤、两面性;展示在大数据等多领域的应用场景、实战案例及代码演示。Eureka 如璀璨导航星,为分布式系统高效协作指引方向。
|
存储 SQL 分布式计算
MaxCompute x 聚水潭:基于近实时数仓解决方案构建统一增全量一体化数据链路
聚水潭作为中国领先的电商SaaS ERP服务商,致力于为88,400+客户提供全链路数字化解决方案。其核心ERP产品助力企业实现数据驱动的智能决策。为应对业务扩展带来的数据处理挑战,聚水潭采用MaxCompute近实时数仓Delta Table方案,有效提升数据新鲜度和计算效率,提效比例超200%,资源消耗显著降低。未来,聚水潭将进一步优化数据链路,结合MaxQA实现实时分析,赋能商家快速响应市场变化。
619 0