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

            S.l.e!ep.¢%

            像打了激速一樣,以四倍的速度運(yùn)轉(zhuǎn),開心的工作
            簡單、開放、平等的公司文化;尊重個性、自由與個人價(jià)值;
            posts - 1098, comments - 335, trackbacks - 0, articles - 1
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            接觸內(nèi)存數(shù)據(jù)庫系統(tǒng):fastdb


            前不久,項(xiàng)目需要實(shí)時運(yùn)算處理大規(guī)模數(shù)據(jù),因?yàn)轫?xiàng)目要支持多線程,并發(fā)性,事務(wù)性。第一反應(yīng)是要找一個這樣的內(nèi)存數(shù)據(jù)庫,商用的有Oracle的TimesTen和SOUTH KOREA的Altibase,但是費(fèi)用不菲。我們只需要對內(nèi)存數(shù)據(jù)庫的一些簡單操作即可。所以我們就鎖定了開源的fastdb。其代碼非常簡練,一共不過3萬代碼左右,它并不是用想象的SysV IPC mechanism (shmat) 實(shí)現(xiàn),而是用Memory mapping mechanism (mmap) 。雖然使用了部分shmat存儲一些數(shù)據(jù)庫控制變量信息等,但是數(shù)據(jù)還是用內(nèi)存文件映射的。對于千萬級的數(shù)據(jù),其需內(nèi)存是4GB以上,所以感覺用內(nèi)存映射文件數(shù)據(jù)庫更合適。

            fastdb實(shí)現(xiàn)的方法重要的幾點(diǎn)特征:

            1、內(nèi)存文件映射時更改了系統(tǒng)的自動提交更新頁數(shù)據(jù)機(jī)制,為事務(wù)性性能提高基礎(chǔ)。

            2、數(shù)據(jù)庫事務(wù)提交機(jī)制是基于一個影子根頁算法(shadow?root?pages algorithm),對數(shù)據(jù)庫進(jìn)行原子更新操作,所以恢復(fù)非常快。

            3、提供游標(biāo)化,結(jié)構(gòu)化語句的查詢。

            4、還提供了一個可視化的數(shù)據(jù)查詢工具SUBSQL。

            ?

            ?

            對于fastdb的一些使用心得和技巧將繼續(xù)貼出。

            ?

            ?

            下面是作者給我回的郵件(作者:Konstantin 很熱心):

            By default size of FastDB database is limited by 4Gb.
            But it also depends on OS limits on maximal size of memory mapped object.
            In 32-bit OS it usually smaller than 2Gb.


            To support work with larger databases, you need to use 64-bit OS and define dbDatabaseOffsetBits to have some large value than 32.?(for example 40 corresponds to terrabyte database).


            Memory mapping mechanism (mmap) also allows shared access to the memory from multiple applications.
            The main idea of mapping fiel on memory is that modified pages are automatically stored in the file by OS.
            But you can use SysV IPC mechanism (shmat) instead of mmap if for some reasons use of mmap is not desired.

            Feedback

            # re: 接觸內(nèi)存數(shù)據(jù)庫系統(tǒng):fastdb   回復(fù)  更多評論   

            2011-12-29 00:22 by 盛東
            32位程序單進(jìn)程默認(rèn)只可以用到2GB 可以改到3GB 路過
            国产精品久久久久久久人人看| 色综合久久久久久久久五月| 中文字幕成人精品久久不卡| 办公室久久精品| 亚洲精品无码专区久久同性男| 综合人妻久久一区二区精品| 久久国产乱子伦精品免费强| 亚洲人成电影网站久久| 人妻无码中文久久久久专区| 久久亚洲国产欧洲精品一 | 亚洲国产视频久久| 久久久久亚洲av无码专区导航| 亚洲国产精品人久久| 亚洲精品高清国产一线久久| 91超碰碰碰碰久久久久久综合| 亚洲精品无码久久久久| 久久精品视屏| 国内精品久久久久久99| 亚洲国产日韩综合久久精品| 国产成人精品久久亚洲高清不卡| 7777久久久国产精品消防器材| 国产2021久久精品| 精品综合久久久久久97超人| 久久久久久综合网天天| 久久亚洲国产精品五月天婷| 国产精品热久久毛片| 国产一级持黄大片99久久| 亚洲伊人久久大香线蕉综合图片| 久久午夜无码鲁丝片午夜精品| 91麻精品国产91久久久久| 久久99国产精品99久久| 亚洲欧美成人综合久久久| 丁香色欲久久久久久综合网| 久久人人爽人人人人爽AV| 亚洲午夜无码AV毛片久久| 伊人久久国产免费观看视频| 一本久道久久综合狠狠躁AV| 国产—久久香蕉国产线看观看 | 久久性生大片免费观看性| 91久久九九无码成人网站| 精品久久久久久无码国产|