跳转到内容

主内存数据库系统设计/存储引擎概述

来自维基教科书,开放世界中的开放书籍

目录上一页: 存储引擎下一页: 数据库管理


第四章:存储引擎概述

存储引擎通常负责数据库管理系统 (DBMS) 中的数据组织、访问方法和事务。这是 DBMS 中与操作系统服务交互的最低层子系统。通常,产品通过操作系统层子系统(操作系统系统调用的包装器)进行交互,以简化移植工作。

数据应存储在计算机系统的以下组件之一中

  1. 内存
  2. 辅助存储器 - 磁盘
  3. 三级存储器 - 磁带

这些组件具有数据容量、每字节成本、速度跨越多个数量级。容量最小的设备提供最快的访问速度,并且每字节成本最高。

当前趋势:由于其巨大的容量和每字节低成本,三级存储器现已被磁盘取代。未来趋势:由于容量增加和每字节成本降低,磁盘被主内存取代。

一次磁盘块传输大约需要 5 毫秒,而主内存访问需要 100 纳秒。通过将整个数据库保存在内存中,这些磁盘 I/O 被转换为内存访问,从而将吞吐量提高了许多倍。内存是一种易失性设备,当断电时会丢失存储在其中的数据。但磁盘是一种非易失性设备,即使长时间断电,也能保持内容完整。这使得主内存存储管理器难以实现。它使用日志记录和检查点机制来应对电源故障,并使存储在主内存中的数据持久化。


目录上一页: 存储引擎下一页: 数据库管理

华夏公益教科书