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

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

            Berkeley DB,用事務,可以避免數(shù)據(jù)丟失

            實現(xiàn)一個開源KV數(shù)據(jù)庫的想法來源于對目前項目中所使用的K-V數(shù)據(jù)庫使用情況的不滿意。

            先介紹一下我們的目前項目,作為本文的背景:

            較為底層的分布式運行平臺,使用C/C++實現(xiàn)的Actor模型(異步消息傳遞系統(tǒng))

            數(shù)據(jù)schema簡單靈活,使用key-value能夠很好表示。

            數(shù)據(jù)庫有大量的讀寫請求,有事務需求,數(shù)據(jù)丟失容忍度很低。

            當前,從眾多的KVNOSQL存儲產(chǎn)品中,我們使用了Berkeley DB作為底層的存儲引擎。

             

            為什么選擇BDB呢?

            1.與傳統(tǒng)的RDBMS相比,簡單K-V存儲的Berkeley DB(再加入嵌入式直接庫鏈接的特性)有著優(yōu)越的性能,容易滿足我們大量讀寫(尤其是大量寫)的需求。

            2.作為一個嵌入式的K-V數(shù)據(jù)庫,Berkeley DB歷史悠久(目前由Oracle所有),穩(wěn)定且久經(jīng)考驗,文檔豐富,輔助工具全面。這是我們之所以在眾多的開源K-V(Nosql)數(shù)據(jù)庫中選擇BDB的首要原因:靠譜

            3.第三個選擇BDB的原因是事務支持:作為為數(shù)不多的能夠提供ACID事務支持的K-V數(shù)據(jù)庫,BDB對事務支持提供了豐富的支持:從不同的隔離級別、不同的持久化保證以及分布式事務2PCprepare模型等,可配置程度很高。

             

            BDB哪些方面不能達到我們的需求?

            1.仍然是性能。作為K-V數(shù)據(jù)庫,BDB的性能依然達不到我們的目標:由于有足夠大的內(nèi)存作為緩存,讀操作的性能基本沒問題,但寫操作(尤其是大量應用的事務寫)的性能堪憂。

            使用Auto-commit(每條寫作為一個獨立的事務),一條記錄的寫延時接近于1~10ms

            顯示開啟事務后,寫操作有了極大改善:10~100us(因為不需要即時sync到硬盤),但事務提交操作依然極為耗時。

            有人可能會說,你可以調(diào)節(jié)BDB事務的持久化保證的程度,比如在提交時設置:

            DB_TXN_WRITE_NO_SYNC,在提交時只寫log到硬盤,不sync(只有OS Crash才會丟數(shù)據(jù))

            或者更快一些,使用DB_TXN_NOSYNC,連同步調(diào)syscall write的開銷都省下來(但App crash可能會丟數(shù)據(jù))

             

            posted on 2012-06-01 17:18 肥仔 閱讀(1785) 評論(-1)  編輯 收藏 引用 所屬分類: 數(shù)據(jù)庫

            99热成人精品热久久669| 色婷婷噜噜久久国产精品12p| 99久久精品国产一区二区| 国内精品久久久久影院免费| 精品乱码久久久久久夜夜嗨| 午夜福利91久久福利| 国产精品久久新婚兰兰| 五月丁香综合激情六月久久| 国产午夜精品理论片久久| 国内精品久久久久久麻豆| 波多野结衣久久一区二区| 久久se精品一区二区| 色天使久久综合网天天 | 久久亚洲国产最新网站| 久久国产色AV免费观看| 国产精品久久久久免费a∨| 日产精品99久久久久久| 亚洲AV无码成人网站久久精品大| 久久久久久久综合日本亚洲| 国产精品99久久免费观看| 亚洲精品乱码久久久久久自慰| 97久久精品人妻人人搡人人玩| 日韩精品无码久久一区二区三| 精品久久一区二区三区| 97久久婷婷五月综合色d啪蜜芽| 久久精品国产2020| 亚洲av日韩精品久久久久久a | 久久婷婷色综合一区二区| 成人国内精品久久久久影院VR | 久久久久99精品成人片牛牛影视| 情人伊人久久综合亚洲| 久久精品人人槡人妻人人玩AV| 亚洲精品无码久久不卡| 久久无码AV一区二区三区| 国产成人综合久久久久久| 97久久香蕉国产线看观看| 久久久久亚洲av无码专区导航| 中文精品久久久久人妻不卡| 精品综合久久久久久97| 久久综合综合久久综合| 香蕉久久夜色精品升级完成|