数据的存储
1、磁盘块存取时间*
2、存储器结构
3、不同类型存储介质之间的差异
如何读下一块
- 下一块在同一柱面
- Sequential I/O
- 旋转 + 传输 + 其他(忽略)
- 不在一个柱面
- Ramdom I/O
- 寻道 + 旋转 + 传输 + 其他
写块
- 与读块类似
- 如果需要校验块是否正确写入,则需要加上一 次旋转时间和一次块传输时间(读出来一次Sequential I/O)
随机读一块的时间
计算公式:T = S + R + T
- 最大时间
- S 最大寻道时间
- R 最大旋转延迟(旋转一周的时间)
- T 传输延时
- 最小时间
- S = R = 0(不用寻道也不用旋转,说明要读的块就是当前位置的下一块)
- 平均时间
- S 平均寻道延时(注意,是最大寻道时间 1 / 3 而不是1/2)
磁盘存取优化
Random IO to Sequential IO
通过I/O调度重排请求序列,MySQL InnoDB 则利用事务日志把随机I/O转成顺序I/O
预取 / 缓冲
双缓冲处理时间
- R+nP(P>=R)
- nR+P(R>=P)
单缓冲处理时间
- n(R + P)
缓冲代价
- 主存代价
- 缓冲区管理
- 一致性维护
新型存储
计算机系统性能依赖于
- 处理器的数据计算能力
- 存储层次向处理器传输数据的能力
随着多\众核、多线程技术的发展,传统存储器件构成的存储层次面临 的存储墙问题愈发严重
- 处理单元(核)数的增长与存储数据供应能力(容量)不匹配
- SRAM\DRAM的功耗过高
新型存储器件包括:闪存、相变存储器、磁阻式存储、电阻式存储器 、忆阻器等等。具备一个共同特点:非易失性
- 优点:高存储密度、低功耗、无机械延迟、存取速度快、便携、抗震、低 噪音等
- 缺点:读写性能不对称、读写次数有限、可靠性不高等
闪存 Flash Memory
闪存 = 闪存芯片 + 控制器 +FTL(翻译层)
闪存(NAND)的特点
读写不对称:写慢读快
写前擦除:异位更新、块擦除操作
寿命有限:块擦除次数有限
SLC (约10万次擦写) MLC(小于1万次) TLC(小于1000次)
- 按页读写
1 page =2 KB
- 按块擦除
1 block = 64 pages
闪存数据库面临的挑战
相变存储器 Phase Change Memory
- 电阻式非易失性半导体存储器
- 以硫族化物材料作为存储介质,利用相变材料在不同结 晶状态时呈现出显著的电阻值差异性来实现数据存储
PCM vs. Flash
看起来读写性能和寿命PCM都更好