DDIA学习笔记

1.关系模型和文本模型

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

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

2.图模型

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

3.Bitcask

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

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

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

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

4.BTree

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

相关推荐
LuminousCPP42 分钟前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习
魔法阵维护师1 小时前
从零开发游戏需要学习的c#模块,第十四章(保存和加载)
学习·游戏·c#
_李小白2 小时前
【android opencv学习笔记】Day 17: 目标追踪(MeanShift)
android·opencv·学习
一只机电自动化菜鸟2 小时前
一建机电备考笔记(40) 建筑机电施工—排水管道施工(含考频+题型)
经验分享·笔记·学习·职场和发展·课程设计
2301_818730562 小时前
numpy的学习(笔记)
学习·numpy
你干嘛?哎哟2 小时前
4月工作笔记
笔记
tom02182 小时前
软考中级《嵌入式系统设计师》全套备考资料(真题 + 教材 + 笔记)
笔记·嵌入式·软考·自学·电子技术·电子资料·变成
GHL2842710903 小时前
Logon failed, use ctrl+c to cancel basic credential prompt
学习·prompt
共享家95273 小时前
Langchain的学习(二)
学习·langchain
victory04313 小时前
agent 学习路径解析 学习资源分享
学习