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

Firebird数据库值得信赖吗?为什么我要在开发中选择它,第1张

 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做数据库的缓存表,一有客户端连接认证,直接查询发出即可,开发者更容易控制程序的运行稳定性,维护很少。

导致Firebird数据库损坏的主要原因

各种原因引起的非正常关机。例如: 突然停电、直接强行关闭电脑的电源、强行电脑复位。

错误的备份方法。如果Firebird(火鸟)正处于运行状态,直接复制数据库文件(tranib.fdb 或 tranib.gdb),将严重损坏您的数据库。需要提醒的是,即使应用软件(如:软杰通易)未运行,Firebird数据库也一直处于运行状态。

低级错误 *** 作。例如: 直接用记事本或其它软件直接打开数据库文件(tranib.gdb或tranib.fdb),试图查看其内容。请记住,tranib.gdb 或 tranib.fdb不能用记事本或其它普通的程序随意打开,即使打开了,也看不到任何有意义的内容。

数据库损坏,我的数据是否会全部丢失?

通常,一次数据库的损坏,一般发生在“行级”,一般就是1-2笔数据记录。但是严重的损坏,可能造成您的数据彻底丢失!

如何避免数据库损坏

请注意以下几点:

避免windows的非正常关机。

永远都不要试图对扩展名为gdb或fdb的数据库文件进行复制、打开、删除等 *** 作。

总是使用软件内置的“数据备份”功能进行备份。其它任何备份方法都是危险的,或者有潜在的威胁。

如果您的公司有局域网,不要将数据库文件所在的文件夹设为共享。因为设为共享后,您的同事可能会尝试打开、复制等 *** 作。

总之,数据库损坏是各行各业的很多用户都要遭遇的一个问题。对于一些重要部门,为了保证数据安全所作的投资,是十分惊人的天文数字。对于刚刚开始电脑化管理的中小企业来说,不可能在数据安全方面作太多的投资,但规范的 *** 作、质量过硬的硬件、良好的电脑使用习惯、专业的电脑知识,都十分有助于您的数据库处于良好的运行状态。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9814158.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存