Mai Icy

“数据库”

数据库管理系统——数据库索引

索引概述 按照物理存储类型分类: 聚集索引:一张表只能有一个,按照key排序,范围查找更高效, 非聚集索引:一张表可以有多个,数据不一定按照索引列顺序存储。辅助索引、二级索引 按照指针记录的...

数据库内核实验报告三

基础实现思路和难度总结 先解决万圣节问题,后需要完成数据库并发的三种控制级别:读已提交,可重复读,可串行化。 本次实验使用MVCC多版本控制实现读已提交和可重复读,使用SS2PL严格两阶段锁来实...

数据库管理系统——并发控制2

乐观并发控制技术 时间戳 由数据库创建的用于标识事务串行化顺序的标识符,用TS(T)表示事务T的时间戳。 可以使用物理时钟和逻辑时钟(计数器类似于LSN) 事务和数据项都有时间戳 时间戳排序协议...

数据库管理系统——并发控制1

并发控制概览 进行一个控制级别的复习 并发:在同一时间间隔内有多个事件或者活动发生。 隔离级别 脏读 不可重复读 幻读 读未提交 允许 允许 允许 读已提交 不允许 允许 允许...

数据库内核实验报告二

基础实现思路和难度总结 在存储实现的基础上添加事务管理,解决数据库崩溃后的恢复等情况。 数据类架构 对于table来说有Table 和 TablePage Table:是上层操作,负责调用Ta...

数据库管理系统——故障恢复2

ARISE 优化策略 基于undo/redo日志 回顾undo/redo日志的恢复算法缺陷: 部分redo日志无需重做:已经刷脏的日志不需要redo undo操作无需扫描全部日志 undo日志...

数据库管理系统——故障恢复1

保证事务的原子性和持久性需求: 原子性: 事务运行期间不刷盘,系统故障重启后保证原子性。 事务运行期间刷盘,系统故障重启后需回滚该事务。 持久性: 事务完成时刷盘,故障系统重启后自动保证持...

数据库内核实验报告一

基础实现思路和难度总结 使用VM虚拟机搭建ubuntu 的linux系统环境,安装cmake,git,g++等等关键依赖。 数据类认识 对于table来说,有TablePage,TableSca...

数据库管理系统——事务处理

事务 事务十多个数据库操作组合承德一个不可分割的、同时成功或失败的工作单元。 例如: 在银行转账的场景中,涉及到账户的扣款和加款操作,必须保证两者同时成功或同时失败。 事务的特性 ACID四大特...

数据库管理系统——数据库储存引擎

数据库管理系统——数据库储存引擎 存储概览 SQL引擎 —— 执行器 —— 存储引擎 —— 存储介质 存储引擎:文件组织 页面组织 元数据 日志 索引 缓冲区 故障恢复 并发控制 对于把数据放...