伴隨著交易系統,銀行還有大量的內部經營管理及分析類系統。管理分析類系統有實時分析系統及非實時分析系統,即我們常說的T+0系統和T+1系統。這些系統的數據類型和數據處理方式和交易系統有較大不同,這些系統對存儲的要求也有所不同。
一、金融行業應用特性
在金融行業的IT系統中,存儲設備有著舉足輕重的位置。我們知道,金融企業客戶的存款數據、貸款數據、理財數據、交易數據等等全部存在IT系統中,全部都是數字化、電子化的。這些數據的安全直接影響客戶和企業的資金安全,這些數據的存取效率直接影響客戶體驗,它們都存放在存儲設備中,因此存儲設備的選擇經常被大家關注。本文重點講講金融企業如何選擇存儲。
以銀行為例,我們來審視一下金融行業的應用都有哪些特點。從業務類型來看,銀行業務系統有交易類系統、經營管理類系統、AI、BI等分析類系統、辦公類系統等。從數據的全生命周期來看,分為在線數據和非在線數據,非在線數據又有備份數據和歸檔數據。銀行應用的多樣性,決定了數據的多樣性,從而也決定了對存儲設備選擇的多樣性。
交易類系統是銀行最重要的系統,它直接面向客戶提供金融業務服務。銀行的交易系統并非是單個系統,而是由許許多多的系統組成,其中最重要的系統是被稱為核心系統的賬務處理系統,圍繞著核心系統,還有眾多的產品、渠道類系統,它們共同構成一套復雜的分布式業務處理系統。每套系統都有相對獨立的功能,客戶完成任何一筆金融業務,都會涉及到多套系統,其中任何一套系統的故障或緩慢都會影響客戶的業務體驗。因此,交易鏈路上的每套系統都需要很高的安全性、穩定性和并發交易處理能力。近年來,隨著移動互聯網、Fintech對金融行業的影響,銀行的應用系統也在不斷互聯網化,秒殺、交易銀行等新的應用形態層出不窮,交易系統必須面對突發和不確定性的高并發,這對銀行系統的穩定性和性能要求提出了更高的要求。
伴隨著交易系統,銀行還有大量的內部經營管理及分析類系統。管理分析類系統有實時分析系統及非實時分析系統,即我們常說的T+0系統和T+1系統。這些系統的數據類型和數據處理方式和交易系統有較大不同,這些系統對存儲的要求也有所不同。分析類系統不會面臨突發和不確定性的并發量,也不需要快速的單筆交易處理時間;但是分析類系統需要在一定的時間內完成海量數據的處理和計算,需要具備非常強的批量處理能力和并行處理能力,這就要求對應的存儲系統有較大的吞吐能力。
二、金融行業對存儲的需求
根據上述金融行業應用的特性,結合應用的具體技術形態,對存儲的需求基本有這幾類:
1、虛擬機應用的IO特性及對存儲的需求
隨著云計算、虛擬化技術的推廣使用,金融行業不管是交易類系統還是分析類系統,大量應用節點,包括web服務器、業務處理的App服務器、通訊服務器,及部分體量較小的數據庫基本都運行在虛擬機上。為了保證虛擬機的高可用,往往會構建虛擬化集群,并使用共享存儲。虛擬機存儲的數據和數據訪問的特點是:數據存儲量大,通常一個虛擬機需要的存儲空間在幾十GB到數百GB不等;數據的重復量大,可壓縮的空間大;對IO性能的要求中等,對于應用節點,IO時延在10ms(毫秒)左右基本可滿足要求,如果虛擬機上運行數據庫,則IO時延通常要求小于5ms。金融行業虛擬機通常通過共享存儲實現虛擬化的高可用,因此,對存儲的穩定性有較高的要求。
2、容器應用的IO特性及對存儲的需求
容器上運行的主要是無狀態應用和輕量數據庫。容器應用對存儲的需求,基本與虛擬機的需求差不多。由于一些應用沒法完全做到無狀態,因此,容器應用往往需要共享存儲,通常通過NAS來提供共享能力。
3、數據庫應用的IO特性及對存儲的需求
數據庫系統一直處于金融業務系統的核心位置,幾乎所有的應用系統都離不開數據庫,數據庫系統的性能問題常常是應用系統性能問題的關鍵。存儲系統又在數據庫中起著決定性作用。數據庫按其處理業務的類型可分為OLTP(On-line Transaction Processing)、OLAP(On-Line Analytical Processing)和混合型。
OLTP主要處理的是前面所述的交易類系統,這類數據庫系統對存儲的IO時延極為敏感,并且都是隨機讀寫,通常對存儲的IO時延要求在2ms以內,應用系統的并發量越大,對存儲性能的要求越高。高IOPS(Input/Output Operations Per Second)、低時延是OLTP數據庫對存儲的共性要求。近年來像Redis等數據庫緩存的使用,隔離了應用對數據庫的直接高并發訪問,從某種程度上降低了數據庫對存儲的要求。
OLAP主要處理的是前面所述的分析類的應用,這類數據庫對存儲的吞吐量要求高、IOPS要求高,對IO時延也要求高,通常對存儲的IO時延要求在數ms之內,由于OLAP可以容忍數據庫的單個SQL響應時間略長,但對應用任務整體處理時間還是有一定要求,因此IO時延也不能太長。
還有一類是OLTP與OLAP混合的數據庫,對于混合型數據庫,對存儲的要求是最高的,既要求IO時延短,又要求存儲數據的吞吐量大。但是在高并發的應用系統設計中,通常會將應用拆分,盡量避免使用此類混合型數據庫。
4、文件共享類應用的IO特性及對存儲的需求
有些應用系統的服務器節點之間,需要共享數據庫,常見的是文件共享。這類系統對存儲的要求是IO時延在幾個ms左右,并且隨著文件數量的增加,時延不能增加。
5、非結構化數據和歸檔數據的IO特性及對存儲的需求
非計劃數據和歸檔數據的特點是文件數量大,文件數量通常在數億及以上;對存儲的時延要求不高,要求在幾十ms左右,但是要求存儲在容量增加時,性能不能降低。
6、融合結構
上面講的是存儲和計算分離的情況。計算與存儲的融合結構,比如超融合結構,也是較常見的一種方式。物理機(裸金屬服務器)使用本地磁盤也是常見的一種融合結構。這里均不做詳細討論。
7、運維智能化對存儲的需求
基于多設備、甚至是多設備多廠家管理的復雜情形下,金融企業數據中心需要有新型的管理方案,能夠按需分配存儲資源服務,自動化數據運維管理,支持開放架構、多云鏈接和融合,支持未來金融業務走向全場景智能、多云融合。
8、容災要求
在移動互聯網已普及、用戶對業務實時性需求越來越高的今天,保障業務連續性是重中之重,做好完備的災備方案規劃和實施,實現業務不中斷、數據不丟失、操作無感知是每個企業都應該思考的。在全閃數據中心中,完整的數據保護的過程應該是一個數據加熱的過程,熱數據應該全部做容災保障7x24H的業務連續;對溫數據來說則需要做熱備份,這樣當故障發生時,備份數據就能夠快速轉變成我們需要的生產數據;對于冷數據或是歸檔數據,當它們轉變為溫歸檔數據則能夠快速地被調用發揮價值。所以我們說,“熱數據全容災,溫數據熱備份,冷數據溫歸檔”,這樣整個數據的訪問效率也會得到大幅度提升。
三、金融行業存儲曾經的選擇
1、分布式與集中式之爭
集中式存儲是金融業常見的存儲設備,不管是SAN(Storage Area Network)存儲還是NAS(Network Attached Storage)存儲,在金融行業都已使用了二十年。很多銀行構建了龐大的SAN存儲網絡或NAS網絡,并且運行穩定。近些年隨著云計算技術的發展,互聯網企業開始大規模使用分布式存儲,分布式存儲給銀行傳統的集中存儲帶來了沖擊。很多金融企業面臨分布式和集中式存儲的選擇難題。
對于這個問題,其實不用糾結,不管是集中存儲還是分布式存儲都有其各自的特點和使用范疇。
集中存儲功能完善,穩定性好,運維簡單,監控、運維體系健全,技術成熟,可選擇的范圍也很廣,從中低端到高端產品齊全。不足是:單體容量有限,可擴展性較差,一次性投入大。
分布式存儲,通常使用多臺PC服務器,構造一個軟件定義的存儲,其特點是1)IO吞吐量大;2)擴容方便;3)可以組成大規模的存儲池;4)采購成本可分批次、分階段投入,設備可以分批次折舊。但是由于分布式存儲的成熟度不足,以及分布式存儲本身網絡連接的條件不如集中式,導致穩定的性能表現不足,運維相對復雜,配套的監控、運維體系不足。
在選擇上,如果系統對延時要求高,對性能的穩定性要求高,那么最好的選擇是集中式存儲。如果系統對IO吞吐量的要求高,而對性能要求沒那么高,分布式存儲是較高的選擇。對于大容量的對象存儲的選擇,基本上分布式存儲是不二的選擇。在云計算環境、虛擬化平臺所用的存儲,如果虛擬機本身沒有承載高IO性能要求的應用(如數據庫應用),那么分布式存儲是較好的選擇,服務器的擴容和存儲的擴容可以根據實際存儲的用量同步進行。個人認為,未來隨著分布式技術的發展,伴隨著云計算技術的發展,分布式存儲也將逐步在一段時間內成為主流。
2、FC與IP之爭
FC(Fiber Channel)一度因其穩定和低延遲的特性在金融行業占有絕對優勢。近年來隨著10G網絡和25G網絡的成熟,以及分布式存儲技術的逐漸成熟,IP存儲網絡得到快速發展,很多人認為基于IP的存儲網絡將替代FC網絡。但也有很多人認為IP網絡無法替代FC網絡。個人觀點是,FC網絡和IP網絡在很長一段時期內將共存,各有其優勢,從金融行業的選擇上,FC主要還是用于對穩定性和IO時延都要求很高的系統;隨著云計算技術的廣泛使用,以及RDMA(Remote Direct Memory Access)技術與融合以太網絡技術的結合,IP網絡將迎來越來越多的機會,同時,IP網絡由于其靈活性,將大量使用在金融企業私有云環境。后續的技術發展,IP存儲網絡的份額將逐漸擴大。
3、壕還是理性
金融行業的IT基礎設施往往被定義為“不差錢”,其實這只是外界部分人的偏見。實際的產品選擇上,金融企業在考慮風險的前提下,始終在考慮一個指標,那就是性價比。所以一個成熟的金融企業對存儲的選擇是非常理性的。
例如,為什么近幾年全閃存儲在金融行業得到廣泛使用。我們都知道全閃存儲的單位容量的價格比較高,但是綜合考慮IO性能、重刪壓縮功能、機房空間、運維成本、故障率等因素,全閃存儲的性價比具有更大的優勢。根據某廠商資料:相同容量下,閃存硬盤介質本身能耗是傳統機械硬盤的1/10,而全閃存帶來機柜空間的縮減,能使數據中心空調/風冷/能源等的消耗都大幅降低,帶來整體TCO的降低。數據中心IT設備的能耗占到一半以上,而存儲又占到IT設備的三分之一以上。假如以一個PUE為2的數據中心來算的話,如果說整個存儲系統節省一度電,那么整個數據中心就能節省兩度電。
另一方面,金融行業根據應用的IO特性不同,選擇的存儲檔次也不同,通常是中低端存儲和高端存儲搭配使用,集中存儲和分布式存儲的混合使用,最終的結果是通過架構的設計或管理要求,既要保證系統的高可用性和性能要求,又要用最低的成本采購到最適合的存儲設備。
四、趨勢與選擇
存儲的發展和幾個基礎的技術相關,1、存儲介質由傳統磁介質轉向閃存,機械盤轉向固態盤(SSD);2、網絡帶寬的提升;3、存儲通信協議的發展。下面我們來詳細說說。
首先,磁介質由機械盤轉向SSD,給存儲帶來了巨大的變化。我們知道一臺計算機在進行運算時,讀取數據最快的是CPU上的緩存,其次是內存,最慢的是外部存儲。在傳統磁介質時代,CPU大量的時間都消耗在等待IO,隨著SSD的快速發展,數據訪問SSD比磁盤快100倍左右,吞吐量大100倍,單盤的IOPS大1000倍以上,這些變化,促使了計算機系統處理能力的大幅提升。
其次,網絡帶寬的提升,為存儲IP網絡帶來了生機,也為分布式技術的發展帶來了活力。目前10Gb網絡已廣泛使用,25Gb網絡也在很多數據中心投入使用,未來40Gb、100Gb網絡也將逐步廣泛使用。高速網絡帶寬的最大受益者就是分布式計算,由于有了高速帶寬,節點間的數據交互變得相對容易。
再次,存儲通信協議的發展,把存儲介質變化的效率和網絡帶寬提升的作用充分發揮出來了。在磁介質時代,數據傳輸通常使用SCSI(Small Computer System Interface)或SATA(Serial Advanced Technology Attachment)協議,這些協議在處理磁盤IO時有其合理性,但是當SSD盤出現后,SCSI或SATA協議,SSD盤的性能和吞吐能力無法充分發揮。此時NVMe協議應運而生。NVMe全稱是NonVolatile Memory Express(非易失性內存標準),是一種新的存儲通信協議。NVMe利用了計算機或服務器中的PCIe高速總線,將其直接連接到計算機,從而減少了CPU的開銷,簡化了操作,降低了延遲,提高了IOPS和吞吐量。在NVMe協議中,其最大隊列數量為65535,每個隊列的深度可以高達65535。而SCSI協議只有1個隊列,每個隊列的深度只有254。這對于降低時延,提高服務器處理并發請求的能力至關重要。另外,前面講的RDMA協議,在處理主機通信時,IO處理下沉到網卡,減少對CPU的消耗,大幅降低了IO時延。
由于SSD的大量使用、網絡帶寬的大幅提升以及NVMe、RDMA協議的成熟,存儲發展出現了兩種新的趨勢。
趨勢一是服務器本地盤在大量場景下替代了存儲。這需要滿足3個基本條件:一、應用無需共享存儲,通過應用層面可保障高可用;二、本地盤的性能可滿足應用要求;三、本地盤的存儲容量可滿足應用要求。在服務器內部,NVMe協議已成熟,服務器使用本地SSD及NVMe協議可大幅提升性能,因此在性能上可滿足大部分的應用要求;SSD的單盤容量都在數TB,所以單臺服務器的存儲容量可配置數十TB,可滿足大部分應用要求。因此只要應用本身的機制可保障高可用,本地存儲解決方案將成為最簡潔的解決方案。
趨勢二是端到端NVMe協議的使用,真正實現計算資源對存儲的高性能要求。不管是SAN網絡還是IP網絡,傳輸環節對NVMe協議的支持是趨勢,NVMe-oF(NVMe over Fabric)目前有兩類解決方案,一類是基于傳統FC方式,另一類是基于RoCE(RDMA over Converged Ethernet),這兩類解決方案都有實際案例,性價比和穩定性決定了未來哪一種方案將占據主流。端到端的NVMe協議的使用,已成為高端全閃存儲的標配,既能夠釋放閃存介質的性能潛力,也能實現建設更標準通用的數據中心網絡。隨著成本的進一步下降,NVMe+SSD的組合也必將在中低端存儲中使用。
對金融企業來說,面臨眼花繚亂的存儲產品和解決方案,未來如何選擇?這里筆者給出幾點建議:
第一,存儲的高安全性是第一位的。也就是說,數據不能丟失,這是存儲設備選擇的前提。
第二,針對不同應用類型進行存儲選擇。對于OLTP數據庫應用,本地NVMe SSD盤或高端NVMe全閃存儲是合適的選擇,而OLAP數據庫應用,由于容量的原因更需要端到端的NVMe全閃存儲;對于云環境下虛擬化和基于容器的應用,分布式塊存儲或帶有重刪壓縮功能的中高端NVMe全閃存儲有更加明顯的性價比優勢;對于非結構化數據和歸檔數據的對象存儲的選擇,可以選擇大容量的SATA機械盤存儲。
第三,存儲方式的選擇。分布式存儲和集中式存儲在一段時間內將并存,金融企業可選擇在私有云環境下使用分布式存儲,但分布式存儲一定要和云平臺充分集成;如果沒有海量數據需求,建議盡量采用集中存儲,減少運維復雜度。對象存儲可采用分布式存儲。
第四,存儲網絡的選擇。FC網絡聚焦追求極端穩定與低延時的系統,新的數據中心沒有必要構建大型的SAN網絡。隨著云計算技術在企業自有數據中心的廣泛使用,IP存儲網絡的使用將越來越廣泛,尤其是云原生應用、微服務應用的推廣后,對彈性和自動化要求越來越高,IP存儲網絡的靈活性將發揮更加明顯的優勢。
面對紛繁復雜的存儲形態和存儲產品,金融企業一定要立足企業自身應用架構、技術架構的現狀,結合未來IT基礎設施發展的方向,綜合考慮和選擇。
五、總結