• <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),開(kāi)心的工作
            簡(jiǎn)單、開(kāi)放、平等的公司文化;尊重個(gè)性、自由與個(gè)人價(jià)值;
            posts - 1098, comments - 335, trackbacks - 0, articles - 1
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

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


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

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

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

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

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

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

            ?

            ?

            對(duì)于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ù)庫(kù)系統(tǒng):fastdb   回復(fù)  更多評(píng)論   

            2011-12-29 00:22 by 盛東
            32位程序單進(jìn)程默認(rèn)只可以用到2GB 可以改到3GB 路過(guò)
            国产精品久久久99| 久久精品国产69国产精品亚洲| 日本久久久久久中文字幕| 色综合久久久久网| 亚洲美日韩Av中文字幕无码久久久妻妇| 伊人久久亚洲综合影院| 亚洲精品高清国产一线久久| 国产欧美久久一区二区| 日本久久中文字幕| 国产三级久久久精品麻豆三级| 色成年激情久久综合| 亚洲&#228;v永久无码精品天堂久久 | 久久久久亚洲av无码专区喷水| 青青草国产精品久久久久| 伊人久久大香线蕉精品不卡| 国产日产久久高清欧美一区| 亚洲欧美成人综合久久久| 久久精品国产WWW456C0M| 亚洲精品无码久久一线| 久久久久久国产a免费观看不卡 | 999久久久无码国产精品| 日本精品一区二区久久久| 伊人色综合久久天天| 国产成人久久精品激情| 亚洲精品美女久久久久99小说| 久久免费视频观看| 亚洲成色WWW久久网站| 午夜精品久久影院蜜桃| 欧美日韩精品久久久免费观看| 国产精品久久久久久搜索| 久久精品亚洲中文字幕无码麻豆| 看全色黄大色大片免费久久久| 精品久久久久久无码中文字幕| 国产成人久久精品一区二区三区| 精品久久久久久亚洲精品 | 伊人久久大香线蕉精品不卡| 久久国产成人午夜AV影院| 久久夜色精品国产亚洲| 伊人久久大香线焦综合四虎| 欧洲精品久久久av无码电影| 久久无码中文字幕东京热|