密集計(jì)算數(shù)據(jù)庫應(yīng)用中各類硬盤性能大比拼
磁盤性能是高級事務(wù)處理運(yùn)行性能的關(guān)鍵
高級事務(wù)處理數(shù)據(jù)庫(high-transaction database)通常由4~8KB大小的記錄構(gòu)成,這些數(shù)據(jù)記錄一般是被隨機(jī)訪問的。也正是因?yàn)槊總€數(shù)據(jù)記錄的容量都很小,而且數(shù)據(jù)庫的運(yùn)行是隨機(jī)讀取數(shù)據(jù)條目,所以數(shù)據(jù)庫的性能很大程度上取決于磁盤存取時間(disk access time)。磁盤存取時間是非常關(guān)鍵的指標(biāo),在運(yùn)行速度較慢的數(shù)據(jù)庫應(yīng)用中,CPU經(jīng)常需要長時間等待磁盤I/O操作的完成。
數(shù)據(jù)庫對磁盤I/O的需求本身已經(jīng)很苛刻,可不斷增加的磁盤容量又給這個局面雪上加霜。長期以來,工藝的進(jìn)步不斷推動磁盤容量的增加,但是磁盤I/O的增加卻相對緩慢,跟不上容量的急劇增加。也就是說,同樣的數(shù)據(jù)容量,新的數(shù)據(jù)庫通常傾向于擁有更少的磁盤,這樣就更降低了數(shù)據(jù)庫的效率。
以一個50GB的磁盤為例,如果存儲的都是典型數(shù)據(jù)庫大小的記錄,那么每秒只有0.004%的容量可以被隨機(jī)訪問。當(dāng)然,在多塊磁盤上做條帶化信息可以增加數(shù)據(jù)存取,但是數(shù)據(jù)庫的完整性需求卻又經(jīng)常與并行存取相沖突。
面對數(shù)據(jù)庫的高磁盤需求,固態(tài)硬盤給出了完美的解決方案。固態(tài)硬盤可以提供多種不同級別的性能。下面,我們就著重比較不同技術(shù)的硬盤——基于Flash和DRAM的固態(tài)硬盤,還有傳統(tǒng)硬盤。我們會采用標(biāo)準(zhǔn)的評測工具來評測,到底固態(tài)硬盤有多大的性能提升。
基于DRAM的固態(tài)硬盤表現(xiàn)最佳
傳統(tǒng)硬盤:
上當(dāng)數(shù)據(jù)大小為4~8KB的時候,磁盤的讀寫速度大概為1~2MBps。我們可以分析一下這個速度的由來——傳統(tǒng)磁盤平均尋道時間與旋轉(zhuǎn)延遲的和大概是5~10毫秒。我們也注意到當(dāng)數(shù)據(jù)塊大小增大的時候,讀寫速度有所提升,到128KB的時候,提升十分明顯。不過很可惜,數(shù)據(jù)庫通常的數(shù)據(jù)塊大小是我們紅色標(biāo)注出來的4~8KB。總的來說,傳統(tǒng)磁盤的容量最便宜,但是性能也是最差的。
基于閃存的固態(tài)硬盤(flash-based SSD):
我們發(fā)現(xiàn),隨機(jī)讀性能對比傳統(tǒng)硬盤有很大的提升,但是隨機(jī)寫性能卻表現(xiàn)糟糕。在4~8KB大小的數(shù)據(jù)塊上,寫的速度和I/O都僅為傳統(tǒng)硬盤的1/10。
基于DRAM的固態(tài)硬盤:
我們看一下上面的DRAM固態(tài)硬盤性能表現(xiàn),我們發(fā)現(xiàn)這是當(dāng)之無愧的硬盤性能冠軍。不論數(shù)據(jù)塊是大是小,基于DRAM的硬盤性能都令人驚嘆。我們在數(shù)據(jù)庫日常使用中經(jīng)常發(fā)現(xiàn),數(shù)據(jù)庫的性能之所以差強(qiáng)人意,很重要的原因,是被一小部分熱點(diǎn)文件或是短暫頻繁使用的硬盤區(qū)域拖了后腿。我們可以設(shè)想,如果我們將這部分I/O需求最多的數(shù)據(jù)存儲到基于DRAM的固態(tài)硬盤中,我們將極大的提升整體數(shù)據(jù)庫的性能。當(dāng)然,基于DRAM的固態(tài)硬盤的費(fèi)用也是非常昂貴,因?yàn)榛贒RAM的固態(tài)硬盤內(nèi)部必須持續(xù)供電,而且還得為其做備份。但是如果將少量高I/O需求的數(shù)據(jù)存儲到基于DRAM的固態(tài)硬盤中,其余大部分還是存儲到傳統(tǒng)的硬盤上,還是一個非常好的選擇。
IOPS提升幾十倍-英特爾X25-E 服務(wù)器級固態(tài)盤
現(xiàn)貨:全球最快的Fusion-io SSD硬盤卡述評