高级数据库系统

5 篇文章

第5章 缓冲区管理

缓冲区结构

frame的参数

  • Dirty
    • Frame中的块是否已经被修改
  • Pin-count
    • Frame的块的已经被请求并且还未释放的计数,即当前的用户数
  • *Others
    • Latch: 是否加锁

当请求块时

  • 当一个程序请求一个不在内存中的数据块时,操作系统需要从磁盘中读取该数据块。
    • 首先,它需要在内存中找到一个帧来存放这个数据块。
    • 如果选中的帧是脏的(即,帧中的数据已被修改但尚未写回磁盘),那么操作系统需要先将这个帧的内容写回磁盘。
    • 然后,操作系统从磁盘中读取请求的数据块,并将其放入选中的帧中。
  • 最后,操作系统会增加该帧的固定计数Pin-count(即,标记该帧正在被使用),并返回该数据块在内存中的地址。这样,程序就可以直接访问内存中的数据,而不需要再次从磁盘中读取。这个过程是操作系统管理内存的重要部分,也是实现虚拟内存的关键。

当释放块时

  • 当程序完成对一个数据块的访问后,它需要取消固定(unpin)包含该数据块的帧,以便操作系统可以在需要时重新使用该帧。
  • 同时,如果程序修改了数据块的内容,它需要设置该帧的脏位(dirty bit)。脏位是用来标记帧中的数据是否已被修改,但尚未写回磁盘。如果脏位被设置,那么在帧被替换之前,操作系统需要先将帧的内容写回磁盘。这样可以确保磁盘中的数据始终是最新的,即使发生了系统崩溃或电源故障。

缓冲区替换策略

  • 当内存中没有空闲的帧来存放新的数据块时,操作系统需要选择一个已经被使用的帧进行替换。选择哪个帧进行替换是由替换策略决定的,常见的替换策略包括最近最少使用(LRU),时钟,先进先出(FIFO),最近最常使用(MRU)等。
  • 只有当帧的固定计数为0时,也就是说,当没有程序正在使用该帧时,该帧才会被考虑作为替换的候选者。
  • 替换策略的选择可以对系统的I/O性能产生重大影响,因为每次替换都可能需要从磁盘中读取数据或将数据写回磁盘。不同的访问模式可能会导致某些替换策略比其他策略表现得更好。

理论最优算法:OPT算法

  • 也称为Belady’s算法

    8 分钟阅读
    3854 字

第4章 数据表达

数据元素的表示层次

数据项

  • 字节序列

  • 表示关系数据库中元组的属性值

  • 数据项表示的内容

    • 表示什么?
      • 姓名
      • 年龄
      • 出生日期
      • 照片 …..
    • 用什么表示?
      • Bytes
  • 数据项表示方法:SQL数据类型

    • Integer (short)

      7 分钟阅读
      3240 字

第3章 数据存储

典型磁盘结构

  • 盘片platter, 盘面 surface, 磁头 R/W head, 磁道 track, 柱面 cylinder, 扇区 sector

磁盘块存取时间

相关计算概念

  • 块(Block)

    6 分钟阅读
    2963 字

第2章 关系型数据库回顾

数据库体系结构

  • 从模式的角度描述一般数据库系统的概念和结构

  • 可以用于解释特定数据库系统的内部结构

  • ANSI/SPARC体系结构——三级模式结构+两级映象

    10 分钟阅读
    5006 字

第1章 数据库系统概述

1.1. DBMS系统结构组成

数据库、DBMS、数据库系统等基本概念

数据

  • 数据(Data)是数据库中存储的基本对象
  • 数据的定义
    • 人们用来反映客观世界而记录下来的可以鉴别的符号
  • 数据的种类
    • 数值数据:0-9
    • 非数值数据:字符、文字、声音、图形、图像等
  • 数据的特点
    • 数据与其语义是不可分的
  • 例子1:93是一个数据
    • 语义1:学生某门课的成绩
    • 语义2:某人的体重
    • 语义3:计算机学院2016级学生人数
  • 例子2:学生档案记录(李明,197205,中国科大,1990)
    • 语义1:学生,出生年月,所在学校,毕业年份
    • 语义2: 学生,出生年月,录取大学,入学时间

数据库

  • 数据库的定义 数据库(Database,简称DB)是长期储存在计算机内、有 组织的、可共享的大量数据的集合
  • 数据库的基本特征
    • 数据按一定的数据模型组织、描述和储存
    • 可为各种用户共享
    • 数据间联系密切,具有最小的冗余度和较高的独立性
    • 服务于某个特定的应用
  • 例:图书馆的图书数据库、机场的航班数据库、银行数据库……

数据库模式 (Schema)

数据库模式是数据库中全体数据的逻辑结构和特征的描述 ![[Pasted image 20240108110812.png]]

3 分钟阅读
1369 字