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做數據庫的緩存表,一有客戶端連接認證,直接查詢發出即可,開發者更容易控制程序的運行穩定性,維護很少。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM