用戶(hù)名: 密碼: 驗(yàn)證碼:

2019ODCC開(kāi)放數(shù)據(jù)中心峰會(huì)亮點(diǎn)劇透之KV SSD

摘要:Key-Value SSD。這種SSD采用了一種增強(qiáng)的FTL(Flash Translation Layer),實(shí)現(xiàn)了KV存儲(chǔ)的部分核心功能,向外提供KV接口,能夠直接響應(yīng)host端應(yīng)用程序的KV請(qǐng)求。將KV SSD與KV數(shù)據(jù)庫(kù)或KV存儲(chǔ)引擎(如RocksDB)配合使用,在諸多方面都會(huì)帶來(lái)較大的提升。

  ICCSZ訊 當(dāng)前Key-Value數(shù)據(jù)庫(kù)或存儲(chǔ)引擎由于較高的存儲(chǔ)性能被廣泛的應(yīng)用于企業(yè)中,但是由于Key-Value數(shù)據(jù)庫(kù)寫(xiě)入或者讀取KV鍵值對(duì)的時(shí)候, 需要完成從KV到file, file到LBA, 再?gòu)腖BA到PBA的數(shù)據(jù)轉(zhuǎn)換。這種數(shù)據(jù)存取模式在機(jī)械硬盤(pán)上并沒(méi)有表現(xiàn)出太多的劣勢(shì),但是隨著固態(tài)硬盤(pán)應(yīng)用地越來(lái)越廣泛,存儲(chǔ)速度越來(lái)越快,這種數(shù)據(jù)轉(zhuǎn)換所消耗的資源也越來(lái)越多,在某些情況下就會(huì)變成整個(gè)系統(tǒng)的性能瓶頸。

  KV SSD software stack vs Block SSD S/W stack

  為了解決這個(gè)問(wèn)題,近來(lái)業(yè)界提出了一種新的解決方案,Key-Value SSD。這種SSD采用了一種增強(qiáng)的FTL(Flash Translation Layer),實(shí)現(xiàn)了KV存儲(chǔ)的部分核心功能,向外提供KV接口,能夠直接響應(yīng)host端應(yīng)用程序的KV請(qǐng)求。將KV SSD與KV數(shù)據(jù)庫(kù)或KV存儲(chǔ)引擎(如RocksDB)配合使用,在諸多方面都會(huì)帶來(lái)較大的提升。

  RocksDB vs KV Stack work flow

  首先,KV數(shù)據(jù)庫(kù)從KV SSD中讀寫(xiě)數(shù)據(jù)時(shí)可以調(diào)用KV SSD提供的KV接口,將KV的讀寫(xiě)請(qǐng)求直接轉(zhuǎn)換為對(duì)PBA的請(qǐng)求,省去了從key到file,再?gòu)膄ile到LBA的轉(zhuǎn)換,簡(jiǎn)化了數(shù)據(jù)讀寫(xiě)的流程,不但提高了數(shù)據(jù)讀寫(xiě)的效率,還大大減少了主機(jī)端CPU和內(nèi)存的消耗。其次,像RocksDB這樣的KV存儲(chǔ)引擎采用的是LSM Tree的方式來(lái)分層存儲(chǔ)數(shù)據(jù),對(duì)記錄的更改不是在系統(tǒng)中找到舊的數(shù)據(jù)進(jìn)行修改,而是直接將新的記錄以Append的方式寫(xiě)入到內(nèi)存中,然后再flush到數(shù)據(jù)庫(kù)的第一層。每層的數(shù)據(jù)寫(xiě)到一定容量之后就會(huì)觸發(fā)compaction操作,將該層的一些文件里的key-value重新排序,去除舊的數(shù)據(jù)記錄,融合成新的文件寫(xiě)入到下一層。這種機(jī)制產(chǎn)生了很多Background IO,消耗了一定的SSD帶寬,不但影響了系統(tǒng)的性能,還使得RocksDB在運(yùn)行時(shí)有著高達(dá)10倍的寫(xiě)放大。而KV SSD提供了原生的KV接口,RocksDB可以將新的數(shù)據(jù)記錄直接寫(xiě)入到SSD中,不需要再進(jìn)行反復(fù)的compaction操作,從而將RocksDB的寫(xiě)放大減小到了1,而NAND本身就不支持覆蓋寫(xiě)入的特性使得SSD端的寫(xiě)放大并沒(méi)有顯著增加,所以整體來(lái)看,KV SSD降低整個(gè)系統(tǒng)寫(xiě)入放大的效果還是很明顯的。

  另外,由于支持原生的key value操作和簡(jiǎn)易的軟件協(xié)議棧,KV SSD結(jié)合優(yōu)化過(guò)的Ceph應(yīng)用時(shí)也會(huì)比傳統(tǒng)解決方案有很大的優(yōu)勢(shì)。使用優(yōu)化過(guò)的KVSstore替代原生Ceph的blue store后,性能和穩(wěn)定性方面都有了很顯著的提升。

  KVCeph + KV SSD vs Ceph + Block SSD (4KB write)

  KVCeph + KV SSD vs Ceph + Block SSD (4KB sequential read)

  KVCeph + KV SSD vs Ceph + Block SSD (4KB random read)

  雖然KV SSD在諸多方面都有著傳統(tǒng)SSD無(wú)法比擬的優(yōu)勢(shì),但是想方便地,廣泛地在業(yè)務(wù)系統(tǒng)中部署KV SSD還需要配合優(yōu)化過(guò)的軟件協(xié)議棧。從前面的流程圖中可以看到,KV SSD是一個(gè)系統(tǒng)的解決方案,需要SSD,驅(qū)動(dòng)以及客戶(hù)應(yīng)用程序的相互配合才可以實(shí)現(xiàn)。同時(shí)由于客戶(hù)的應(yīng)用程序千差萬(wàn)別,對(duì)接口的需求也各不相同,所以需要客戶(hù)針對(duì)自己的應(yīng)用靈活適配標(biāo)準(zhǔn)的KV API或直接使用KV版本的RocksDB或Ceph等應(yīng)用,以方便廣大客戶(hù)方便地在系統(tǒng)中部署KV SSD。目前KV SSD軟件部分已經(jīng)在GitHub上開(kāi)源并持續(xù)迭代。(https://github.com/OpenMPDK/KVSSD)

  如對(duì)該項(xiàng)目感興趣,請(qǐng)參加9月3-4日2019開(kāi)放數(shù)據(jù)中心峰會(huì),會(huì)有更詳細(xì)的解讀。

內(nèi)容來(lái)自:ODCC
本文地址:http://m.odinmetals.com//Site/CN/News/2019/08/06/20190806075014384728.htm 轉(zhuǎn)載請(qǐng)保留文章出處
關(guān)鍵字: 數(shù)據(jù)中心
文章標(biāo)題:2019ODCC開(kāi)放數(shù)據(jù)中心峰會(huì)亮點(diǎn)劇透之KV SSD
【加入收藏夾】  【推薦給好友】 
免責(zé)聲明:凡本網(wǎng)注明“訊石光通訊咨詢(xún)網(wǎng)”的所有作品,版權(quán)均屬于光通訊咨詢(xún)網(wǎng),未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。 已經(jīng)本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使用,反上述聲明者,本網(wǎng)將追究其相關(guān)法律責(zé)任。
※我們誠(chéng)邀媒體同行合作! 聯(lián)系方式:訊石光通訊咨詢(xún)網(wǎng)新聞中心 電話(huà):0755-82960080-168   Right