本文最后更新于137 天前,其中的信息可能已经过时。
内存数据库系统
概述
内存数据库是将内存作为主存储设备的数据库系统。内存数据库有时也称主存数据库,In-Memory DataBase等。
内存作为数据存储设备,磁盘是数据的永久存储及后备存储设备。
内存数据库的发展历程
内存数据库的雏形期
1969年IBM公司研制了世界上最早的层次数据库管理系统IMS。其中Fast Path部分是一个支持内存驻留数据的商业化数据库。
内存数据库的研究发展期
1984年—1990年提出了主存数据库的概念,并研发出了OBE、MM-DBMS、System M等内存数据库。
内存数据库的产品成长期
1994年以来随着硬件的发展,内存数据库快速发展,第一个商业化的主存数据库Polyhedra等产品纷纷出现。
内存数据库的特性
高吞吐率和低访问延迟
数据可直接被处理器访问,不需要磁盘数据库的缓冲。
并行处理能力
多通道存储器技术,理论上每增加一条通道,数据发送性能相较于单通道而言会增加一倍。目前为四通道技术内存访问机制。
硬件相关性
内存数据库的性能受到硬件特性的直接影响,主要是多核处理器、高性能存储器、高速连通。
内存数据库的关键技术
数据存储
行存储模型、列存储模型、混合模型等。
查询处理及优化
查询处理性能主要由内存访问性能和内存处理性能决定。
- 面向cache特性的查询处理与优化技术。
- 索引技术。
- 面向多核的查询处理技术。
- 面向众核的查询处理技术。
并发与恢复
并发控制
与磁盘数据库的并发控制基本一样。内存数据库事务执行时间较短,系统冲突较少,可以采用较大的封锁粒度、乐观加锁方式等并发控制方法。
恢复机制
内存的数据易丢失,所以数据和日志需要在磁盘等非易失性存储介质中。
小结
- 硬件的发展为内存数据库提供良好的平台。
- 内存OLTP数据库软件比较成熟,应用在了金融、电信等实时响应要求高的行业。
- 当前服务器支持TB级内存,在数据压缩的技术下,内存数据库能够支持数倍甚至数十倍于内存的大数据处理任务。