<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-84  評論-56  文章-0  trackbacks-0

    來自Facebook核心數據組的Jeff Johnson周三在QCon紐約的演講中公布了Apollo,它是Facebook的一種類似于PaxosNoSQL數據庫。Apollo構建于Apache Thrift 2 RPC框架,采用C++11開發,是一種分層存儲系統,所有數據被劃分到Shard,非常類似于HBase中的區域服務器。Johnson表示它最大的好處是在線低延遲存儲,特別是在Flash和內存中。

    區別于面向文檔和鍵值的存儲,Apollo是一種修改的數據結構,允許你存儲Map、隊列、樹以及鍵值等等。系統中每個單獨的數據塊都非常小,從1字節到1MB,而所有的總大小則從1MB10+PB。它支持的服務器從最少三臺到數千臺之多。

    每個Shard有四個組件。第一個是Quorum一致性協議,它基于來自斯坦福的強Leader一致性協議Raft。Johnson說他的團隊非常喜歡Raft的一個原因是Leader的故障恢復非常好定義,因為就是Quorum視圖的變化。話雖如此,他說這真的不比Multi-paxos簡單:

    我們不得不做大量的工作,從讓你異步讀寫磁盤到處理Follower忙于后臺事務等場景,因為服務器上有其它東西或者磁盤非常慢,錯誤檢查等等。

    第二個組件是存儲。目前主存儲基于RocksDB,是一種構建于Google LevelDBKey/Value存儲結構。雖然它是Key/Value存儲,Facebook使用它來模擬其它數據結構。Apollo被設計為可以存儲未知的結構,團隊也正在增加對MySQL的支持以作為一種替代存儲引擎。

    第三個組件是客戶端API,它擁有read()write()方法。ApolloShard層執行的所有操作都是原子操作,因此你可以描述前置條件,如果滿足,它返回readswrites。代碼示例如下:

    read(conditions : {map(m1).contains(x)},

         reads : {deque(d2).back()})

    上面的代碼表示如果Map m1包含x,就返回雙端隊列(Dequed2back上的值。

    你能將任意多個條件和任意數量的Read結合在一起。

    Write也非常類似,同樣允許你描述條件:

    write(conditions : {ver(k1) == v}, reads : {},

          writes : {val(k1) := x})

    最后一個組件是容錯狀態機(Fault Tolerant State Machine,FTSM)。它們主要由系統代碼使用,但也可以被用戶代碼使用。每個FTSM都屬于Shard,例如,在一個有三臺機器的Shard中,它們全部同時執行相同的代碼。它們能存取每臺機器的持久化存儲。最重要的是,如果一個節點故障,代碼將按所有節點都同意的正確順序繼續執行。

    狀態機還被用于負載均衡、數據遷移、Shard創建和銷毀,以及協調跨Shard事務。狀態機也存在外部副作用,例如它們能發送RPC請求到遠程機器,但不論何時它們要變更持久化狀態,都必須提交給Raft以取得所有服務器的同意。

    Facebook目前將Apollo用于替換Memcached的一些應用場景,同時Johnson也明確表示Facebook大規模地使用了Memcached。該公司同時正在嘗試使用它作為一種可靠的隊列系統,用于發送Facebook消息到iOSAndroid和運營商SMS。它也可能用于更快速的分析。

    Apollo仍處于開發階段,還沒有開源,但Johnson說那是Facebook尋求并樂意去做的方式。Johnson的演示稿已經提供給QCon紐約的參會者,在適當的時候會發布給所有人。

    查看英文原文:Facebook Announces Apollo, a New NoSQL Database for On-line Low Latency Storage

     

    posted on 2014-08-16 09:50 憶風 閱讀(268) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 成人自慰女黄网站免费大全 | 在线观看免费人成视频色| 巨胸喷奶水www永久免费| 青青青青青青久久久免费观看| 亚洲国产成人手机在线电影bd| 久久国产免费观看精品3| 91精品免费国产高清在线| 全部免费国产潢色一级| 亚洲AV中文无码字幕色三| 亚洲日本在线播放| 2021国产精品成人免费视频| 久久久久精品国产亚洲AV无码| 色妞www精品视频免费看| 日韩免费视频一区| 久久精品国产亚洲AV无码麻豆| 亚洲免费精彩视频在线观看| 哒哒哒免费视频观看在线www| 亚洲av永久无码精品表情包| 无码午夜成人1000部免费视频| 91亚洲自偷手机在线观看| 18未年禁止免费观看| 亚洲an日韩专区在线| 午夜毛片不卡高清免费| 美女啪啪网站又黄又免费| 亚洲色欲久久久综合网东京热| 亚洲熟女精品中文字幕| 免费国产在线观看老王影院| 国产在线精品一区免费香蕉| 亚洲国产天堂久久综合网站| 久久久久国色AV免费观看性色| 久久亚洲AV成人无码软件| 无码一区二区三区免费视频| 男人j进女人p免费视频| 四虎www免费人成| 好吊色永久免费视频大全| 国产免费牲交视频| 日本一区午夜艳熟免费| 亚洲精品国产日韩| 亚洲精品无码av人在线观看| 一边摸一边桶一边脱免费视频| 四虎永久成人免费|