Firebird数据库值得信赖吗?为什么我要在开发中选择...

还是中肯的说说自己的看法,都是自己多年的经验,让新手们参考一下
1、FireBird不是新手想象的那么弱,要想数据完整性好,速度快,连接数容量大,数据库大而不慢,还是FireBird是首选,用MSSQL是下策,至少目前MSSQL还达不到海量数据库标准,我的FireBird1.5和Interbase6完全胜任几百G的单数据库,应该是十万以上的连接数,当然,这个10万以上连接数是我服务器端程序来解决的,而十几个服务器端程序只用大概300多线程连数据库而已,客户的感觉一直就是查询真快。。。
根据经验,MSSQL的单数据库文件超过4G后,特别是含有各种索引,存储过程、触发器等复杂应用时,总会有些问题,做维护时很头痛的。当然,如果应用简单 ,记录数少,单记录尺寸大时,例如一般的信息管理数据,MSSQL还能支持大一点的数据库。若是记录数多,特别是读写密集型,如超市销售,省级销售网络,MSSQL基本玩完,硬撑是大幅增加维护成本,必须要上马FireBird了。
另外在大容量客户连接时,不管用什么数据库,千万不要用数据库原生的XML返回,XML是网络带宽杀手啊。最好用C的API返回记录集,再程序生成XML。

2、SQLite还是很鸡肋,真的不如全功能的嵌入式FireBird,网上的测试都是太简单,循环读写最简单的记录,我的测试是SQL语句只要稍复杂点,SQLite的速度可以说是慢,抛开复杂SQL语句不说,仅仅是循环插入BLOB字段,SQLite跟死了差不多,而Firebird依然是很欢快的。看来SQLite还是主要依赖操作系统,还不能叫做数据库。
我以前每次做单机程序都会先选择SQLite,因为它能全编译进C++Builder,但每写一段时间都被迫换回Firebird,次次如此啊,真痛苦。最大的感觉是SQLite为什么总是那么不争气呢。。。

3、单单是为了速度的话,还是建议用BerkeleyDB,我做网络管理程序和数据库管理程序时,主程序都是用BerkeleyDB保存各种数据,它也能全编译进C++Builder,速度没得说。而服务器端数据库的用户信息、单位信息、产品型号标准等等变动少的表,我也是用BerkeleyDB做数据库的缓存表,一有客户端连接认证,直接查询发出即可,开发者更容易控制程序的运行稳定性,维护很少。

转载于:https://www.cnblogs.com/lobtao/articles/2942725.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值