亚洲在线日韩伦理片,96精品国产AⅤ一区二区,青鸟影视网,yy黄色频道,国内精品久久久精品AV电影院

基于Shannon Open-Channel的高性能KV存儲應用實踐

2020-05-13 10:00 7405
Shannon Open-Channel應用的實踐,證明了存儲類應用在Open-Channel SSD上獲得大幅度性能提升的可能性,也驗證了Open-Channel平臺的可靠性。

上海(hai)2020年5月13日(ri) /美通社/ -- 以(yi)鍵值對(Key-Value,簡稱KV)作為數(shu)據(ju)(ju)的(de)(de)(de)存(cun)(cun)(cun)(cun)儲(chu)方式,已經(jing)在(zai)很多場合(he)得到了成(cheng)功的(de)(de)(de)應用(yong)(yong)(yong)。KV存(cun)(cun)(cun)(cun)儲(chu)以(yi)其直觀性(xing),降低了很多應用(yong)(yong)(yong)程(cheng)序調用(yong)(yong)(yong)數(shu)據(ju)(ju)的(de)(de)(de)復雜度,可以(yi)獲得更高(gao)數(shu)據(ju)(ju)的(de)(de)(de)存(cun)(cun)(cun)(cun)取效率(lv),但也(ye)有(you)其局限性(xing)。寶存(cun)(cun)(cun)(cun)科技的(de)(de)(de)Open-Channel SSD 定義了一種通用(yong)(yong)(yong)的(de)(de)(de),高(gao)效率(lv)的(de)(de)(de)主機端直接訪問 FLASH 的(de)(de)(de)標準接口,百度基于(yu)此開發出一套高(gao)性(xing)能KV存(cun)(cun)(cun)(cun)儲(chu)引擎,有(you)效減少寫(xie)放大對設備性(xing)能的(de)(de)(de)影響。

當前KV的不足之處

目前KV的成熟應用場合有:

  • 內存數據庫及其持久化,如Redis、Pika;
  • 分布式文件存儲系統底層存儲接口,如Ceph中使用Bluestore;
  • 關系數據庫存儲引擎,如MySQL中的MyRocks引擎。

由于單機內(nei)存(cun)總量的(de)(de)限(xian)制,內(nei)存(cun)KV有(you)持久化到硬盤(pan)的(de)(de)需求,而基(ji)于硬盤(pan)的(de)(de)KV數據(ju)庫多使用LSM Tree的(de)(de)方(fang)式(shi)在文件(jian)系(xi)統(tong)中實(shi)現(xian)(如RocksDB),在實(shi)際應用中會(hui)出現(xian)以下(xia)問題:

  • 極高的寫放大。由于WAL的機制,一份數據落盤即出現“雙寫”的效果,產生1倍寫放大。WAL(Write-ahead logging)記錄了數據持久寫入DB之前的變更,是傳統數據庫保證數據安全性的必要動作。由于compaction機制的存在,新數據的寫入會導致舊數據被反復合并,最終一份數據的寫入實際會造成2倍以上的寫入量。業界存儲設備已經全面轉向SSD,而SSD的壽命是有限的,類似RocksDB的KV數據庫在SSD上會將SSD的預期壽命大幅縮短到原本的三分之一。
  • 緩存未命中時的讀放大。傳統KV數據庫將數據按冷熱分層存儲,在讀取時分層檢索。如果讀取的數據沒有在緩存中,那么至少需要一次硬盤讀取操作,多則需要5次以上讀盤操作才能取到數據。
  • 與設備性能不匹配的業務性能。對于單個硬盤來講,其總的IO能力是有限的,有限的IO能力被應用IO和KV數據庫的compaction共同占用。由于compaction同時占用硬盤的讀寫帶寬,大量的compaction操作使得上層業務可得的IO能力被大幅擠壓。
  • 極低的空間使用率。以上情形同時存在,整個存儲設備一直處在compaction操作和compaction觸發之前有大量失效數據未標記的情況下,此時如果有一定的業務性能要求,用戶將不得不使用空間換性能,存儲設備內的有效數據總量相對設備的實際容量比例必然過小。

盡管很(hen)多業務已(yi)經從KV的(de)使用(yong)中受益,但當前KV的(de)不(bu)足(zu)限制了(le)KV本該發揮(hui)的(de)作用(yong)。

百度在Open-Channel SSD上的KV實現

搜索引擎及相(xiang)關業務對KV有(you)很強的(de)(de)需求。結合(he)對KV的(de)(de)深(shen)入理(li)解以及SSD的(de)(de)發展方向(xiang),百度選擇在Open-Channel SSD平(ping)臺上實現一套(tao)高(gao)性能KV,以移除當前KV存在的(de)(de)不(bu)足,充分發揮KV在SSD上應有(you)的(de)(de)性能。

Open-Channel SSD是白盒化(hua)的(de)(de)NVMe SSD。SSD的(de)(de)底(di)層介(jie)質NAND Flash具有(you)先(xian)擦后寫(xie)、壽命(ming)有(you)限的(de)(de)特(te)點,因此(ci)將NAND Flash組織成(cheng)主機可見的(de)(de)硬(ying)(ying)盤需(xu)要實(shi)現(xian)地址映射、垃圾回收、磨損均衡(heng)、錯誤(wu)處理等(deng)主要邏輯(ji)。Open-Channel SSD將實(shi)現(xian)這些邏輯(ji)的(de)(de)基本接口(kou)傳遞(di)到(dao)主機層,用戶(hu)可以將業務邏輯(ji)和SSD邏輯(ji)結合實(shi)現(xian),使用軟硬(ying)(ying)件深(shen)度(du)捆綁優化(hua)的(de)(de)方式實(shi)現(xian)同樣(yang)硬(ying)(ying)件上的(de)(de)收益(yi)大幅(fu)度(du)提升(sheng)。

