18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > 内存数据库(数据库)

内存数据库(数据库)

时间:2022-11-04 22:30:01 | 来源:信息时代

时间:2022-11-04 22:30:01 来源:信息时代

    内存数据库 : 视为数据库的“工作版本”(部分或整个数据库)常驻内存的数据库。MMDB并不要求能容纳整个数据库的大内存,只要随时能存储当前处理的数据即可。不能存放在内存的数据及用于恢复的数据(备份、日志等)还是要用外存来存储,因此MMDB还是要进行I/O处理。但MMDB已不是传统磁盘数据库的概念,而且有关MMDB的技术、方法与策略与传统数据库都不一样。近年来,廉价、存储量大、性能高的半导体内存的发展和数据库的各种高新应用的需求,大大促进了MMDB技术的研究与发展。时至今日,人们已对它的体系结构,数据组织与存取方法、事务处理、并发控制、恢复技术等方面进行了大量的探讨与研究,取得了丰富的成果。
在存取方法方面,人们开发了许多新的、适合于内存数据库的数据存储组织与索引结构及存取策略,如“多目录hash”结构、T-树索引等。在事务及查询处理方面,深入研究了事务提交、记日志、查询优化(尤其是连接查询优化)等方法,开发了诸如“提前提交”等策略与技术。在并发控制方面,提出了二级层次封锁方案、乐观并发控制法、基于可扩展hashing技术使用的方法等。在内存数据库的恢复方面,集中研究了检验点操作及相应日志的记录、内存数据库装入与重装等策略,如Fuzzy(模糊)检验点策略、Blank/White(黑/白)策略、Copy-on-Update(变更拷贝)检验点策略等。在内存数据库所特有的内存数据装入方面,开发了如有序装入、带优先级的有序装入、考虑存取频率的装入,以及组合优先、频率等的所谓“聪明”装入等策略。
关于什么是内存数据库,曾有过多种不同的说法或定义,如“内存足够大以容纳所有数据,整个数据库在内存,对数据的存取无需I/O”; “内存不必足够大到容纳整个数据库,但数据被存取时,先已进入内存,数据库的存取在内存进行”; “数据库常驻磁盘,在一个事务执行前,它要求的所有数据都已先取到内存,提交时其变更反映到磁盘”等。
显然,MMDB的定义不应涉及内存的大小、存取数据所需I/O的多少、数据何时进入及怎样才留驻内存等这样一些具体的实现技术,而只包含数据库持久留驻内存(而不是磁盘)、事务(不是系统)的数据存取只涉及内存的意思。依此,给出MMDB的定义如下:
设有数据库系统DBS,DB为DBS中的数据库,DBM(t)为在时刻 t,DB 在内存的数据集,DBM(t)DB;TS为DBS中所有可能的事务集合,AT(t)为在时刻t处于活动状态的事务集,AT(t)TS;Dt(T)为事务T在时刻t所操作的数据集,Dt(t)DB。若在任一时刻t,均有:

∀TAT(t)(Dt(T)DBM(t))

成立,则称DBS为一个内存数据库系统,简写为MMDBS,DB为一个内存数据库,简记为MMDB。
在传统意义下,即使数据库的缓冲区足够大,以致可使整个数据库或其“工作版本”常驻内存,因而I/O极少,系统性能很好,也不能算MMDB,因为它是针对磁盘特性的,是在假定数据库常驻磁盘的情况下设计的,故不可能具有MMDB的各种功能特性和优点。例如,它的索引结构还是针对磁盘存取的,数据的存取仍然必须经过缓冲管理等。Tobin J. Lehman等人对其实现的常驻内存数据库系统Starburst进行了专门的性能测试研究,他们以一个子系统采用内存数据库管理,而另一子系统采用传统的磁盘数据库管理。为了准确和便于比较,后者的数据也完全置于内存缓冲区中,两者在事务执行期间均无内外存数据交换,但实验结果表明,前者的速度比后者快2.3~7.1倍。

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