大規模分佈式存儲系統筆記二

概述

本篇我們先談談單機存儲。單機存儲系統是單機存儲引擎的一種封裝,對外提供文件、鍵值、表格或者關係模型。學計算機專業的同學應該都學過關係數據庫吧,單機存儲的理論其實基本來源於關係數據庫。本篇會從CPU、IO、網絡等硬件基礎知識及性能參數、接着介紹主流單機存儲引擎。其中,哈希存儲引擎是哈希表的持久化實現,B樹存儲引擎是B樹的持久化實現,而LSM樹(Log Structure Merge Tree)存儲引擎採用批量轉儲技術避免磁盤隨機寫入,這些都是從物理結構研究存儲。本篇大家將再度學習關係型數據庫理論基礎,包括事務、併發控制、故障恢復、數據壓縮等。

CPU架構

早期的CPU爲單核芯片,提高單核會產生過多的熱量且無法帶來相應的性能改善。因此,現代服務器基本多核或多個CPU。經典的多CPU架構爲對稱多處理結構SMP

IO總線

典型的南、北架構,北橋芯片通過前端總線與CPU相連,內存模塊以及PCI-E設備(如高端的SSD設備)掛接在被橋上。北橋與南橋之間通過DMI連接,DMI的帶寬爲1GB/s,網卡,硬盤以及中低端固態盤掛接在南橋上。

網絡拓撲

傳統數據中心網絡拓撲:接入層(Edge),中間是匯聚層(Aggregation),上面是核心層(Core)。典型的接入層交換機包含48個1Gb端口以及4個10Gb上行端口,匯聚層以及核心層的交換機包含128個10Gb的端口。傳統三層結構的問題在於可能有很多接入層的交換機接到匯聚層,很多的匯聚層交換機接到核心層。同一個接入層下的服務器之間帶寬爲1Gb,不同接入層交換機下的服務器之間的帶寬小於1Gb。
Google在2008年的時候將網絡改造爲扁平化拓撲結構,即三級CLOS網絡,同一個集羣內最多支持20480臺服務器,且任何兩臺都有1Gb帶寬。

性能參數

SSD單位成本提供的IOPS比傳統的SAS或者SATA磁盤都要大得多,而且SSD功耗低,更加環保,適合小數據量並且對性能要求更高的場景。當然內存IOPS是千萬級的。

存儲層次架構

從 分佈式系統的角度看,整個集羣中所有服務器 上的存儲介質( 內存、機械 硬盤,SSD)構成一個整體,其他服務器上的存儲介質與本機存儲介質一樣都是可訪問的,區別僅僅在於需要額外的網絡傳輸 及網絡協議棧等訪問開銷。
存儲系統的性能主要包括兩個維度:吞吐量以及訪問延時,設計系統時要求能夠在保證訪問延時的基礎上,通過最低的成本實現儘可能高的吞吐量。磁盤和SSD的訪問延時差別很大,但帶寬差別不大,因此, 磁盤 適合 大塊 順序 訪問 的 存儲 系統,SSD適合隨機訪問較多或者對延時比較敏感的關鍵系統。二者也常常組合在一起進行混合存儲,熱數據(訪問 頻繁)存儲到SSD中,冷數據(訪問不頻繁)存儲到磁盤中。

單機存儲引擎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章