在百度的(de)(de)Open-Channel KV實現中,SSD不再以塊(kuai)設(she)備形(xing)式(shi)存在,而是以KV服務(wu)的(de)(de)形(xing)式(shi)呈(cheng)現給上(shang)層業務(wu),KV邏輯(ji)向上(shang)層提供KV接(jie)口。KV接(jie)口接(jie)收到的(de)(de)鍵值對將被一步寫到物(wu)理介質NAND的(de)(de)某個地址(zhi)上(shang)并在內存中記錄映射(she)關(guan)系,無需經過文件(jian)系統/虛擬內存/塊(kuai)設(she)備的(de)(de)層層轉換(huan),讀取時(shi)同理。數據的(de)(de)傳輸獲得的(de)(de)是軟件(jian)層面最短(duan)(duan)的(de)(de)路徑,因而延遲大幅(fu)度縮短(duan)(duan)。


按照這種方法實現的KV可以解決傳統KV存在的問題(ti):

  • 極小的寫放大。如同寫入傳統SSD時SSD內部邏輯的動作一樣,每一個新的鍵值對永遠寫在新的物理地址上,舊值自然失效。由于沒有文件系統,從SSD角度等效OP會變得非常大,垃圾回收線程總是可以找到全臟或接近全臟的塊進行回收,實際寫放大僅為1.05。
  • 沒有讀放大。所有key都可以在內存中找到,key中包含了value的物理地址,讀取任何值都只需要一次讀盤。
  • 充分使用硬件性能。由于沒有compaction操作存在,SSD的所有性能都用于實際的業務讀寫,使得可用帶寬大幅提高。Open-Channel KV較原有方案的可用帶寬提高一倍。
  • 巨幅提升的QoS水平。由于寫操作的重復機制和讀操作的等待機制被去除,QoS水平得到極大優化。
  • 更高的空間使用率。業務對單盤輸出能力有極高的要求,原方案下滿足業務要求的性能時,SSD實際存儲的有效數據量僅占盤容量的30%,剩余空間被無效數據占據或存入數據也沒有額外的帶寬用于業務IO。Open-Channel KV方案在保證輸出能力的情況下,將單盤實際有效數據量提升到盤容量的70%。

性能對比實測:


 


Open-Channel平臺提供的助力

Open-Channel SSD作為軟硬(ying)件優化的(de)基礎,目前已(yi)(yi)經(jing)有(you)穩定的(de)開發(fa)平臺,Linux內核也已(yi)(yi)內置支持(chi)。百度Open-Channel KV使用的(de)硬件平臺具有(you)以下(xia)特點:

  • 使用標準NVMe控制芯片,定制化Open-Channel固件。硬件無需定制,作為客戶可以獲得標準品的供貨優勢。
  • 高效的讀/寫/擦接口,完備的錯誤回報機制。開發端可以獲得硬件的極限性能和對硬件的完全控制。
  • Controller Memory Buffer(CMB)。CMB作為無掉電風險的高速緩沖區可以用在很多方面實現應用加速和優化,如存放log避免雙寫、合并小value寫入避免塊設備模式每一筆IO都必須按block size下發產生的寫放大和寫延遲。使用CMB后,小于4k byte的KV寫入獲得數倍性能提升。
  • 自動數據保護。企業級SSD產品除NAND ECC外,還需要page/block層面的保護。當前Open-Channel平臺提供底層自動數據保護功能,開發端只需要關注業務邏輯的編程即可。

總結

作為一個(ge)獨(du)立的(de)(de)(de)存(cun)儲引擎,百(bai)度Open-Channel KV項目已(yi)成功(gong)(gong)(gong)接入多(duo)個(ge)重要業務(wu),實現了(le)同等(deng)級產品中(zhong)單獨(du)提升(sheng)(sheng)(sheng)存(cun)儲性(xing)能和單獨(du)優化軟件(jian)邏輯都(dou)無法達到(dao)的(de)(de)(de)業務(wu)性(xing)能提升(sheng)(sheng)(sheng)幅(fu)度。此次Open-Channel應(ying)用(yong)的(de)(de)(de)成功(gong)(gong)(gong)實踐,證(zheng)(zheng)明(ming)了(le)存(cun)儲類應(ying)用(yong)在(zai)(zai)(zai)Open-Channel SSD上獲得大幅(fu)度性(xing)能提升(sheng)(sheng)(sheng)的(de)(de)(de)可能性(xing),也(ye)驗證(zheng)(zheng)了(le)Open-Channel平臺(tai)的(de)(de)(de)可靠性(xing)。寶存(cun)科技基于Open-Channel的(de)(de)(de)更多(duo)創新項目已(yi)經在(zai)(zai)(zai)孵化中(zhong),未來我們可以看到(dao)Open-Channel SSD在(zai)(zai)(zai)更廣泛(fan)的(de)(de)(de)范圍(wei)內的(de)(de)(de)成功(gong)(gong)(gong)應(ying)用(yong),為高(gao)可靠性(xing)、高(gao)效率、高(gao)性(xing)價(jia)(jia)比的(de)(de)(de)IT基礎設施(shi)帶來獨(du)特的(de)(de)(de)價(jia)(jia)值。

消息來源:寶存科技
全球TMT
微信公眾號“全球TMT”發布全球互聯網、科技、媒體、通訊企業的經營動態、財報信息、企業并購消息。掃描二維碼,立即訂閱!
collection