![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库学习
文章平均质量分 83
春哥的嵌入式小世界
喜欢写一写个人总结和分享自己学到的东西,如果这些文章能帮到你,请给个关注。也欢迎大佬指导我。
展开
-
LSM学习分享——compact策略
详细介绍在LSM学习分享——LSM读写流程中提到的copaction操作。主要介绍两种基本策略:size-tiered和leveled。前提知识: (1)、读放大:读取数据时实际读取的数据量大于真正的数据量。例如在LSM树中需要先在MemTable查看当前key是否存在,不存在继续从SSTable中寻找。 (2)、写放大:写入数据时实际写入的数据量大于真正的数据量。例如在LSM树中写入时可能触发Compact操作,导致实际写入的数据量远大于该key的数据量。 (...原创 2021-10-05 22:12:45 · 588 阅读 · 0 评论 -
LSM学习分享——LSM读写流程
LSM读写示意图LSM树的写入流程: 1、当收到一个写的请求时,会把这个操作写入到WAL日志中,用作故障恢复。 2、写完wal之后会把这条数据写入sstable的内存中Memtable。 3、当Memtable超过一定的大小后,会在内存里面冻结,变成不可变的Memtable,同时为了不阻塞写操作需要新生成一个Memtable继续提供服务。 4、把内存里面不可变的Memtable给dump到硬盘上的SSTable层中,此步骤也称为Minor Comp...转载 2021-10-02 22:10:04 · 926 阅读 · 0 评论 -
结构查询语言之SQL语法
当前主流的关系数据库系统都是采用的SQL作为查询语言,但都只实现了SQL标准的一个子集,并且对SQL标准有所扩展。 SQL是一种基于关系代数和关系演算的非过程化语言,它指定用户学习哪些操作,而不指定如何去操作数据,具有非过程化、简单易学、易迁移、高度统一等特点。(1)非过程化:在使用SQL的过程中,用户并不需要理解SQL的具体操作方法,只需要通过SQL描述想要获得的结果集合的条件,至于数据库系统如何取得结果,则由数据库查询优化系统负责生成具体的执行计划去完成。(2)简单易学:...原创 2021-07-13 22:41:10 · 84 阅读 · 0 评论