項目現在已經將fastdb使用上了,用起來還是很方便簡單的,但是在使用的過程當中發現了很多問題:
比如:
1、數據庫對于內存的消耗實在是太大,尤其是數據量到達千萬級時尤為明顯。
2、數據量上千萬級別以后,性能遠地于預期,可能是服務器內存不夠的緣故。事務過大后,提交時間很長。
3、在并發訪問模式上,同一進程的線程只能用同一模式,只read能夠并發。不能夠write并發(多個write線程)。進程間也是如此,也就是說多個write并發的話會出現相互阻塞,連write進程讀操作都阻塞。所以適用于那些并發讀操作,或者只要一個并發寫操作的模式。(畢竟只有3萬來行的程序,沒有提供記錄鎖甚至頁級鎖是很正常的)
4、程序出現異常,可以通過清理信號量來進行恢復數據文件,但是有時候數據文件沒法恢復造成數據損失。幸虧有在線備份機制和多機器備份功能。
。。。。。。
雖然如此,但是在適量的數據規模上,其性能是很彪悍的,加上在使用上特別方便。所以如果對于百萬級數據規模的項目,需要簡單并發和大量插入、查找、計算時,fastdb是個很不錯的選擇。畢竟代碼很精煉,適當的時候自己可以根據需要進行修改源碼。