读书 数据密集型应用 一

第⼀部分:数据系统的基⽯

1 数据系统的思考

批处理 与 流处理

记住开销昂贵操作的结果,加快读取速度(缓存 cache),允许用户按关键字搜索数据,或以各种方式对数据进行过滤(搜索索引(search indexes)) 向其他进程发送消息,进行异步处理(流处理)

定期处理累计的大批量数据(批处理 batch processing)

在这里插入图片描述

过早优化:
为了不必要的扩展性而设计程序,不仅会浪费不必要的精力,并且会可能吧你锁死在一个不灵活的设计中。

可靠性

    系统存在困境(硬件故障、软件故障、人为错误) 中仍可以正常工作 正确完成功能,并能达到期望水准

可扩展性

	合理的办法应对数据增长(数据量、流量、数据复杂度)

可维护性

不同的人(开发、运维)在不同生命周期,都能搞笑的在系统上工作

失控进程 : cpu、memory、 disk
人为错误 : 管理后台、API

架构:
批处理 ---- 关心吞吐量、秒 / 记录数
实时 ---- 关心响应时间 发送 / 接受

响应时间(response time) 是某个请求处理实际时间 包含了等待处理时间,等待服务时间(queue)
延迟时间(latency) 等待时间

在这里插入图片描述

可靠性:

系统存在困境(硬件故障、软件故障、人为错误)中仍可正常工作 (正确完成功能,并能达到期望的性能水准)

可扩展性

有合理的办法应对系统的增长(数据量、流量、复杂性)

服务降级:当程序持续运行,负载持续提升。 如1 万并发 -> 10 万并发。 数据服务100W 到1000W

可维护性
高效地在系统上工作,

百分位数
在这里插入图片描述
中位数 高百分位数 尾部延迟 P50 P95 P99
在这里插入图片描述
排队延迟 尾部放大
在这里插入图片描述

直方图
在这里插入图片描述

功能需求

:系统需要做什么、以什么方式村粗、检索、搜索和处理数据
非功能性需求:
通用属性:安全性、可靠性、合规性、可扩展性、兼容性和可维护性

2 数据模型与查询语⾔

数据存储和查询通用的数据模型

关系模型 文档模型 图形的数据模型

更像是介绍历史。阅后跳过 个人没什么收获 = =!

3 存储与检索

索引
在这里插入图片描述
在这里插入图片描述
SSTables 和 LSM 树
排序字符串表(Sorted String Table)简称 SSTable

在这里插入图片描述

事物处理还是分析
一组逻辑单元的一组读写。ACID(原子性、一致性、隔离性、持久性)

事实表
每个数据仓库都包含一个或者多个事实数据表。事实数据表可能包含业务销售数据,如现金登记事务所产生的数据,事实数据表通常包含大量的行。事实数据表的主要特点是包含数字数据(事实),并且数字信息可以汇总,以提供有关单位作为历史数据,每个事实数据表包含一个由多个部分组成的索引,该索引包含作为外键的相关性维度表的主键,而维度表包含事实记录的特性。事实数据表不应该包含描述性的信息,也不应该包含除数字度量字段及使事实与维度表中对应项的相关索引字段除外的任何数据。包含在事实表中的“度量值”有两种:一种是可以累计的度量值,另一种是非累计的度量值。

维度表
维度表可以看作是用户来分析数据的窗口,维度表中包含事实数据表中事实记录的特性,有些特性提供描述性信息,有些特性指定如何汇总事实数据表数据,以便为分析者提供有用的信息,维度表包含帮助汇总数据的特性的层次结构。例如,包含产品信息的维度表通常包含将产品分为食品、饮料、非消费品等若干类的层次结构。维度表包含了事实表中指定属性的相关详细信息,比如,详细的产品,客户属性,存储信息等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值