由于需求加速增加,以及獲得客戶的認(rèn)可,各公司的CIO們迅速認(rèn)識(shí)到,閃存非常適合于數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)和大數(shù)據(jù)分析等性能密集型應(yīng)用。
盡管業(yè)界在大談全閃存和混合閃存陣列,然而,服務(wù)器端閃存尤其是PCIe閃存出貨量已經(jīng)開始起飛。Gartner Group預(yù)計(jì),服務(wù)器端閃存的出貨量在2015年將超過(guò)100萬(wàn)片。[1]此外,隨著PCIe閃存的價(jià)格逐漸降至接近1美元/GB,Gartner預(yù)計(jì)到2018年,所有出貨至數(shù)據(jù)中心的SSD中,有接近一半都將是PCIe閃存。[2]
在初期,只有使用橫向擴(kuò)展架構(gòu)和NoSQL數(shù)據(jù)庫(kù)的以部署超大規(guī)模應(yīng)用的客戶采用PCIe閃存,而目前PCIe閃存的價(jià)格和性能優(yōu)勢(shì)已使其成為這一類應(yīng)用場(chǎng)景的主流存儲(chǔ)設(shè)備。此外,在最近興起的軟件定義存儲(chǔ)架構(gòu)中,使傳統(tǒng)企業(yè)也可以在更多的應(yīng)用場(chǎng)景使用PCIe閃存,而在這些軟件技術(shù)出現(xiàn)之前,往往需要使用外部延遲較高并且成本也較高的SAN架構(gòu)存儲(chǔ)解決方案。
用作SAN存儲(chǔ)緩存
PCIe閃存最常見(jiàn)的用途就是在現(xiàn)有的SAN存儲(chǔ)設(shè)備前端添加緩存。這種方法對(duì)于現(xiàn)有的SAN架構(gòu)存儲(chǔ)設(shè)備而言完全透明,同時(shí)將延遲從幾毫秒降低到幾十微秒,并可大幅提升現(xiàn)有基礎(chǔ)設(shè)施的IOPs能力。這種使用案例被廣泛部署在如單一PCIe設(shè)備和緩存軟件且價(jià)格不超過(guò)1萬(wàn)美元的Microsoft® SQL Server的數(shù)據(jù)庫(kù)中。為獲得相同的IOPs,傳統(tǒng)SAN存儲(chǔ)可能需要5倍的費(fèi)用,而且絕對(duì)不可能達(dá)到同等的低延遲水平。相對(duì)而言,PCIe緩存的方式實(shí)現(xiàn)了驚人的性能提升。在數(shù)據(jù)庫(kù)運(yùn)行環(huán)境中,延遲意味著等待時(shí)間,即用戶得到響應(yīng)時(shí)間;延遲越長(zhǎng),每秒完成的交易量就越少。時(shí)間就是金錢,基于PCIe閃存的緩存軟件是一種快捷而簡(jiǎn)單的解決方案。
共享式閃存訪問(wèn)
許多企業(yè)級(jí)數(shù)據(jù)庫(kù)需要訪問(wèn)共享存儲(chǔ)。一個(gè)很好的例子就是Oracle® 單實(shí)例數(shù)據(jù)庫(kù)和 Oracle Real Application Clusters(RAC)。RAC使用Oracle自動(dòng)存儲(chǔ)管理(ASM)作為數(shù)據(jù)庫(kù)的卷管理組件。ASM使用磁盤組來(lái)存儲(chǔ)數(shù)據(jù)文件,并提供基于服務(wù)器的靈活鏡像選項(xiàng)。到目前為止,Oracle ASM使用閃存的唯一途徑就是使用部署在SAN陣列內(nèi)部的閃存。然而,延遲和成本可能使得建立在SAN之上的Oracle數(shù)據(jù)庫(kù)變得非常昂貴,特別是隨著業(yè)務(wù)的發(fā)展,需要更多IOPs來(lái)保持工作負(fù)荷余量。
HGST推出的軟件定義存儲(chǔ)產(chǎn)品,使PCIe閃存可以直接在數(shù)據(jù)庫(kù)服務(wù)器內(nèi)部以ASM磁盤組的形式進(jìn)行管理和訪問(wèn)。ASM可以根據(jù)數(shù)據(jù)存儲(chǔ)的需求聚合盡可能多的PCIe閃存以用于存儲(chǔ)更多的數(shù)據(jù)。由于存儲(chǔ)直接連在服務(wù)器總線上,使用數(shù)據(jù)庫(kù)全閃存層可以達(dá)到微秒級(jí)的延遲(Oracle的Calibrate_IO工具無(wú)法測(cè)量出此量級(jí)的數(shù)值)。由于ASM可以應(yīng)用于所有常見(jiàn)的存儲(chǔ)設(shè)備,ASM可以將數(shù)據(jù)遷移到SAN存儲(chǔ)上的大容量存儲(chǔ)設(shè)備中來(lái)降低價(jià)格并優(yōu)化性能。閃存訪問(wèn)共享的另一個(gè)附加好處是提高了服務(wù)器的CPU核心使用率,從而降低Oracle許可證費(fèi)用或提升現(xiàn)有許可證的有效價(jià)值。
集群和服務(wù)器整合
對(duì)于MySQL這樣的數(shù)據(jù)庫(kù)來(lái)說(shuō),傳統(tǒng)方法是成對(duì)部署主/從服務(wù)器。主服務(wù)器屬于更大集群的一部分,集群中的數(shù)據(jù)庫(kù)行在多個(gè)主服務(wù)器中橫向共享,以實(shí)現(xiàn)橫向擴(kuò)展。從屬服務(wù)器用于分擔(dān)讀操作的工作負(fù)荷,并作為主服務(wù)器崩潰或數(shù)據(jù)被破壞時(shí)的故障切換節(jié)點(diǎn)。
PCIe閃存速度快,延遲小,使得單臺(tái)設(shè)備便可以處理主服務(wù)器上讀寫工作量。由于數(shù)據(jù)庫(kù)損壞和服務(wù)器崩潰的情況十分罕見(jiàn),許多從屬服務(wù)器一直空轉(zhuǎn)耗電、占用空間還需要冷卻。使用PCIe閃存設(shè)備和服務(wù)器端閃存集群軟件可以很輕松地解決這種“服務(wù)器無(wú)序擴(kuò)張”問(wèn)題。
集群軟件允許多個(gè)主服務(wù)器將其所有的閃存資源聚集為一個(gè)資源池,然后為每個(gè)主服務(wù)器分配池中的一個(gè)卷。單節(jié)點(diǎn)從屬服務(wù)器或者安裝少量開源軟件的多功能服務(wù)器將以“監(jiān)聽(tīng)者”的身份運(yùn)行。當(dāng)主服務(wù)器出現(xiàn)故障時(shí),多功能服務(wù)器掛載相應(yīng)的卷并繼續(xù)操作,避免了停機(jī);由于所有的主服務(wù)器都將數(shù)據(jù)同步復(fù)制到資源池中,在故障切換時(shí)將不會(huì)有丟失數(shù)據(jù)。這一點(diǎn)非常重要,因?yàn)樵谋镜豈ySQL復(fù)制為異步復(fù)制,部分交易記錄可能會(huì)被丟失。此項(xiàng)針對(duì)MySQL實(shí)際部署進(jìn)行的改變簡(jiǎn)單而巧妙,能夠依據(jù)集群大小的不同將服務(wù)器的數(shù)量減少至介乎38%到70%。
凝視未來(lái);接下來(lái)是什么
在這些任務(wù)關(guān)鍵型企業(yè)環(huán)境中,延遲意味著等待時(shí)間,即用戶等待響應(yīng)時(shí)間,延遲越長(zhǎng)每秒完成的交易量就越少。時(shí)間就是金錢,因此閃存成為一個(gè)越來(lái)越有吸引力的解決之道。這意味著效率、性能和可擴(kuò)展性的標(biāo)準(zhǔn)將受到緊密的關(guān)注。企業(yè)要取得成功,則需要從自己的數(shù)據(jù)中提取出更大的價(jià)值。
硬件和軟件解決方案必須幫助CIO們?cè)谛阅堋?fù)雜度和成本之間取得平衡,即專注于以全SSD環(huán)境加速峰值應(yīng)用,通過(guò)分層或使用緩存來(lái)利用硬盤和閃存相結(jié)合的環(huán)境從而改善滯后的性能。