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