转贴:内存数据库

转贴《内存数据库》来自:http://hi.baidu.com/dba_james/blog/item/ec900fa967b70eb6ca130c05.html 

在此,向原作者表示敬意和感谢!

 

 

传统的数据库管理系统把所有数据都放在磁盘上进行管理,所以称做磁盘数据库(DRDB:Disk-Resident Database)。磁盘数据库需要频繁地访问磁盘来进行数据的操作,由于对磁盘读写数据的操作一方面要进行磁头的机械移动,另一方面受到系统调用(通常 通过CPU中断完成,受到CPU时钟周期的制约)时间的影响,当数据量很大,操作频繁且复杂时,就会暴露出很多问题。

近年来,内存容量不断提高,价格不断下跌,操作系统已经可以支持更大的地址空间(计算机进入了64位时代),同时对数据库系统实时响应能力要求日益提高,充分利用内存技术提升数据库性能成为一个热点。

在数据库技术中,目前主要有两种方法来使用大量的内存。一种是在传统的数据库中,增大缓冲池,将一个事务所涉及的数据都放在缓冲池中,组织成相应的数据 结构来进行查询和更新处理,也就是常说的共享内存技术,这种方法优化的主要目标是最小化磁盘访问。另一种就是内存数据库(MMDB:Main Memory Database,也叫主存数据库)技术,就是干脆重新设计一种数据库管理系统,对查询处理、并发控制与恢复的算法和数据结构进行重新设计,以更有效地使 用CPU周期和内存,这种技术近乎把整个数据库放进内存中,因而会产生一些根本性的变化。两种技术的区别如下表:



内存数据库系统带来的优越性能不仅仅在于对内存读写比对磁盘读写快上,更重要的是,从根本上抛弃了磁盘数据管理的许多传统方 式,基于全部数据都在内存中管理进行了新的体系结构的设计,并且在数据缓存、快速算法、并行操作方面也进行了相应的改进,从而使数据处理速度一般比传统数 据库的数据处理速度快很多,一般都在10倍以上,理想情况甚至可以达到1000倍。

而使用共享内存技术的实时系统和使用内存数据库相比有很多不足,由于优化的目标仍然集中在最小化磁盘访问上,很难满足完整的数据库管理的要求,设计的非标准化和软件的专用性造成可伸缩性、可用性和系统的效率都非常低,对于快速部署和简化维护都是不利的。


二、内存数据库在电信行业的应用

内存数据库早在上世纪60年代末就已提出,但得到迅速发展是从90年后期开始,最大的推动力还是来自电信行业越来越强烈的需求。

现代通信对计算机技术依赖性越来越强,在电信运营商的不断发展中,建立起各类信息系统,包括运营网络系统、综合营帐系统、计费系统、办公自动化系统、客 户服务系统、大客户管理系统、经营分析与决策系统等等,这些系统积累了海量的有价值的数据资料,通过对这些资料进行数据挖掘 、查询分析和联机分析,可以识别市场机会、制定市场策略,进一步改善客户关系。但是,这些数据资料过于庞大了,记录条数动辄以亿计,以中国移动为例,其全 国移动电话用户总数已经超过三亿,许多省公司的用户规模都超过千万,对于如此庞大的数据量,传统的基于磁盘的数据库管理系统越来越难以应付,于是,内存数 据库在电信领域出现了。

以对系统响应要求最高的计费为例,内存数据库对其重要性主要基于以下几种现状:

1、为应对激烈的市场竞争,运营商们不断推出各种各样促销计划和市场推广活动,新的资费套餐不断涌现,要求计费账务系统能够实现非常复杂的资费、折扣的管理能力和资费批价的能力。

2、层出不穷的新业务能够提供的已经不仅仅是语音,还有数据业务、增值业务,不同的业务还会进行打包优惠,进行各种组合。

3、计费本身也出现了按流量、按内容、按时长等不同计算方式。

4、在融合通信的思想大潮下,以往不同网络、终端的融合也带来BOSS自身融合的需要,融合帐务系统成为发展的主流。

5、现有计费系统存在漏洞,特别是预付费用户,存在恶意使用的可能,在线实时计费成为必然的选择。

