《BIG DATA大数据系统构建》记录

Lambda 架构

大数据本质 数据系统 = 数据 + 查询
批处理层:保证准确性,但高延迟的批数据处理
服务层:低延迟读
速度层:事实最新数据保证低延迟,低准确性的数据处理

最后的综合,保证相对低延迟和高准确性

在这里插入图片描述

数据的三大关键属性

原始性,不变性,永久性

原始性

定义:比起广告商从电商网页的信息提取后总结获得信息,电商网页的信息更具有原始性。
存储原始数据有更好的价值,因为很少能提前想好所有问题的答案。

存储什么原始信息:
1 非结构化数据比规划化数据更原始更好
2 更多的数据不代表更原始更好

不变性

优势:
可容忍人为错误 (因为数据不可改动的海量存储,方便错误恢复)
简易性 (数据改动往往需要跟随索引,对于不可改数据,不需要索引,只需要根据时间戳等区分添加。具有简易性)

对于不可变数据,代价会占用更多存储空间。
对于可变数据,例如同一用户只保留一条记录。不同行为,会进行覆盖操作。
而对于不可变数据,同一用户会保留多条记录,比如完全相同key值,通过时间戳来区分他们不断追加而不是覆盖

永久性

数据永远真实

在这里插入图片描述

推荐基于事实的数据模型

在这里插入图片描述

事实作为数据分解的基本单元

特点:
原子性,存储为原子事实
通过时间戳保证事实的不变性和永远正确性
可识别性,可区分的事实方便过滤重复的事实,对lambda架构实现更容易

优点:
任何时刻历史信息可查询
容忍人为错误
只需要处理部分信息:无需引入NULL
拥有规范和不规范形式的所有优点
	规范化如关系型数据库,可以减少冗余,促进一致性。查询通过索引等在存储层执行
	lambda 拆分了查询和存储层。批处理曾的主数据集是规范化的,服务层的高效实时查询是非规范化的数据

图模式

以节点,边,属性的图模式来构建事实

在这里插入图片描述

存储事实格式

如半结构化json,序列化模式等等

在这里插入图片描述

事实格式-序列化框架

如Apache Thrift,Avro,Protocol Buffers等

Apache Thrift

在这里插入图片描述
在这里插入图片描述
序列化框架的局限性
在这里插入图片描述

批处理层的数据存储

因为不变和永久性,需要处理大量的,不断增长的数据集。存储就需要优化。
一次写入,多次批量读取

数据存储需求

在这里插入图片描述
HDFS
在这里插入图片描述
在这里插入图片描述
MR耳熟能详,略过很多书中MR的基本介绍

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我爱肉肉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值