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