eygle.com   eygle.com
eygle.com eygle
eygle.com  
 
Digest Net: August 2011 Archives

August 2011 Archives

内存数据库FastDB和SQLite性能测评

原文链接

一、引言

在很多项目中,经常会碰到这样的需求,需要对大量数据进行快速存储、查询、删除等操作,特别是在一些针对诸如运营商、银行等大型企业的应用中,这些 需求尤为常见。比如智能网中的大量在线并发用户的数据管理、软交换平台中的在线信息交互、宽带/3G等数据网中在线用户行为记录等等。

针对这些情形,我们通常需要选择高性能的数据库产品,而且通常需要使用内存数据库,顾名思义,内存数据库指的是所有的数据访问控制都在内存中进行, 这是与磁盘数据库相对而言的,磁盘数据库虽然也有一定的缓存机制,但都不能避免从外设到内存的交换,而这种交换过程对性能的损耗是致命的,目前主流数据库 如SYBASE、ORACLE等都有这种缓存机制,如将特定表绑定一定的缓存,从而在一定程度上改善数据吞吐性能。而内存数据库几乎可以完全避免这种内外 存数据交换的发生,特别是在物理内存足够大的设备上尤其如此,通常这种数据库也被称为主存数据库(Main Memory DataBase, MMDB)。

二、主存数据库比较

目前比较知名的商业内存数据库有,ORACLE的TimesTen,MCObject的eXtremeDB、韩国的Altibase等,这些数据库 产品性能都非常的强劲,当然价格也相当的强劲,在非特大型系统建设时,通常让人望而却步。于是退而求其次,免费开源内存数据库给了我们第二种选择。 Berkeley DB,SQLite,MonetDB,FastDB,H2等,不一而足。本文主要针对SQLite和FastDB进行性能测评。

2.1 测试准备

首先,笔者通过对评测数据的调研发现,通常认为,BDB性能不如SQLite,参考"免费的实时数据库,我们该选谁?---BerkeleyDB与SQLite评测对比 "

上文中还提到,"据说FastDB很快,但数据库大小不能大于物理内存...",于是笔者对FastDB产生了兴趣,从FastDB作者的网站看到关于 这点的介绍,并不是说数据库大小不能大于物理内存,而是说数据库大小超过物理内存时,性能与不超过时相比会有一定的降低(降低幅度未作说明,估计是不推荐 使用)。幸运地是,目前物理内存实在说不上贵,服务器内存在10G之上都是很正常的事情了。因此可以根据具体项目数据量需求来确定是否能使用 FastDB,比如并不是所有的表都需要放在内存中。下面即将描述的测试表明,一旦使用FastDB,其性能在免费MMDB产品中绝对可执牛耳。由于已经 有人对BDB和SQLite进行过比较,因此下面仅将FastDB与其中的优胜者SQLite进行性能测评。SQLite采用内存模式,即打开数据库使使 用":memory:"参数,此时SQLite不产生数据库文件,所有操作都在内存中,这一点需要特殊说明,与之不同的是,FastDB有两种模式,磁盘 模式和无盘模式,前者会产生磁盘文件,后者则与SQLite的内存模式相同。

网址

检测场名称
地址
咨询电话
投诉电话
京朝分所
北苑机动车检测中心 (朝阳区来广营西路90号) 64902505 64901553
盛华机动车检测场 (朝阳区王四营乡王四营村) 67386701 67369645
中美机动车检测场 (朝阳区西大望路34号,劲松桥东第二路口左转) 67713208 67713208
朝阳机动车检测场 (朝阳区安外安苑路18号) 64915851 64915604
汽修二场机动车检测场 (朝阳区李家坟5号) 85755195 85757935
朝政机动车检测场 (朝阳区金盏乡金盏大街) 84313399 84313355
通州机动车检测场 (通州区永顺镇西路园小区西侧) 69542740 69555421
东方四环汽车检测 (朝阳区十八里店乡吕家营村) 87693216  
出租检测场 (朝阳区大屯路238号) 64899921 64899668
联合机动车检测场 (朝阳区将台西路号) 64315556 64315556
京海分所
学院路机动车检测场 海淀区学院路马家沟11号 62921355 62921351
市直机动车检测场 海淀区昆明湖路21号 88451251 88451909
万泉河机动车检测场 海淀区六郎庄园子里1号 62631272 62631274
龙涛机动车检测场 海淀区阜石路59号 68163736 68163740
门头沟机动车检测场 门头沟区滨河南路3号 69801695 69804717
润达机动车检测场 海淀区田村路10号 68212218 68176531
首汽集团技术服务检测维修站 海淀区紫竹院南路5号 68478366 68715872
京丰分所
岳各庄机动车检测场 丰台区丰五路45号 63814165 63837200
国管局机动车检测场 丰台西五里店178号 83667984 83667984
石景山机动车检测场 石景山区鲁谷路61号 68664799 68664797
老山摩托车检测场 石景山区老山 68863377-2081 68826418
京安机动车检测场 丰台区小屯路甲113号 68638797 68634235
外运机动车检测场 丰台区五里店260号 63811802 63864754
清洁二厂机动车检测场 丰台区草桥赵村店420号 63554477-331  
邮政检测场 丰台区永外四路通17号 87203885 67223885
公交一检测场 石景山区鲁谷路55号 68668167 68668167
公交二检测场 海淀区花园村 68414732 68723506
京南分所
7421 机动车检测场 丰台区东大街8号 63895260 63846644
天龙机动车检测场 大兴县旧宫二队 87605277 87602282
良乡机动车检测场 房山区良乡镇大南关 69351473 69354724
燕山机动车检测场 燕山区东风街双泉路1号 69341970 69341970
大兴机动车检测场 大兴县黄村镇兴政街东口 69242520 69242529
兴交运摩托车检测中心 大兴县黄村镇刘村北 61269100 61269100
京北分所
京北机动车检测场 延庆县京张路口北侧路东 69142797 69142797
9416 机动车检测场 昌平区南口镇马坊村 69773415 69770745
北方机动车检测场 昌平区马池口乡 60772144 60772540
中直机动车检测场 昌平区东小口镇中滩村393号 84811613 84811613
京顺分所
京顺机动车检测场 顺义县南法信乡政府西 69471844 69471463
平谷机动车检测场 平谷县城关镇新平西路2号 69961239 69968048
怀柔机动车检测场 怀柔县庙城 60692734 60692656
密云机动车检测场 密云县水库路白石岭村 69045607 69021929
7453 机动车检测场 东城区安德里北街25号 62016153 62387173
凯超农用摩托车检测场 平谷兴谷经济开发区3号区(平谷电视厂北侧) 69981255 89985057

Pages

Powered by Movable Type 6.3.2

About this Archive

This page is an archive of entries from August 2011 listed from newest to oldest.

July 2011 is the previous archive.

September 2011 is the next archive.

回到 首页 查看最近文章或者查看所有归档文章.