嵌入式数据库的海量存储技术研究
initenv(const conf_st *conf)//初始化数据库环境
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 的关联函数
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 系统函数将附加数据关联到主数据库并设定附加数据库中的key
}
4 小结:
本文作者创新点是在项目的开发和实践过程中,我们分别以不同数量级的记录写入关系型数据库Mysql 和嵌入试数据库BerkeleyDB,比较发现引入嵌入试数据库Berkeley DB 大大提高了系统的存储速度,使存取时间成倍减少。由此看来,嵌入式数据库Berkeley DB 在处理海量数据存储上比关系型数据库赢得了时间和速度上的优势,但网络管理性能系统中采集到的信息庞大,如何将Berkeley DB 数据库中存储的海量数据进行压缩仍然是值得探讨的问题。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)路由器相关文章:路由器工作原理
路由器相关文章:路由器工作原理
评论