tmdb小型K/V存儲(chǔ)系統(tǒng)
Key-Value 數(shù)據(jù)庫是很早起比較典型的老式數(shù)據(jù)庫,從Unix早期的dbm,后來的GNU版本的gdbm,還有ndbm,
sdbm, cdb 以及功能強(qiáng)大的Berkeley DB (BDB)、還有這兩年風(fēng)頭很勁的qdbm,都是典型代表。實(shí)際上來說,
Key-Value 數(shù)據(jù)庫不是嚴(yán)格意義上的數(shù)據(jù)庫,只是一個(gè)簡(jiǎn)單快速的數(shù)據(jù)存儲(chǔ)功能。
tmdb 也是差不多這么一個(gè)性質(zhì)Key-Value小數(shù)據(jù)存儲(chǔ)(DBM),設(shè)定存儲(chǔ)數(shù)據(jù)目標(biāo)量級(jí)是10W級(jí),性能嘛也不是很好,算是一個(gè)小實(shí)驗(yàn)型產(chǎn)品,說說它的基本特點(diǎn):
* 存儲(chǔ)數(shù)據(jù)量級(jí)為10W,超過后性能下降的厲害
* 因?yàn)榇鎯?chǔ)特點(diǎn)決定,更適合存儲(chǔ)只讀數(shù)據(jù),當(dāng)然,它也是可以刪除和修改數(shù)據(jù)的,只是比較浪費(fèi)空間
* Key長度不能超過64個(gè)字節(jié),數(shù)據(jù)長度不能超過65536個(gè)字節(jié),適合存儲(chǔ)一些小數(shù)據(jù)
* 使用的不是行級(jí)鎖(Row-Level-Lock),而且是全局鎖,所以并發(fā)讀寫情況下,性能不是很好
* 索引文件和數(shù)據(jù)文件分離,備份情況下要全部備份
* 接口API基本是按照傳統(tǒng)的dbm的API來設(shè)定,整個(gè)庫文件較小,可直接靜態(tài)編譯進(jìn)程序
