DDIA学习笔记

1.关系模型和文本模型

常见的mysql的表就是关系模型,通过相同的键把多个表联系起来,在进行相关查询时很方便。

文本模型比如用jsonl文件存储的数据,用字符串的字段来标明是哪个字段,特点是不能区分整数浮点数以及精度,不过在局部性上比关系模型具有优势

2.图模型

属性图的两种存储方法,一种是利用关系模型去存储图的属性,一种是利用三元组去存储,三元组即主谓宾,谓语和宾语可以是关系和节点,也可以是属性和属性值。

3.Bitcask

顺序存储的模型,基于顺序写这种哪怕是删除信息也是记录一行删除记录作为墓碑,对应的就是查任何数据都需要全局扫描,除了删除,更新也是追加写因此也是需要看全局才能确定。

对于它的直接改进引出了SStable,即顺序索引的追加写,乍一看顺序和追加写是矛盾的,实际上是因为在内存用Btree或者红黑树来排序写,对于内存操作定时存入磁盘。

这两者在磁盘中都有压缩和合并的过程来避免磁盘空间用尽。

文件合并的过程中不影响对数据的读取,因此这种日志顺序记录的存储结构支持压缩合并与使用并行。

4.BTree

不强制要求顺序写,同时索引有序的情况支持在内存中稀疏存储索引。

相关推荐
zjxtxdy21 分钟前
SPI通信协议
笔记·单片机
传奇开心果编程2 小时前
【springboot基础语法学与练】第 1 课:从零开始
java·spring boot·后端·学习
扶风ff2 小时前
练题簿小程序:家庭在线练题,课后复习更简单
学习·小程序
传奇开心果编程2 小时前
【Flutter入门练中学】第2课:布局系统
学习·flutter·ui
彧azz2 小时前
Linux 网络编程学习总结
linux·网络·笔记·学习·面试
一尘之中3 小时前
指挥控制中心与指控系统:概念、应用、厂商与DDS技术全景
学习·架构·ai写作
aramae3 小时前
MySQL内置函数(7)
开发语言·笔记·后端·mysql·其他
bessyon3 小时前
信息透明度与决策效率:一个技术视角的分析
笔记
一条破秋裤3 小时前
测试A学习顺序
学习
传奇开心果编程3 小时前
【Jetpack Compose基础语法学与练】第8课 rememberSaveable,页面旋转/系统重建保留状态
android·学习·ui·kotlin·android jetpack