成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Atlas:百度Key-value云數據存儲系統設計揭秘

云計算 其他數據庫 數據庫
本文介紹百度云使用的key-value存儲系統atlas的設計,思路相當贊。

MSST 2015的論文(論文在這里)介紹百度云使用的key-value存儲系統atlas的設計,思路相當贊。簡單總結一下,建議想深入學習的同學直接閱讀論文。

存儲場景

百度云94%的文件在[128KB-256KB]之間,所以atlas主要針對小文件存儲

百度云前面有CDN,到達atlas的請求基本都是隨機訪問,atlas是隨機訪問的存儲引擎,不支持range操作

總體架構

 

enter image description here

atlas主要由PIS和RBS兩個部分組成,下面將分別介紹

PIS存儲接口

 

enter image description here

atlas的PIS模塊(patch and index slice)直接面向用戶,與其他KV存儲引擎類似,暴露put/get/delete接口,不同的是atlas的key是規定長度128字節的GUID。

PIS以slot(slice)為單位進行數據管理,用戶的key-value會分散存儲到多個slot里,put時atlas的客戶端會根據key計算hash,并對slot數量取模,將key路由至某個slot,每個slot單獨進行數據管理。

 

enter image description here

PIS的primary副本接收到用戶的put請求,會將請求轉發至多個secondary副本,每個副本都將value追加至本地patch(類似于log文件),并記錄key的value在patch里的位置信息(offset、length),當patch到達64MB時,patch將不再寫入數據,PIS會產生一個新的patch文件用于寫,同時會將寫滿的patch以block的形式存儲到RBS里,patch存儲至RBS時,RBS會分配一個唯一的blockid,此時PIS將key==>(blockid、length、offset)的映射關系寫入index模塊(一個類似于 google leveldb的系統)。

PIS接收到get請求時,首先在patch里查找key是否存儲,如果存在則直接從patch讀取value,返回給用戶;如果key在 patch里不存在,則在index里查找,如果index里未找到,則說明atlas并沒有存儲這個key;如果在index里找到,則根據(blockid、length、offset)從RBS里讀取value,返回給用戶。

PIS處理delete請求與leveldb類似,會新寫入一條該key的記錄,標示為key已刪除。

#p#

RBS接口

 

enter image description here

RBS(raid-like block storage)提供block的讀寫刪接口,block長度固定為64MB,RBS里block只能整個寫入和刪除,但支持部分讀取。

RBS包含一個中心管理節點(master-slave結構),以及一組存儲節點(part-server),寫入block時,RBS不再使用傳統的多副本來保證數據可靠性,而是通過erasure-code來保證,極大的節省存儲成本。

64MB的block會被RBS的客戶端切分成8個8MB的part,通過8+4的erasure code計算出4個4MB的part,總共12個part;寫入時,首先從中心節點請求分配一個唯一的blockid,同時分配12個 part-server用于寫入12個part(實際上給了15個part-server信息,3個是備用的,如果存儲12個part時,有某些part 存儲失敗,直接使用備用的part-server,而不用重新向中心節點發送新的請求,減少了與中心節點的交互次數);當12個part存儲成功后,將 part與part-server的對應關系更新至中心節點。

當需要訪問某個block時,RBS客戶端向從中心管理節點查詢block所在的part-server,然后從part-server讀取數據;如果讀取的part-server當時處于故障狀態,會讀取block內其他至少8個part,來恢復該part-server里的數據。

刪除空間回收

PIS里index里的key==>(block, length, offset)信息、RBS里的block==>create-time信息會被推送到離線的hadoop集群,每天計算哪些block是比較老的 (比如2周以前創建的),并且有效的使用空間低于某個閾值(比如80%),這批block被認為是需要回收的,atlas將block里有效的數據(沒被刪除或覆蓋)重新寫入一份,即可將block刪除掉。

博文出處:http://blog.yunnotes.net/index.php/baidu-atlas-key-value-store/

責任編輯:Ophira 來源: Yun Notes
相關推薦

2010-07-19 10:05:56

ibmdw存儲系統

2016-04-15 13:45:48

2016-06-15 14:21:09

2018-03-07 10:35:45

云計算存儲系統

2016-11-17 11:24:32

數據庫大數據

2014-07-25 17:12:39

數據庫WOT2014MongoDB

2020-12-31 20:32:47

AI

2013-06-27 10:23:30

百度云百度開放云

2024-02-27 07:27:58

云原生推薦系統架構云原生技術棧

2016-10-13 15:19:34

百度

2018-06-15 08:23:55

Key-Value數據庫MVCC

2012-05-28 22:51:53

百度

2013-04-24 10:37:38

百度地圖云存儲

2013-07-01 16:36:26

百度云推送免費云推送移動開發

2013-07-16 15:05:03

云推送極光推送

2020-05-29 11:03:21

IBM

2012-10-19 09:47:30

百度云百度音樂云計算

2015-07-29 16:49:47

百度

2017-04-28 17:44:45

百度
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线观看国产www | 久久精品免费一区二区 | 国产成人精品一区二区 | 黄网站免费在线观看 | 久久国产一区二区 | 亚洲福利在线视频 | 久久久噜噜噜www成人网 | 91大神新作在线观看 | 91免费看片| 成人在线中文字幕 | jlzzjlzz国产精品久久 | 秋霞电影一区二区 | 91精品在线播放 | 欧美一区二区在线播放 | 伦理二区| 久久久91精品国产一区二区三区 | 日韩综合网 | 99久久精品一区二区成人 | 欧美一区二区视频 | 国产精产国品一二三产区视频 | 一区二区三区国产精品 | 国产一区免费 | 特黄色一级毛片 | 久久国产精品视频 | 日韩欧美在| 一区二区免费 | 精品国产伦一区二区三区观看方式 | 一区二区精品 | 四虎最新视频 | 亚洲色图婷婷 | 亚洲综合婷婷 | 在线看一区二区三区 | 日本激情一区二区 | 中文字幕一区二区三区精彩视频 | 国产精品久久久久久久一区探花 | 麻豆精品一区二区三区在线观看 | 人成在线视频 | 亚欧精品一区 | av天天操 | 亚洲精品九九 | 亚洲欧美日韩精品久久亚洲区 |