DDIA p100-118阅读笔记

1.OLTP和OLAP

分别是针对事务型查询和业务分析类的查询,前者比如个人去检查自己的交易记录,只会查几条,而且会查的字段比较多,后者是分析师使用的,比如检查某个字段的平均值、众数等聚合值,如果去扫描的话会扫描所有字段,对数据库写入、读取造成更大的影响。

2.OLAP

通常采用单独的数据仓库,专门针对业务分析,这里有一点像数据库主从多库做备份使用,主从库就是为了负载均衡,读取时从多个库读取,会有主备复制的问题。

3.列式存储

把数据按照字段而非按照整行存储在不同的节点,比如对于学生信息,一个数据库专门存储学生联系方式,一个数据库专门存储学生的学号信息,这里列式存储为什么能更好的加快分析类的请求,首先不同的数据库要维持对应的关系,比如对于第一行,都是同一个学生的信息,只有这样,列式存储才有意义。

列式存储可以采取一定的压缩方式。

4.数据存储

数据存储有模式的问题,因为随着代码的更新,存储模式也可能有不同的变化,比如字段的变化,这里有向前兼容和向后兼容的问题。

向后兼容是指新的代码能阅读旧代码写的数据;向前兼容是指旧的代码能阅读新代码的数据。

实现向前兼容和向后兼容的意义是,新旧业务更新时,为了防止直接更换全部数据和代码出现问题,在实际上线的时候是在一部分节点先测试的,在这个过程中会出现新旧数据并存、新旧代码并存的情况;哪怕不是服务端,针对客户端的更新,也会有一部分更新使用新客户端的用户和不会主动更新使用旧客户端的用户。

5.序列化和反序列化

序列化是指把内存中的数据结构比如栈、队列、自建数据类型、vector等存入存储系统,反序列化是把存储系统的内容变成内存能高效读取的数据结构。

json、xml、csv是针对解决存储的抛开编程语言的标准,针对json还有一些压缩手段,否则比如对于所有学生都有的studentid的字段,每个数据不仅要存储具体id还要存储student id这几个字符,会造成大量冗余,所以数据压缩能解决部分问题。

相关推荐
V哥AI增长9 小时前
小红书笔记在生成式AI引擎中的可见性机制解析:从抓取原理到GEO工程化实践
大数据·人工智能·笔记
Hotchip_MEMS14 小时前
当雾化器遇上MEMS:一场从交互到制造的全链路效率提升
人工智能·笔记·物联网·电脑·制造
是上好佳佳佳呀14 小时前
【深度学习|Day02】PyTorch 深度学习笔记(下):张量运算与自动微分
pytorch·笔记·深度学习
IT古董16 小时前
【MES学习笔记系列】05 - MES 数据库设计
笔记·学习·mes
不瘦80斤不改名16 小时前
05-vibe-coding-向agentic-engineering演进
人工智能·笔记·python·prompt
九硕智慧建筑一体化厂家17 小时前
直流照明|无尘风淋室照明,高均匀无频闪,适配洁净车间高频合规工况
大数据·人工智能·笔记·智慧城市
LATASA17 小时前
【 从0到1构建 Agent Harness学习笔记】
网络·笔记·学习
FakeOccupational17 小时前
【电路笔记 仿真】SPICE仿真器软件 LTspice:绘制简单电路(新建图页+添加组件)并仿真+模型导入+SUBCKT (子电路)绘制与使用+特殊器件绘制
笔记
是上好佳佳佳呀18 小时前
【深度学习|Day01】PyTorch 深度学习笔记(上):框架认知与张量基础
pytorch·笔记·深度学习
x173880627319 小时前
目录遍历漏洞
笔记·目录遍历漏洞