固態(tài)存儲(chǔ)技術(shù)影響著整個(gè)計(jì)算機(jī)領(lǐng)域
固態(tài)存儲(chǔ)不僅僅改變著存儲(chǔ)工業(yè),這種技術(shù)正在影響著整個(gè)計(jì)算機(jī)領(lǐng)域。我們已經(jīng)看到閃存已經(jīng)完全改變了消費(fèi)電子領(lǐng)域,在幾乎每一個(gè)類別的消費(fèi)電子設(shè)備取代旋轉(zhuǎn)磁盤驅(qū)動(dòng)器。
這種熱情同樣正在向數(shù)據(jù)中心延伸。數(shù)據(jù)庫(kù)管理員、系統(tǒng)管理員和應(yīng)用系統(tǒng)的所有者已經(jīng)開始意識(shí)到固態(tài)存儲(chǔ)和它所帶來的好處。他們看到了固態(tài)存儲(chǔ)在性能和能耗方面的優(yōu)勢(shì),但在支持企業(yè)級(jí)應(yīng)用的耐久性上仍抱有疑慮。然而,存儲(chǔ)工業(yè)正在提出新的閃存控制器,這種控制器能夠提升廉價(jià)閃存介質(zhì)的使用壽命和性能,以便在企業(yè)級(jí)應(yīng)用環(huán)境中替代昂貴的企業(yè)級(jí)閃存介質(zhì)。
SSD的最佳應(yīng)用方式
固態(tài)硬盤(SSD)提供了一種替代傳統(tǒng)硬盤(HDD)的可行的、更快的解決方案。選擇合適存儲(chǔ)的第一步,就是要明確應(yīng)用程序的存儲(chǔ)性能需求。這個(gè)需求將會(huì)決定是固態(tài)存儲(chǔ)還是傳統(tǒng)的硬盤存儲(chǔ)是更加適合、更加的劃算的解決方案。
我們從相對(duì)簡(jiǎn)單的例子入手,逐步延伸到復(fù)雜的情況。SSD已經(jīng)涉足的一塊領(lǐng)域是數(shù)據(jù)中心的筆記本電腦。筆記本電腦的SSD可以提供快速的啟動(dòng)和全面的性能,并且能夠顯著增加電池待機(jī)時(shí)間,因?yàn)閮?nèi)置的SSD所消耗的電能非常小。一些應(yīng)用程序,像字處理、大圖像文檔、宏表格、數(shù)據(jù)庫(kù)以及視頻等,在使用了SSD的情況下,其響應(yīng)速度非??臁9P記本之間的文件復(fù)制速度也非???。所以,使用固態(tài)硬盤的效果不僅僅體現(xiàn)在應(yīng)用程序的性能提升上。
用在臺(tái)式PC機(jī)上也可以獲得同樣的好處。例如,使用固態(tài)存儲(chǔ)啟動(dòng)計(jì)算機(jī),是一種相當(dāng)容易且廉價(jià)的提升性能的方式。在臺(tái)式計(jì)算機(jī)上用SSD作為啟動(dòng)盤,通過I/O的加速,可以擴(kuò)展一臺(tái)舊機(jī)器的使用壽命。這對(duì)舊的筆記本電腦也適用,只要你有合適的SSD接口。
加速數(shù)據(jù)庫(kù)的操作
任何需要提升性能或降低存儲(chǔ)訪問延時(shí)的應(yīng)用程序,都是一個(gè)使用固態(tài)存儲(chǔ)技術(shù)的好場(chǎng)合。例如,許多數(shù)據(jù)庫(kù)操作事實(shí)上都是一組由許多小的請(qǐng)求組成的組合,像表掃描和查詢操作,這些請(qǐng)求會(huì)按順序執(zhí)行,一個(gè)請(qǐng)求的輸出結(jié)果是另一個(gè)請(qǐng)求的輸入。最終結(jié)果會(huì)在所有的請(qǐng)求都完成后返回給應(yīng)用程序。在這種情況下,固態(tài)存儲(chǔ)的使用會(huì)顯著減少延時(shí)(更快的周轉(zhuǎn)),給應(yīng)用程序帶來巨大的不同的整體性能和用戶感受。
最好的企業(yè)級(jí)硬盤驅(qū)動(dòng)器對(duì)于每個(gè)請(qǐng)求的平均尋道時(shí)間約為2毫秒,而且由于數(shù)據(jù)保護(hù)的原因,并不是每個(gè)存儲(chǔ)系統(tǒng)都會(huì)使用高速緩存的。所以,即使可以獲得和硬盤驅(qū)動(dòng)器相同的性能,使用SSD會(huì)提供更好的整體延時(shí),因?yàn)樗鼈兏緵]有尋道時(shí)間。設(shè)想在運(yùn)行大批量數(shù)據(jù)庫(kù)交易的情況下,每個(gè)I/O都遇到企業(yè)級(jí)硬盤的尋道延遲;再想象一下,同樣大批量復(fù)雜的數(shù)據(jù)庫(kù)操作,沒有尋道延遲,更快的存儲(chǔ)設(shè)備,你會(huì)發(fā)現(xiàn)這就是為什么SSD在用于數(shù)據(jù)庫(kù)應(yīng)用時(shí)是如此之好。
SSD分層
由固體存儲(chǔ)技術(shù)獲得的性能,并不局限于數(shù)據(jù)庫(kù)應(yīng)用。這就是為什么我們看到了緩存和分層解決方案需求的增加。大多數(shù)服務(wù)器——無(wú)論是單獨(dú)的還是集群的——都因?yàn)橛写罅康膽?yīng)用作業(yè)而壓力很大,每臺(tái)服務(wù)器都有不同的繁忙時(shí)間和空閑時(shí)間。如果你把所有數(shù)據(jù)都放在固態(tài)存儲(chǔ)上,那你就不需要考慮緩存和分層技術(shù)了;但如果你的數(shù)據(jù)中心,就像大多數(shù)數(shù)據(jù)中心一樣,大部分當(dāng)前應(yīng)用的數(shù)據(jù)都保存在傳統(tǒng)的旋轉(zhuǎn)硬盤驅(qū)動(dòng)器上,就應(yīng)該考慮這種技術(shù)。
利用SSD分層技術(shù),用戶可以決定什么時(shí)候什么數(shù)據(jù)放置在固態(tài)硬盤上。分層可以手工執(zhí)行,也可以借助主機(jī)或存儲(chǔ)控制器上的自動(dòng)分層軟件執(zhí)行。分層技術(shù)會(huì)在合適的時(shí)間把特定的熱點(diǎn)數(shù)據(jù)遷移到SSD層,同時(shí),在合適的時(shí)間再把它們遷移回低速的磁盤層。如果分層是手工執(zhí)行的,那么管理員必須不停地觀察I/O活動(dòng),以決定何時(shí)遷移哪幾個(gè)文件或數(shù)據(jù)。你不得不人工跟蹤你系統(tǒng)中每個(gè)文件的訪問頻率,從而根據(jù)這些訪問確定何時(shí)把這些數(shù)據(jù)遷入遷出SSD層。對(duì)于各種不同規(guī)模的系統(tǒng),手工執(zhí)行幾乎是不可能完成的任務(wù),這就需要自動(dòng)分層軟件了。利用自動(dòng)分層軟件,文件和數(shù)據(jù)的訪問情況會(huì)被自動(dòng)地跟蹤,數(shù)據(jù)遷移按照用戶定義的策略,在預(yù)定的時(shí)間執(zhí)行。分層技術(shù)的采用,使那些數(shù)據(jù)已經(jīng)遷移到較快層級(jí)的應(yīng)用受益,且性能的提升是立即而顯著的。如果你有多個(gè)應(yīng)用,需要提升性能,而卻無(wú)法抉擇(或者沒有時(shí)間去檢驗(yàn),哪些應(yīng)用需要提升性能),自動(dòng)分層解決方案是一個(gè)好的選擇。如果你只有一個(gè)應(yīng)用希望從分層技術(shù)中受益,你就不需要自動(dòng)分層軟件了。而大部分擁有幾十、上百甚至是上千應(yīng)用系統(tǒng)的數(shù)據(jù)中心都可利用這種技術(shù)獲得更高的性能。
固態(tài)緩存技術(shù)
另外一種技術(shù)叫做SSD緩存技術(shù)。數(shù)據(jù)緩存到SSD中是由主機(jī)軟件或存儲(chǔ)控制器決定的,這種技術(shù)會(huì)把數(shù)據(jù)復(fù)制一份到SSD緩存中,無(wú)需從用戶和應(yīng)用軟件所確定的原始位置遷移數(shù)據(jù)。緩存技術(shù)非常容易管理,因?yàn)樗械臎Q定都是由緩存軟件或控制器做出的。緩存技術(shù)把熱點(diǎn)數(shù)據(jù)調(diào)入緩存進(jìn)行訪問以加速應(yīng)用程序的訪問,性能隨著更多的數(shù)據(jù)進(jìn)入緩存而逐漸得以提升。我們把這種逐步的性能提升叫做“熱身”或者“爬升”,其發(fā)生會(huì)持續(xù)幾分鐘或數(shù)小時(shí),這依賴于設(shè)備和I/O操作的數(shù)量。根據(jù)設(shè)備的不同,緩存的數(shù)據(jù)可以使只讀的或讀寫均可的。SSD緩存技術(shù)沿用了很多與內(nèi)存緩存技術(shù),甚至是處理器內(nèi)部緩存技術(shù)相同的緩存算法。某些SSD緩存解決方案不僅僅緩存那些明顯的熱點(diǎn)數(shù)據(jù),而且還會(huì)預(yù)先獲取其臨近數(shù)據(jù),緩存軟件認(rèn)為按照其I/O模式,這部分?jǐn)?shù)據(jù)也會(huì)變成熱點(diǎn)。大部分緩存解決方案讓管理員決定哪些文件或卷能夠進(jìn)入緩存使性能提升,所以你可以排除某些特定的數(shù)據(jù)以防止其阻塞緩存。如果你認(rèn)為大部分或者所有的應(yīng)用程序都能得到性能的提升,你就應(yīng)該考慮使用SSD緩存技術(shù)了。
利用分層和緩存技術(shù),SSD能夠使更多容量得到性能的提升。對(duì)于這兩種方案,你必須計(jì)算出需要多少的SSD容量。在多數(shù)情況下,認(rèn)為只需要總磁盤存儲(chǔ)空間的3%或至多10%的SSD容量既可獲得性能的顯著提升。
SSD的數(shù)據(jù)壓縮
壓縮技術(shù)是另外一個(gè)因?yàn)楣虘B(tài)存儲(chǔ)技術(shù)獲得新面貌的話題。因?yàn)镾SD技術(shù)通常比傳統(tǒng)硬盤技術(shù)更加昂貴,在只關(guān)注每GB的價(jià)格的情況下,提升SSD技術(shù)所帶來的效益的一種方式就是在把數(shù)據(jù)存放到SSD之前進(jìn)行數(shù)據(jù)壓縮,因此而消耗更少的SSD寶貴的空間資源。目前,隨著處理器性能的提升,花費(fèi)一些額外的CPU處理能力進(jìn)行數(shù)據(jù)壓縮,然后再存儲(chǔ)在較快速的存儲(chǔ)設(shè)備,從而使得整個(gè)性能的提升。這就需要考慮壓縮是發(fā)生在主機(jī)上還是發(fā)生在存儲(chǔ)系統(tǒng)上。某些存儲(chǔ)已經(jīng)能夠進(jìn)行壓縮了,數(shù)據(jù)在進(jìn)入存儲(chǔ)系統(tǒng)的時(shí)候立刻進(jìn)行壓縮處理,所有的緩存、SSD或磁盤設(shè)備只能看到壓縮后的數(shù)據(jù),這樣就可以占用更少的容量了。
另外一個(gè)解決方案,上面已經(jīng)提及,就是全閃存陣列。這將變得更加普遍,大的存儲(chǔ)廠商去年開始跟進(jìn)由一些初創(chuàng)公司所引導(dǎo)的趨勢(shì)。我們完全可以期望看到從大的存儲(chǔ)廠商在今年發(fā)布其閃存陣列。很可能在不久的將來,全閃存陣列會(huì)具有現(xiàn)在硬盤驅(qū)動(dòng)器系統(tǒng)相同的先進(jìn)功能,包括像自動(dòng)精簡(jiǎn)配置,重復(fù)數(shù)據(jù)刪除和更多的東西。