CMU 15的详细课程内容有哪些?
- 内容介绍
- 文章标签
- 相关推荐
本文共计6901个文字,预计阅读时间需要28分钟。
熟肉视频网址:CMU数据库管理系统课程[熟肉]4.数据库存储结构2(上)+CMU数据库管理系统课程[熟肉]4.数据库存储结构2(下)1.面向日志的存储+上节课我们讲完了面向日志的存储,这节课我们接着讲面向元组的存储
1. 面向日志的存储熟肉视频地址:
- CMU数据库管理系统课程[熟肉]4.数据库存储结构2(上)
- CMU数据库管理系统课程[熟肉]4.数据库存储结构2(下)
上节课我们讲完了面向元组的存储,这节课从面向日志的存储设计开始。
在这里,页中不存储元组数据,只会存储日志记录,即通过日志记录我们插入的数据以及我们如何更新系统中的数据,包括:插入元组的语句日志,删除元组的语句日志,更新元组的语句日志。
这种设计写得很快,因为不用在一个页里寻找并更新单个元组,就是在末尾追加写,这样写起来非常快,对于磁盘 I/O 也很好。
但是对于读取,就很麻烦了。为了读取一条记录,我们要做的就是从后向前扫描这个日志,以便重新创建我们想要查询的元组。
当然我们可以做一些优化,比如我们可以建立一个索引,用来找到应用于每个元组的不同日志记录,这样我们就不需要对所有的日志记录进行完整的扫描。但是这带来了而外的元数据存储消耗。
另一种优化方式就是定期压缩这些日志,基本上只是把所有的日志记录压缩成单个值,过程是:获取页的锁并锁定,然后执行压缩,然后释放锁。
本文共计6901个文字,预计阅读时间需要28分钟。
熟肉视频网址:CMU数据库管理系统课程[熟肉]4.数据库存储结构2(上)+CMU数据库管理系统课程[熟肉]4.数据库存储结构2(下)1.面向日志的存储+上节课我们讲完了面向日志的存储,这节课我们接着讲面向元组的存储
1. 面向日志的存储熟肉视频地址:
- CMU数据库管理系统课程[熟肉]4.数据库存储结构2(上)
- CMU数据库管理系统课程[熟肉]4.数据库存储结构2(下)
上节课我们讲完了面向元组的存储,这节课从面向日志的存储设计开始。
在这里,页中不存储元组数据,只会存储日志记录,即通过日志记录我们插入的数据以及我们如何更新系统中的数据,包括:插入元组的语句日志,删除元组的语句日志,更新元组的语句日志。
这种设计写得很快,因为不用在一个页里寻找并更新单个元组,就是在末尾追加写,这样写起来非常快,对于磁盘 I/O 也很好。
但是对于读取,就很麻烦了。为了读取一条记录,我们要做的就是从后向前扫描这个日志,以便重新创建我们想要查询的元组。
当然我们可以做一些优化,比如我们可以建立一个索引,用来找到应用于每个元组的不同日志记录,这样我们就不需要对所有的日志记录进行完整的扫描。但是这带来了而外的元数据存储消耗。
另一种优化方式就是定期压缩这些日志,基本上只是把所有的日志记录压缩成单个值,过程是:获取页的锁并锁定,然后执行压缩,然后释放锁。

