内存数据库与磁盘数据库比较

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

内存数据库(MMDB)与磁盘关系数据库(DRDB)比较一、传统数据库与实时数据库

传统数据库系统(Traditional Database System,TDBS)处理对永久数据的管理,实现事务对永久数据的存取,同时维护其完整性、一致性。所以传统的数据库具有ACID(Atomicity,Consistency,Isolation,Durability)特征,即原子性、一致性、隔离性和永久性。传统数据库管理系统的典型代表是关系型数据库RDBMS(Relational Database Management System),我们平常用到的商用数据库管理系统如Oracle, Informix, Sybase, SQL Server等都是RDBMS。RDBMS已发展了很多年,其技术成熟度已广为人接受,其可靠性、可用性已被广泛验证,并在传统的商务和管理事务型的应用领域获得了极大成功,然而它们在现代的(非传统)工程和时间关键型应用面前却显得软弱无力,其主要原因是其数据存取服务的实时性很难得到保障,由此导致了实时数据库系统(Real-time DataBase System)的产生和发展。

实时数据库系统就是其事务和数据都可以具有定时特性或显式的定时限制的数据库系统,系统的正确性不仅依赖于逻辑结果,而且还依赖于逻辑结果产生的时间。近年来,实时数据库系统已发展成现代数据库系统研究的重要方向之一,在数据库研究领域受到极大关注。实时数据库系统通常简称为实时数据库(Real-time Database,RTDB)。

二、磁盘数据库与内存数据库

正如前面所述,我们平常用到的商业关系数据库系统,其主要目标是保证数据存取的ACID特征,为各类商务及事务应用提供强大的数据管理与存取服务。但它们的数据服务的实时性很难得到保障,其根本原因在于:

传统数据库是磁盘数据库(Disk Resident Database,DRDB),即数据的主拷贝(Primary DB)在磁盘上,数据库管理系统为了向应用系统提供存取服务,将用户需要访问的数据装入主存中,即对数据的管理是“基于磁盘的缓存技术”。而我们知道,磁盘相对于主存来说是极其低速的存储介质,且磁盘存取速度还和

欲存取的数据的物理位置和当前磁头状态有关。另外,管理缓存(cache)或缓冲(buffer),无论是在操作系统(OS)层,还是数据库管理系统层,都需要付出较大的代价(时间和空间,尤以时间代价为甚)。因此,即使将磁盘数据全部缓存到主存,其管理代价仍较大,存取速度仍然无法满足多数实时性应用系统的要求。

为了实现实时数据库系统,人们自然想到了基于内存的数据库,即内存数据库(Main Memory Database,MMDB)。MMDB与DRDB的根本区别在于,在MMDB中,数据库的全部或活动事务存取的数据放于内存中(如图1所示),这样事务对盘的访问完全取消了。由于整个数据库放于内存,数据库则不再作为大量存储文件看待而作为内存中可寻址的大量数据,不同于DRDB中的缓存或缓冲区方式,它完全打破了传统磁盘数据库系统的设计宗旨,带来了其自身新的设计问题。如:传统磁盘数据库系统的数据组织、访问方法、查询处理算法的设计都针对减少磁盘访问次数与有效利用盘存储空间,甚至牺牲CPU时间来减少I/O 次数(如查询处理有大量中间数据),而内存数据库的设计则主要考虑如何有效地利用CPU的时间和内存空间。对传统磁盘数据库系统相当有效的数据组织、访问方法、查询处理算法,对于内存数据库系统可能并不有效,相反,一些认为对传统磁盘数据库系统无用的办法,反而成为可行的。显然此方式可完全消除事务与盘打交道,且可避免与影响性能的缓冲区管理程序发生联系,故采用此方式使数据库系统性能极大提高。

相关文档
最新文档