傳統存儲與分布式存儲恩仇錄
一、傳統存儲系統的前世今生
1、一路走來的存儲硬件
想要了解傳統存儲系統的前世今生,從存儲設備開始是個不錯的選擇,關于存儲硬件,常見的無非是硬盤,內存,固態硬盤,閃存等,硬盤和內存是相對出現比較早的存儲介質。
早期的硬盤很龐大,單位面積存儲數據量很有限,但是隨著技術的發展,存儲密度逐漸增加,而存儲的成本卻逐年下降。在早期,存儲系統主要關注的點在于如何降低存儲設備的造價,如何增加單位面積上的存儲量。隨著存儲技術的提升,存儲硬件的發展速度趕上了通信以及CPU的發展速度。存儲關鍵技術有所轉變,上層的存儲管理系統所占整體存儲系統的成本越來越大,對于存儲介質本身,經過多年的發展,除了傳統的HDD外,新興存儲介質在存儲密度上逐年上升,單位存儲價格逐年下降。在讀寫效率上,SSD隨機讀寫效率要遠高于HDD,RAM讀寫效率是這幾種存儲介質中***的,但RAM存在掉電丟數據的風險,在可靠性要求較高的系統中還是不能沒有持久存儲的設備。于是為了彌補RAM的缺陷,NVM出現了。新興存儲設備的出現,勢必會影響上層存儲系統的設計實現。
2、傳統存儲系統的開枝散葉
2.1 單機存儲的步步為營
早期的存儲設備是直接被CPU所控制的,這種方式存在諸多的問題,后來引進了額外的存儲控制單元(control unit),CPU通過I/O指令來對硬盤進行控制,同時,控制單元還提供緩存機制,緩解CPU,內存,磁盤速度不匹配問題。隨著數據規模的逐漸增加,人們對于存儲的需求越來越大,單個磁盤的存儲已經無法滿足一些大數據場景的需求。后來出現了RAID,它有很多價格便宜的磁盤組成巨大的磁盤組,利用個別磁盤提供數據所產生加成效果提升整個磁盤系統效能。這種方式不會對數據進行校驗,對數據進行冗余備份,后來幾乎所有的IT系統都需要進行容災恢復,所以,對數據的備份顯得尤為重要,這里RAID就提供RAID1級別,做基本的鏡像備份,在不影響性能情況下***限度地保證系統的可靠性和可修復性。
2.2 網絡存儲的蓄勢待發
隨著網絡技術的發展,局域網技術使的數據的傳輸代價較低,于是網絡存儲變成了大家的***,,后來在單機文件上衍生出了NFS,他可以讓不同的文件之間共享文件系統。后來由此催生了一些經典的協議NFS,CIFS等。
3、傳統存儲的優缺點
一直以來,各企業公司政府事業單位信息化建設都是使用的傳統存儲,傳統存儲具有悠久的歷史與成熟的技術,使用的場景豐富,實踐經驗豐富,另外,專用存儲設備的廠商較多,從維護角度來說,有專門的人才***程度保證可靠性與穩定性。此外,傳統存儲具有較多的數據保護特性,適用范圍廣泛。并且部署起來比較簡單,組網邏輯簡單。
同樣的,傳統存儲的成本較高,需要購買專門的硬件,專門的License,專用的線纜,專用的交換機,專門的板卡,專門的多路徑軟件。在維護上,雖然有了專門的人才,較多的數據保護特性,但是,由于廠商較多(既是優點也是缺點),也導致了在多廠商異構組網的時候難于維護。
二、分布式存儲系統的應運而生
互聯網規模越來越大,并發請求越來越高,傳統的數據庫并不能很好的滿足各種場景,于是分布式儲存系統應運而生。
1、分布式相比于傳統存儲系統的優點
①高性能
他通常可以高效地管理讀緩存和寫緩存,支持自動的分布式存儲通過將熱點區域2映射到高速緩存,提高響應速度。一旦不在是熱點,那么存儲系統將會把他們移除。寫緩存技術可配合高速存儲明顯改變整體存儲的性能,按照一定的策略先將數據寫入高速存儲,再在適當的時間進行同步落盤。
②支持分布式存儲
通過網絡進行松耦合鏈接,允許高速村塾和低速存儲分開部署。一定條件下分層存儲的優勢可以發揮到***。解決了***的問題是當性能池讀不***后,從冷池提取數據的粒度太大,導致延遲高,從而給造成整體的性能的抖動的問題。
③多副本一致性
他相比傳統的存儲框架使用RAID不同。它采用了多分本備份機制,存儲之前進行分片,之后按照一定的規則存在集群的節點上,為了保證數據一致性,布式存儲通常采用的是一個副本寫入,多個副本讀取的強一致性技術,讀取數據失敗,從其他副本獲取,重新寫入該副本恢復。
④容災與備份
對于容災采用最重要的手段就是快照,可以實現一定時間下的數據的保存。他有利于故障重現,有助于分析研究,避免災難,備份就是為了數據的安全性。
⑤彈性擴展
分布式存儲可預估并且彈性擴展計算、存儲容量和性能,節點擴展后,舊數據自動遷移到新節點上,實現負載均衡,避免單點問題。水平擴展只需要將節點和原來的集群鏈接到同一網絡,整個過程不會對業務造成影響,當加節點時,集群系統的容量和性能隨之線性擴展,。新節點資源會被平臺接管,唄分配或吸收。
⑥存儲系統標準化
隨著分布式存儲的發展,存儲行業的標準化進程也不斷推進,分布式存儲優先采用行業標準接口(SMI-S或OpenStack Cinder)進行存儲接入,在平臺層面,通過將異構存儲資源進行抽象化,將傳統的存儲設備級的操作封裝成面向存儲資源的操作,從而簡化異構存儲基礎架構的操作,以實現存儲資源的集中管理,并能夠自動執行創建、變更、回收等整個存儲生命周期流程。基于異構存儲整合的功能,用戶可以實現跨不同品牌、介質地實現容災,如用中低端陣列為高端陣列容災,用不同磁盤陣列為閃存陣列容災等等,從側面降低了存儲采購和管理成本。
2、分布式相比于傳統存儲系統的缺點
首先,從部署與維護的角度來看,分布式存儲部署過程較為復雜,需要專門的人才進行部署,維護與管理,需要一定的時間培養專門的人才。其次,從硬件設備角度來看,分布式存儲使用的均為X86架構服務器,穩定性可能不如傳統的硬件存儲。尤其對于銀行,金融,政府等重要行業,穩定永遠大于一切,他們既是新技術的實踐者但同時也需要最穩定的環境保持業務的良好運行。***,對于數據保護技術,大部分都是通過副本技術實現數據保護機制,常見的有兩副本三副本等,這樣也會造成可用存儲容量的降低。
三、總結
現在我們可以回答文章開頭提出的“分布式儲存系統那么牛逼,是不是傳統存儲系統就一無是處呢?”這個問題了。分布式存儲系統的誕生,與傳統存儲的最終目的都是一樣的,就是如何有效的利用好存儲,并降低維護成本。分布式存儲系統的產生也是對于傳統存儲系統缺點的補充,是在傳統存儲系統的基礎上的改進,我們也期待分布式存儲系統的發展,能夠更好的降低維護的人力物資成本,實現存儲資源的有效利用,實現數據的有效保護!