• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見(jiàn)諒!~
            隨筆 - 1469, 文章 - 0, 評(píng)論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            BerkeleyDB 數(shù)據(jù)丟失,及使用感受

            這兩天項(xiàng)目中用到了BerkeleyDB,我們使用的是JAVA版,這是一個(gè)純JAVA寫(xiě)的嵌入式數(shù)據(jù)庫(kù),提供了很高的數(shù)據(jù)訪問(wèn)和查詢(xún)速度,在并發(fā)的情況下表現(xiàn)也非常好,測(cè)試中在數(shù)據(jù)量比較小的時(shí)候每插一萬(wàn)條數(shù)據(jù)只需要2秒,隨著數(shù)據(jù)量增大到百萬(wàn)級(jí)以后這個(gè)數(shù)字逐漸穩(wěn)定在5-10秒左右,這個(gè)速度甚至超過(guò)了MYSQL內(nèi)存表的速度,用JAVA能寫(xiě)出這么高性能的數(shù)據(jù)庫(kù)確實(shí)很讓人震撼,但是稍微考慮一下之所以可以這么快應(yīng)該有以下原因:


            1
            :使用JDBC連接MYSQLTCP傳輸?shù)拈_(kāi)銷(xiāo),而BerkeleyDB因?yàn)槭乔度胧綌?shù)據(jù)庫(kù),所以沒(méi)有這層開(kāi)銷(xiāo)。

            2:在MYSQL中插入數(shù)據(jù)是通過(guò)SQL語(yǔ)句,BerkeleyDB為直接api調(diào)用,少了一層SQL解析的開(kāi)銷(xiāo)。

            3MYSQL是一個(gè)可靠的數(shù)據(jù)庫(kù),每一條數(shù)據(jù)都要求準(zhǔn)確的寫(xiě)入表中,每一次查詢(xún)都需要查出準(zhǔn)確的結(jié)果,BerkeleyDB是一個(gè)不可靠的數(shù)據(jù)庫(kù),對(duì)響應(yīng)速度和執(zhí)行速度要求更高,對(duì)數(shù)據(jù)的準(zhǔn)確性要求不是那么高,這樣就可以為了速度犧牲準(zhǔn)確性,提以供更高的性能。(BerkeleyDB也可以設(shè)置一些參數(shù)達(dá)到準(zhǔn)確性,這樣性能肯定不會(huì)這么高了)


            在實(shí)際項(xiàng)目的使用中,用起來(lái)還是比較簡(jiǎn)單,BerkeleyDB的設(shè)計(jì)是基于鍵值對(duì)的模式,用起來(lái)不用寫(xiě)SQL語(yǔ)句,剛開(kāi)始可能會(huì)不太習(xí)慣。每個(gè)實(shí)體里面可以設(shè)置一個(gè)主鍵和多個(gè)次鍵,看著文檔基本上用是沒(méi)什么問(wèn)題的,注意幾點(diǎn)就可以了。


            1.讀數(shù)據(jù)的時(shí)候,用完cursor一定要關(guān)掉,不然下次插入會(huì)報(bào)死鎖的錯(cuò)誤

            2.程序退出時(shí),如果不想數(shù)據(jù)庫(kù)里數(shù)據(jù)丟失的話,一定要調(diào)用close方法,這時(shí)它才會(huì)自動(dòng)把數(shù)據(jù)寫(xiě)到硬盤(pán)里,如果你直接kill的話是肯定會(huì)丟數(shù)據(jù)的。


            3.想查數(shù)據(jù)庫(kù)里面有那些數(shù)據(jù),因?yàn)闆](méi)有mysql那樣的客戶端,是比較麻煩的,只有通過(guò)應(yīng)用自己才會(huì)知道,如果需要在外部查的話,建議自己在應(yīng)用進(jìn)程中實(shí)現(xiàn)一個(gè)whois接口。

            4.絕對(duì)不能用在對(duì)數(shù)據(jù)準(zhǔn)確性要求高的地方,出了問(wèn)題哭都沒(méi)地方哭去,最好就是用來(lái)做緩存,對(duì)插入和更新性能要求很高,數(shù)據(jù)丟了也無(wú)所謂的場(chǎng)合。

             

            posted on 2012-06-01 16:08 肥仔 閱讀(1416) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 數(shù)據(jù)庫(kù)

            久久天天躁狠狠躁夜夜avapp| 久久99国产一区二区三区| 久久精品国产亚洲AV香蕉| 久久综合噜噜激激的五月天| 91精品国产乱码久久久久久| 久久www免费人成精品香蕉| 午夜精品久久久久9999高清| 久久午夜无码鲁丝片| 久久久91人妻无码精品蜜桃HD| 97久久国产综合精品女不卡| 青草影院天堂男人久久| 亚洲人成精品久久久久| 久久综合久久综合九色| 久久天天躁狠狠躁夜夜躁2014| 九九久久99综合一区二区| 久久亚洲AV无码精品色午夜 | 综合久久久久久中文字幕亚洲国产国产综合一区首| 久久久久女教师免费一区| 久久精品黄AA片一区二区三区| 久久久久一本毛久久久| 久久国产精品久久久| 久久天天躁夜夜躁狠狠躁2022| 成人亚洲欧美久久久久 | 精品无码久久久久国产动漫3d| 亚洲欧美日韩精品久久| 久久综合88熟人妻| 久久亚洲国产最新网站| 色老头网站久久网| 久久中文字幕视频、最近更新| 久久国产精品-久久精品| 久久av无码专区亚洲av桃花岛| 亚洲人成电影网站久久| 久久艹国产| 久久久久婷婷| 亚洲精品乱码久久久久久蜜桃| 久久久精品日本一区二区三区| 国产精品成人久久久久久久| 91久久精品视频| 香蕉99久久国产综合精品宅男自| 久久强奷乱码老熟女网站| 狠狠人妻久久久久久综合蜜桃|