6、用户对知情权的要求越来越高,能否及时提供明细帐单成为考察顾客满意度的重要指标。

市场竞争的加剧,3G日益成为现实,计费处理模型越来越复杂,仍旧在磁盘数据库上通过增强硬件性能满足不断苛刻的要求越来越困难。内存数据库因其平台开 放性,具备标准化接口,而且部署时不用对现有框架做大的调整等优点,在电信运营商的系统设计中被越来越多地提到,逐渐成为一种标准化的选择。

目前在国内,中国联通、中国电信、中国网通、中国移动等主要运营商的不同业务系统,以计费为重点,包括NGN、IN系统等,已经纷纷采用内存数据库技术。全球主要电信运营商的数据库管理系统正在经历由"磁盘数据库为主"向"内存数据库为主"的转变。

在提升数据库工作效率的同时,使用内存数据库可以直接节省硬件投资和系统维护成本。实际部署经验表明,为达到特定重载系统的实时性要求,使用内存数据库 比不使用所需要的CPU数量减少2/3以上,而只需要把内存数量少量提高,从而大大节约了经费资金投入,系统稳定性反而得到提高。

、主流内存数据库产品介绍


目前比较成熟的商用化的内存数据库管理系统主要有TimesTen和Altibase等。

TimesTen公司原是一家私有的实时数据管理软件供应商,于2005年被甲骨文(Oracle)公司收购。它实现了对Oracle数据库和Oracle合成中间件(Oracle®Fusion Middleware)的扩展,成为Oracle整体解决方案中的重要选件,由于Oracle在数据库领域的领导地位和极高的市场占有率,TimesTen也迅速得到广泛认可。

TimesTen分为三个产品,分别是:

Oracle TimesTen In- Memory Database(IMDB):一个内存优化的关系数据库。

Replication - TimesTen to TimesTen:可选,支持服务器间的实时数据复制,以获得高可用性和负载共享。

Cache connect to Oracle:可选,为位于应用程序层中的 Oracle 数据创建实时、可更新的高速缓存。

TimesTen在全球有超过1500家企业用户, 超过75 %来自电信行业,包括Amdocs、Nokia、Ericsson、Avaya、Cisco、Lucent、TMobile、Sprint等。

Altibase公司成立于1999年,总部设在韩国汉城(现首尔)。作为内存数据库软件技术的领导者,该公司致力于内存数据库软件和其应用的开发,提供高性能和高可用性的软件解决方案。Altibase内 存数据库管理系统(DBMS),是一个在事务优先的环境中提供高性能和高可用性的软件解决方案。Altibase提供极限性能、容错能力和事务管理的方便 性,在通信、银行、证券交易、实时应用和嵌入式系统领域,Altibase都极大地发挥了数据库服务系统的潜力,大大增强客户的数据服务器的处理能力。

Altibase内存DBMS为需要容错服务的系统提供实时数据库复制的功能。采用Altibase数据库复制的系统可以实现高性能、高可用性、数据库一致性、负载平衡和系统可伸缩性。

Altibase的主要客户主要包括SK Telecom、KTF、Samsung通信等,以及中国内地的移动、联通、电信、网通等公司。

Altibase产品已经走向混合型数据库,其现行版本Altibase4.0有一套自带的磁盘数据库,用户购买了Altibase的内存数据库,就无 须再购买磁盘数据库。它把热数据(经常被使用的、访问比较高的、经常要运算的数据)放在内存数据库里,而把历史性数据放在磁盘数据库里,可为用户进一步减 少投资。

四、小结

  随着应用的增多、竞争的加剧、需求的多样化,内存数据库技术也在不断发展,越来越多的 竞争者加入到这个领域里来,更重要的是,那些拥有海量数据资源的企业已经接受了这项技术。我们可以看到,内存数据库已经被越来越多地应用在电力、金融等领 域,但最迫切的需求还是来自对实时性要求最高、最复杂的电信行业,有分析认为,当前超过70%的内存数据库被部署在电信领域,至少在中国,这个比例短期内 不会改变。毕竟,3G就要到来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值