工做了,忙了,上一次写博客仍是毕业前找工做的那郁闷劲儿,虽然工做不像别人那么光鲜,却到底工做了html
时间一久,发现博客里好多人批评我,不改了,错的对的,都是走过的路,不必去抹掉脚印linux
言归正传,最近在用berkeley DB,谈谈对他的见闻sql
开发板上有数据须要记录,数据量也不特别大,数据类型也不特别多,查询条件也就三种,原本计划用文本文件,可是想一想也麻烦,须要在文本文件中做须要的位置标记,还不能出点任何差错,麻烦数据库
干脆用数据库,还能够学点新东西oracle
网上说:小型数据库有 berkeley DB和sqlite两种,可是BDB不支持关系型数据库,sqlite支持关系型数据库,个人数据库简单,没有错综复杂的关系,故选用BDB,后来证实,这个举措也不大英明ide
BDB听说:免费,小巧,嵌入式,速度快函数
我研究不深,不敢乱讲,不过我发现BDB的版本确实是个大问题,早期的没有API的版本,编译出来的库文件,不过90k,恰恰没有API支持;到5.1版本吧,害死人,1.5M,这还能叫小巧?不知道还能有什么配置能使得他在编译时小上一大截.net
BDB的下载:http://www.oracle.com/technetwork/database/berkeleydb/downloads/index-082944.htmlunix
BDB的编译:http://blog.chinaunix.net/u1/41638/showart_493486.htmlsqlite
这两步走过了,就是API,中文资料很少,只得慢慢看,而后本身写,再次不赘述
这里记录点版本问题:
首先,很老的版本确实好,可是没有API,本模块只安排四天,时间有限,没试过,可是我以为很好,能够一用
第二,3.0.55版本编译出来大概500多k,可是我按照他的docs里面的API说明写程序,结果在dbenv和db的open中无论我怎么写,老是有segmentation fault,搞得我够呛,那位仁兄若是能搞定,麻烦给份代码
第三,没办法,我只好向4.0.18版本进发,这回很好,dbenv和db的open函数的参量比3.0版本的要少,输入进去,也就对了;但别高兴得太早,我按照 《BDB编译》的说话,用arm-linux-gcc编译通不过,郁闷死;向4.1.25进发,这回行了,编译能经过了,但受环境影响,还没有来得及在开发板上实验,希望能行
第四,4.6.18版本已经超过1.5M,天啦,对于我想追求小巧来讲,简直就是灾难
无论了,项目时间4天,延期完成任务要挨骂的,将就着点吧