引言
中国加入WTO之后,电信市场将逐步向外资开放,2006年开始外资将全面进入中国电信业,国际先进的服务模式和服务水平势必会对国内电信运营商提出更高的挑战。同时国内电信业的竞争格局也发生了深刻的变化:第三、四张移动牌照即将发放,竞争形势更为残酷;用户增量市场逐渐萎缩,作为我们运营商更需要的是如何提高自身服务质量,在存量市场中保持原有客户以及从竞争对手中获得客户。这些都意味着市场的竞争已逐步由技术驱动转向市场驱动和客户需求驱动,电信运营商必须从传统的经营模式向“以客户为中心,以市场为导向”的经营模式转变,也将从单纯的网络竞争、价格竞争转向网络、价格与服务、渠道、品牌相结合的全方位的竞争模式。
电信业正进入新一轮的高速发展时期,市场需求成为驱动力市场部门不断推出的各种各样促销计划和市场推广活动,以及用于刺激用户使用运营商的服务以扩大用户群的全新变化,使得计费账务系统必须实现非常复杂的资费、折扣的管理能力和资费批价的能力。随着电信业务的迅猛发展,电信运营商的计费账务系统的压力也越来越大,如何保证计费账务系统的实时性成为各运营商关心的重点。
BSS(Business Support System)业务支撑系统是每个电信运行商的核心业务支撑系统。近年来,随着支持用户量和话单量的成倍增长和实时业务的不断扩展,数据处理量大量增加,业务处理模式日趋复杂,必然导致主机CPU和I/O占用不断成线性增加。在此情况下,即使增加硬件支持,现有架构下系统的处理速度也很难得到质的提高。由此对业务产生了极其不利的影响:账务功能不灵活,系统对业务需求的支撑灵活度不够;难以在短时间内响应市场需求,效率与灵活度难以兼得;计费实时性得不到确切的保障,无法给用户提供实时准确的查询服务;账务批处理情况下可能造成与营业应用的性能相互影响。为此,现有的BSS系统进行框架结构上的全面改造已经是大势所趋。
内存数据库介绍
1.什么是内存数据库
众所周知,相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相对于从磁盘上访问数据能够极大地提高应用的性能。一方面由于从磁盘上读写数据时需要进行磁头的机械移动,直接从内存中读写数据则是电信号的移动,两者速度完全不在一个数量级上;另外一个容易被忽略的时间就是系统调用时间,因为每次对磁盘进行访问都需要进行一次操作系统的系统调用,而系统调用相对于普通的库函数调用要花费更多的时间。之所以要进行系统调用是因为处于用户态的应用程序不能直接对外部设备进行操作,而需要进入内核态,由操作系统调用相应设备的驱动程序完成对设备的操作。系统调用一般是通过中断来完成得,CPU只有在完成当前时钟周期的操作后在下一个时钟周期处理中断请求,并且在进行中断处理时需要进行上下文信息的保存与切换。所以一个应用如果频繁地进行系统调用也会极大地降低系统地性能。正是由于这两方面的原因,使得从磁盘上读写数据比从内存中读写数据的时间开销要大得多。
传统的数据库管理系统的所有数据都是放在磁盘上进行管理,需要频繁地访问磁盘来进行数据的操作。如上所述,由于磁盘数据访问本身的性能瓶颈,数据库管理系统的性能提升受到了很大的限制。然而,近年来,随着计算机技术的飞速发展,要解决这一问题已经有了现实可能:内存容量的不断提高,而价格不断下跌;计算机进入了64位时代,操作系统可以支持更大的地址空间。
正是基于技术的发展,以及市场上对更加快速和实时的数据库管理系统的需求,出现了内存数据库系统。内存数据库系统抛弃了磁盘数据管理的传统方式,基于全部数据都在内存中管理进行了新的体系结构的设计,并且在数据缓存、快速算法、并行操作方面也进行了相应的改进,所以数据处理速度一般比传统数据库的数据处理速度要快很多,一般都在10倍以上。
2.内存数据库和磁盘数据库的性能测试对比
以下比较基于内存数据库和磁盘数据库中完全相同的数据库表结构和应用,测试对比的数据库为Oracle 9i和ALTIBASE 3.5.7,在相同的测试环境下进行。
表1
INSERT:对oracle和ALTIBASE进行相同表的插入操作,查看插入的效率。
INSERT:对oracle和ALTIBASE进行相同表的插入操作,查看插入的效率。
3.内存数据库和利用程序吊用内存的对比
由于内存的高速特点,早在2000年以前就有通过进程吊用内存的方式来进行程序处理,内存数据库提供的是一个模块化结构,保持一个核心引擎相对不变,外围可变,提供标准扩展接口和灵活的二次开发能力和良好的流程优化能力:
1
2
下一页>>