嵌入式數(shù)據(jù)庫(kù)的海量存儲(chǔ)技術(shù)研究
initenv(const conf_st *conf)//初始化數(shù)據(jù)庫(kù)環(huán)境
initalldb (const conf_st *conf ,int type) //初始化所有數(shù)據(jù)庫(kù)
{
init_primary_db(conf,last-db,LAST,type);//初始化前一時(shí)間點(diǎn)數(shù)據(jù)庫(kù)
init_primary_db(conf,(current-db),CURRENT,type); //初始化當(dāng)前時(shí)間點(diǎn)數(shù)據(jù)庫(kù)
INIT_SEC_DB(srcip,SRCIP,type); //該函數(shù)實(shí)際上是定義為初始化附加數(shù)據(jù)庫(kù)的一個(gè)宏
}
int get_item_srcip(DB *sdbp,const DBT *pkey,const DBT *pdata,DBT *skey)
//附加數(shù)據(jù)庫(kù)到主數(shù)據(jù)庫(kù)設(shè)定key 的關(guān)聯(lián)函數(shù)
int init_sub_db(const conf_st *conf, DB**primary_db, DB **sub_db, int sub_db_type, inttime_db_type, int type)//初始化附加數(shù)據(jù)庫(kù)
{
ret =(*primary)->associate(*primary_db,NULL,*sub_db,get_item_srcip,
DB_CREATE); //調(diào)用Berkeley DB 系統(tǒng)函數(shù)將附加數(shù)據(jù)關(guān)聯(lián)到主數(shù)據(jù)庫(kù)并設(shè)定附加數(shù)據(jù)庫(kù)中的key
}
4 小結(jié):
本文作者創(chuàng)新點(diǎn)是在項(xiàng)目的開(kāi)發(fā)和實(shí)踐過(guò)程中,我們分別以不同數(shù)量級(jí)的記錄寫入關(guān)系型數(shù)據(jù)庫(kù)Mysql 和嵌入試數(shù)據(jù)庫(kù)BerkeleyDB,比較發(fā)現(xiàn)引入嵌入試數(shù)據(jù)庫(kù)Berkeley DB 大大提高了系統(tǒng)的存儲(chǔ)速度,使存取時(shí)間成倍減少。由此看來(lái),嵌入式數(shù)據(jù)庫(kù)Berkeley DB 在處理海量數(shù)據(jù)存儲(chǔ)上比關(guān)系型數(shù)據(jù)庫(kù)贏得了時(shí)間和速度上的優(yōu)勢(shì),但網(wǎng)絡(luò)管理性能系統(tǒng)中采集到的信息龐大,如何將Berkeley DB 數(shù)據(jù)庫(kù)中存儲(chǔ)的海量數(shù)據(jù)進(jìn)行壓縮仍然是值得探討的問(wèn)題。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
評(píng)論