• <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ù)

            中文字幕无码久久久| 国产精品久久久久9999高清| 久久棈精品久久久久久噜噜| 亚洲国产精品一区二区久久hs| 久久99热这里只有精品66| 99久久这里只精品国产免费| 久久精品国产亚洲AV忘忧草18| 亚洲国产精品久久久久网站| 日本高清无卡码一区二区久久| 日产精品久久久一区二区| 伊人久久免费视频| 久久只有这里有精品4| 亚洲国产精品婷婷久久| 亚洲精品国精品久久99热| 成人妇女免费播放久久久| 久久久亚洲欧洲日产国码是AV| 国产精品免费看久久久| 久久成人小视频| 狠狠精品久久久无码中文字幕| 99久久久精品免费观看国产| 久久精品国产一区二区三区| 人人狠狠综合久久亚洲婷婷| 国产国产成人精品久久| 国产欧美久久久精品影院| 精品水蜜桃久久久久久久| 久久婷婷国产综合精品| 久久中文字幕精品| 久久久久国产精品嫩草影院| 国产精品九九九久久九九| yy6080久久| 欧美伊人久久大香线蕉综合| 欧美国产成人久久精品| 亚洲中文字幕无码久久2020| 99久久精品免费看国产一区二区三区 | 久久久国产99久久国产一| 日本精品久久久久中文字幕8| 一本一本久久a久久综合精品蜜桃 一本一道久久综合狠狠老 | 久久综合亚洲色一区二区三区| 国产巨作麻豆欧美亚洲综合久久| 国产亚州精品女人久久久久久| 国产精品免费福利久久|