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

上传人:知****量 文档编号:48774960 上传时间:2022-10-07 格式:DOC 页数:6 大小:306KB
返回 下载 相关 举报
内存数据库与磁盘数据库比较.doc_第1页
第1页 / 共6页
内存数据库与磁盘数据库比较.doc_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《内存数据库与磁盘数据库比较.doc》由会员分享,可在线阅读,更多相关《内存数据库与磁盘数据库比较.doc(6页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1/6存数据库(存数据库(MMDBMMDB)与磁盘关系数据库()与磁盘关系数据库(DRDBDRDB)比较)比较一、传统数据库与实时数据库一、传统数据库与实时数据库传统数据库系统(Traditional Database System,TDBS)处理对永久数据的管理,实现事务对永久数据的存取,同时维护其完整性、一致性。所以传统的数据库具有 ACID(Atomicity,Consistency,Isolation,Durability)特征,即原子性、一致性、隔离性和永久性。传统数据库管理系统的典型代表是关系型数据库 RDBMS(Relational Database Management Sys

2、tem),我们平常用到的商用数据库管理系统如 Oracle,Informix,Sybase,SQL Server 等都是 RDBMS。RDBMS 已发展了很多年,其技术成熟度已广为人接受,其可靠性、可用性已被广泛验证,并在传统的商务和管理事务型的应用领域获得了极大成功在传统的商务和管理事务型的应用领域获得了极大成功,然而它们在现代的(非传统)工程和时间关键型应用时间关键型应用面前却显得软弱无力,其主要原因是其其主要原因是其数据存取服务的实时性很难得到保障数据存取服务的实时性很难得到保障,由此导致了实时数据库系统(Real-timeDataBase System)的产生和发展。实时数据库系统就是

3、其事务和数据都可以具有定时特性或显式的定时限制的数据库系统,系统的正确性不仅依赖于逻辑结果系统的正确性不仅依赖于逻辑结果,而且还依赖于逻辑结果产生而且还依赖于逻辑结果产生的时间的时间。近年来,实时数据库系统已发展成现代数据库系统研究的重要方向之一,在数据库研究领域受到极大关注。实时数据库系统通常简称为实时数据库(Real-time Database,RTDB)。二、磁盘数据库与存数据库二、磁盘数据库与存数据库正如前面所述,我们平常用到的商业关系数据库系统,其主要目标是保证数据存取的 ACID 特征,为各类商务与事务应用提供强大的数据管理与存取服务。但它们的数据服务的实时性很难得到保障,其根本原

4、因在于:传统数据库是磁盘数据库(Disk Resident Database,DRDB),即数据的主拷贝(Primary DB)在磁盘上,数据库管理系统为了向应用系统提供存取服务,将用户需要访问的数据装入主存中,即对数据的管理是“基于磁盘的缓存技术”。而我们知道,磁盘相对于主存来说是极其低速的存储介质,且磁盘存取速度还和2/6欲存取的数据的物理位置和当前磁头状态有关。另外,管理缓存(cache)或缓冲(buffer),无论是在操作系统(OS)层,还是数据库管理系统层,都需要付出较大的代价(时间和空间,尤以时间代价为甚)。因此,即使将磁盘数据全部缓存到主存,其管理代价仍较大,存取速度仍然无法满足

5、多数实时性应用系统的要求。为了实现实时数据库系统,人们自然想到了基于存的数据库,即存数据库(Main Memory Database,MMDB)。MMDB 与 DRDB 的根本区别在于,在 MMDB 中,数据库的全部或活动事务存取的数据放于存中数据库的全部或活动事务存取的数据放于存中(如图 1 所示),这样事务对盘的访问完全取消了。由于整个数据库放于存,数据库则不再作为大量存储文件看待而作为存中可寻址的大量数据,不同于 DRDB 中的缓存或缓冲区方式,它完全打破了传统磁盘数据库系统的设计宗旨,带来了其自身新的设计问题。如:传统磁盘数据库系统的数据组织、访问方法、查询处理算法的设计都针对减少磁盘

6、访问次数与有效利用盘存储空间,甚至牺牲 CPU 时间来减少 I/O 次数(如查询处理有大量中间数据),而存数据库的设计则主要考虑如何有效地利用 CPU 的时间和存空间。对传统磁盘数据库系统相当有效的数据组织、访问方法、查询处理算法,对于存数据库系统可能并不有效,相反,一些认为对传统磁盘数据库系统无用的办法,反而成为可行的。显然此方式可完全消除事务与盘打交道,且可避免与影响性能的缓冲区管理程序发生联系,故采用此方式使数据库系统性能极大提高。3/6MMDB vs DRDB-Architectural ComparisonBackupDBLogDiskPrimaryDBPage BufferPrim

7、aryDBLockServerthreadprocessWrite logat transactioncommitLock/unlock(Pointer swizzling)Load at server startupCheckpoint periodicallyLoad when accessedWrite back at transaction commitObject ManagerMMDBDRDB图 1 MMDB 与 DRDB 比较三、传统磁盘数据库与存数据库的特点比较三、传统磁盘数据库与存数据库的特点比较传统磁盘数据库的优点传统数据库的 ACID 机制成熟、可靠;提供强大的数据定义语

8、言(DDL)与数据操作语言(DML),提供 SQL 支持;提供一定的主动机制(如触发器,Trigger)和后台数据处理能力(如存储过程,Stored Procedure)。传统磁盘数据库的主要缺陷占用、消耗的系统资源较多;数据存取的速度慢;数据存取时间不一致且难以预测存数据库的突出优势存取速度快速、一致存取时间易于预测易于定制数据存取方式存数据库的主要特点为了降低 MMDB 的存开销,MMDB 往往简化了对复杂事务处理的支持,如4/6MMDB 一般不提供事务的 undo 机制,代之以“补偿事务”的方式来实现事务处理的原子性和一致性。由于 MMDB 中的数据库“主拷贝”在存中,因此,MMDB 对

9、系统的故障恢复提出了更高的要求,实现起来难度更大。通用性不强,由于不同的实时应用系统中的数据对象不同,对数据库的访问要求与访问方式不同。为了提高数据库的实时性,在设计 MMDB 时,需要根据应用特点,采取一些针对性的措施。因此,设计上往往有一定的特殊性。四、自主开发面向交易系统存数据库的必要性四、自主开发面向交易系统存数据库的必要性国外目前有一些存数据库系统的报道,如美国 AT&T 公司的 Data Blitz(前身为 Dali),国的 Xmas,美国的 Berkley DB,eXtreme DB 等。但这些系统往往只适合某些类特定的应用,且基本上都不商品化,而只是为了满足特定的应用需求而开发

10、的。而对于交易系统而言,其实时性要求较高,如果采用商业传统磁盘数据库系统,其实时性很难令人满意。而交易系统对数据的操作事务并不十分复杂,因此,开发面向交易系统的实时存数据库系统是必要、可行的。5/6五、传统磁盘数据库与存数据库并行工作的可能性五、传统磁盘数据库与存数据库并行工作的可能性传统磁盘数据库和存数据库可以并行工作,图 2 是我们为手机通讯行业提供的解决方案。其中,对实时性要求不是很高的数据可以放在 Oracle 中,这样可以减少存数据库处理的数据量,提高效率。图 2 传统磁盘数据库与存数据库并行工作六、六、OracleOracle 与与 MMDBMMDB 事务处理能力比较(仅供参考)事

11、务处理能力比较(仅供参考)表一是我们为通讯行业开发的存数据库与 Oracle 8.0 事务处理能力的比较:大话务量测试结果版本CPU 负荷平 均 事 务 处 理 能 力(TPS)Oracle8.060%150主处理机(主)主处理机(备)ORACLE数据库实时数据库ORACLE数据库实时数据库光纤镜像维护台近端受理台以太网基本模块通信接口机ModemModem远端受理台远端受理台虚拟HLR远端受理台虚拟HLRDDNX.25七号信令网MSC/VLRMSC/VLR6/6MMDB70%500表 1 Oracle 与 MMDB 事务处理能力比较测试数据采用信令仪产生。手机通讯时每个事务所操作的数据库记录数要比交易系统少。可以看出,MMDB 的简单事务处理能力简单事务处理能力远远高于 Oracle。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com