在大多数计算机系统中存在多种数据存储类型。根据访问数据的速度、购买介质时每单位数据的成本,以及介质的可靠性可以对这些存储介质进行分类有代表性的可用介质包括以下这几种。
根据不同存储介质的速度和成本,可以把它们按层次结构组织起来。层次越高的存储介质的成本越贵,但是速度越快。当我们沿着层次结构向下,存储介质每比特的成本下降,但是访问时间会增加。
- 高速缓存(cache)。高速缓存是最昂贵的存储形式。高速缓存相对较小,由计算机系统硬件来管理它的使用。
- 主存(main memory)。主存是用于存放可被操作的数据的存储介质。通常机器指令在主存上执行。在个人计算机中的主存可以包含十个GB的数据,一般情况下对于很大的数据库而言,主存对于对于整个数据库的存储来说还是太小(或者太昂贵),许多企业数据库是可以放入主存的。然而,在发生电源故障或者系统崩溃的情况下,主存中的内容会丢失,因此主存被认为是易失的。
- 闪存(flash memory)。闪存不同于主存的地方是即使在电源关闭(或者故障)时数据也可被保存下来。也就是说,它是非易失(non-volatile)的。闪存的每字节代价比主存要低,但是比磁盘的每字节代价要高。
- 磁盘存储器(magnetic-disk storage)。用于长期在线数据存储的主要介质是磁盘驱动器,它也被称为磁盘驱动器(Hard Disk Drive,HDD)。磁盘和内存类似,都是非易失的。
- 光学存储器(optical storage)。数字视频磁盘(Digital Video Disk, DVD)是一种光存储介质,它通过使用激光光源进行数据的写入和读回。
- 磁盘存储器(tape storage)。磁盘存储器主要用于备份数据和归档数据。磁带比磁盘便宜,并可以安全地存储数据很多年。但是,对数据的访问要慢很多,因为磁带必须从磁带开头按顺序访问。磁带的存储器被称为顺序访问的存储器。相对而言,磁盘和SSD存储器被称为直接访问的存储器,因为可以从磁盘上的任何位置读取数据。
最快的存储介质(例如高速缓存和主存)称为主存储器(primary storage)。层次结构中主存储介质的下一层介质(例如闪存和磁盘)称为辅助存储器(secondary storage),或在线存储器(online storage)。层次结构中最底层的介质(如磁带和光盘)称为三级存储器(teriary storage),或离线存储器(offline storage)。
不同存储系统除了速度和成本不同之外,还存在存储易失性的问题。从主存向上的存储系统都是易失的,而从闪存向下的存储系统都是非易失的。为了安全保存,必须将数据写到非易失的存储器中。