[转]内存数据库的几个典型应用场景
近些年内存数据库(IMDB)技术发展迅猛。除了与生俱来的高性能之外,IMDB本身越来越向着功能完整的独立DB的方向发展。
下面简单描述当前比较常见的几个IMDB应用场景,希望对有志于IMDB技术的同僚以启发——
1.电信计费
IMDB最大规模的应用集中在电信领域,尤其以计费系统为主。当然,近些年陆续开始向新的电信业务领域拓展,例如核心网、CRM、精确营销等。下图是IMDB在电信计费中的架构图,供大家参考。
2.证券类在线交易
当前的证券交易基本都是利用J2EE来缓存所有的交易对象,这势必导致中间层大量的系统开销,同时增加系统和人力成本。利用IMDB,把交易按逻辑分类,并缓存到应用服务器中,可以极大的提高系统性能和对象访问的统一性。
3.区域性数据采集中心
对于跨地域的大型营业系统而言,区域性数据中心的存在大大提高了数据的准确、快速和安全等特性。典型的应用场景包括:高速公路收费系统、餐饮连锁计费/营收系统、代理售票系统等。典型的系统架构如下:
这类系统最大的特点是专用机负载较低,可以采用较为廉价的硬件配置,但是区域性数据中心需要较高的硬件配置从而应对有可能发生的大并发任务(如餐厅每天晚10点进行统一盘点,代理售票系统月末提交当月报表等)。考虑到大并发不是每时每刻都会发生,用内存数据库+轻量级数据库服务器的配置替代高性能数据库服务器作为区域性数据库服务器,可以用最低的成本管理并维护大并发时的热数据。
在实际部署的时候,内存数据库可以同时部署在终端专用机和区域性数据库服务器;专用机可以采用同步/异步的方式与区域性数据库服务器进行同步;最终,总公司的数据中心从各个区域数据中心的内存数据库中直接读取汇总数据并进行相应处理。
4.BI系统
BI系统是由数据仓库+大量的OLAP应用所构成。传统BI系统的瓶颈往往来自数据库服务器,这也正是IBM,Oracle等公司积极推出数据库一体机的初衷。但反观国内的BI市场,很多客户匆匆上马数据仓库和BI项目,但早期却没有意识到随着数据规模的扩大,未来可能出现的严重系统瓶颈。这些瓶颈直接影响报表生成的效率。数据库一体机看似能够解决客户问题,但是随之而来也是高昂的设备价格,并直接影响客户IT部门在整个公司的公信力。在不追加硬件投资的前提下,使用内存数据库,并对现有的系统进行一定量的改造,可以在很大程度上解决这一问题:
在现有系统的基础上,将内存数据库部署在应用/BI系统的服务器上,或者在资金充足的情况下额外配置一层数据加速层。值得注意的是,这样的部署方式需要对应用/BI系统的工作流程非常熟悉,并按照特定的逻辑规则人为划分数据的路由方式,从而达到专用数据专门集中,让每个应用系统在自己的相应的硬件资源下专有的运行各自的OLAP。如果能够顺利的进行业务梳理并部署,这样的架构不但能解决现有系统瓶颈,而且能够清晰的梳理业务流程,为将来系统的扩容提供方便。