概述
分布式存儲概念
分布式存儲系統(tǒng)是大量普通 PC 服務(wù)器通過 Internet 互聯(lián),對外作為一個整體提供存儲服務(wù)
特點
可擴(kuò)展、低成本、高性能、易用
分布式存儲涉及的設(shè)計主要來自兩個領(lǐng)域:分布式系統(tǒng)以及數(shù)據(jù)庫
數(shù)據(jù)分布、一致性、容錯、負(fù)載均衡、事務(wù)與并發(fā)控制、易用性、壓縮 / 解壓縮
分布式存儲分類
非結(jié)構(gòu)化數(shù)據(jù)、結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)
分布式存儲系統(tǒng)分為四類:
分布式文件系統(tǒng) :以對象的形式組織,對象之間沒有關(guān)聯(lián),這樣的數(shù)據(jù)一般稱為 Blob(Binary Large Object, 二進(jìn)制大對象 ) 數(shù)據(jù)。分布式文件系統(tǒng)也常作為分布式表格系統(tǒng)以及分布式數(shù)據(jù)庫的底層存儲。分布式文件系統(tǒng)存儲三種類型的數(shù)據(jù): Blob 對象、定長塊以及大文件。從系統(tǒng)實現(xiàn)層面,分布式文件系統(tǒng)內(nèi)部按照數(shù)據(jù)塊 (chunk) 來組織數(shù)據(jù),每個數(shù)據(jù)塊的大小大致相同,每個數(shù)據(jù)塊可以包含多個 Blob 對象或者定長塊,一個大文件也可以拆分為多個數(shù)據(jù)塊。分布式文件系統(tǒng)將這限額數(shù)據(jù)塊分散到存儲集群,處理數(shù)據(jù)復(fù)制、一致性、負(fù)載均衡、容錯等分布式系統(tǒng)難題,并將用戶對 Blob 對象,定長塊以及大文件的操作映射為對底層數(shù)據(jù)塊的操作
分布式鍵值系統(tǒng) :用于存儲關(guān)系簡單的半結(jié)構(gòu)化數(shù)據(jù),它只提供基于主鍵的 CRUD 功能,即根據(jù)主鍵創(chuàng)建、讀取、更新或者刪除一條鍵值記錄。從數(shù)據(jù)結(jié)構(gòu)的角度看,分布式鍵值系統(tǒng)與傳統(tǒng)的哈希表比較類似,不同的是,分布式鍵值系統(tǒng)支持將數(shù)據(jù)分不到集群中的多個存儲節(jié)點。分布式鍵值系統(tǒng)是分布式表格系統(tǒng)的簡化實現(xiàn),一般用作緩存。一致性哈希是分布式鍵值系統(tǒng)中常用的數(shù)據(jù)分布技術(shù)。
分布式表格系統(tǒng) :用于存儲關(guān)系較為復(fù)雜的半結(jié)構(gòu)化數(shù)據(jù),與分布式鍵值系統(tǒng)相比,分布式表格系統(tǒng)不僅僅支持簡單的 CRUD, 而且支持掃描某個主鍵范圍。以表格為單位組織數(shù)據(jù),每個表格包括很多行,通過主鍵標(biāo)識一行,支持根據(jù)主鍵的 CRUD 功能以及范圍查找功能。支持某種程度上的事務(wù)。與分布式數(shù)據(jù)庫相比,分布式表格系統(tǒng)主要支持針對單張表格的操作,不支持一些特別復(fù)雜的操作,比如多表關(guān)聯(lián),多表聯(lián)接,嵌套子查詢;分布式表格系統(tǒng),同一個表格的多個數(shù)據(jù)行也不要求包含相同類型的列,
分布式數(shù)據(jù)庫: 是從單機(jī)關(guān)系數(shù)據(jù)庫擴(kuò)展而來,用于存儲結(jié)構(gòu)化數(shù)據(jù)。分布式數(shù)據(jù)庫采用二維表格組織數(shù)據(jù),提供 SQL 關(guān)系查詢語句,支持多表關(guān)聯(lián),嵌套子查詢等復(fù)雜操作,并提供數(shù)據(jù)庫事務(wù)以及并發(fā)控制,為了解決關(guān)系數(shù)據(jù)庫面臨的可擴(kuò)展性、高并發(fā)性以及性能方面的問題,各種菲關(guān)系數(shù)據(jù)庫風(fēng)起云涌,這類系統(tǒng)成為 NoSQ 系統(tǒng)。
單機(jī)存儲系統(tǒng)
單機(jī)存儲引擎就是哈希表、 B 樹等數(shù)據(jù)結(jié)構(gòu)在機(jī)械磁盤、 SSD 等持久化介質(zhì)上的實現(xiàn)。是單機(jī)存儲引擎的一種封裝,對外提供文件、鍵值、表格或者關(guān)系模型。單機(jī)存儲系統(tǒng)的理論來源與關(guān)系數(shù)據(jù)庫。數(shù)據(jù)庫將一個或多個操作組成一組,稱作事務(wù),事務(wù)必須滿足原子性( Atomicity )、一致性( Consistency )、隔離性( Isolation )以及持久性 (Durability), 簡稱 ACID 特性。多個事務(wù)并發(fā)執(zhí)行時,數(shù)據(jù)庫的并發(fā)控制管理器必須能保證多個事務(wù)的執(zhí)行結(jié)果不能破壞某種約定,如不能出現(xiàn)執(zhí)行到一半的情況,不能讀取到未提交的事務(wù),等等。為了保證持久性,對于數(shù)據(jù)庫的每一個變化都要在磁盤上記錄日志,當(dāng)數(shù)據(jù)庫系統(tǒng)突然發(fā)生故障,重啟后能恢復(fù)到之前的一致狀態(tài)
硬件基礎(chǔ) : 硬件發(fā)展很快,摩爾定律告訴我們:每 18 個月計算機(jī)等 IT 產(chǎn)品的性能會翻一番;或者說相同性能的計算機(jī)等 IT 產(chǎn)品,每 18 個月價錢會降低一半。計算機(jī)的硬件體系價格保持相對穩(wěn)定。架構(gòu)設(shè)計很重要的一點就是合理選擇并能夠最大限度的發(fā)揮底層硬件的價值
CPU 架構(gòu): 早期的 CPU 為單核芯片,工程師很快意識到,僅僅提高單核的速度會產(chǎn)生過多的熱量且無法帶來相應(yīng)的性能改善,因此,現(xiàn)代服務(wù)器基本為多核或多個 CPU 。經(jīng)典的多 CPU 架構(gòu)為對稱多處理結(jié)構(gòu)( SMP ) , 即在一個計算機(jī)上匯聚了一組處理器,它們之間對稱工作,無主次或從屬關(guān)系,共享相同的物理內(nèi)存及總線。 SMP 架構(gòu)主要特征是共享,系統(tǒng)中所有資源( CPU 、內(nèi)存、 I/O )都是共享的,由于多 CPU 對前端總線的競爭, SMP 的擴(kuò)展能力非常有限。為了提高擴(kuò)展性,現(xiàn)在主流服務(wù)器架構(gòu)一般為 NUMA( 非一致存儲訪問 ) 架構(gòu)。它具有多個 NUMA 節(jié)點,每個 NUMA 節(jié)點是一個 SMP 結(jié)構(gòu),一般由多個 CPU 組成,并且具有獨立的本地內(nèi)存、 IO 槽口
IO 總線: 存儲系統(tǒng)的性能瓶頸一般在于 IO.
網(wǎng)絡(luò)拓?fù)洌?思科過去一致提倡三層拓?fù)?接入層 -> 匯聚層 -> 核心層) 2008 年谷歌將網(wǎng)絡(luò)改造為扁平化拓?fù)浣Y(jié)構(gòu),即三級 CLOS 網(wǎng)絡(luò),同一個集群內(nèi)最多支持 20480 臺服務(wù)器,切任何兩臺都有 1GB 帶寬。同一個數(shù)據(jù)中心內(nèi)部的傳輸延時是比較小的,網(wǎng)絡(luò)一次來回的時間在 1 毫秒之內(nèi)。數(shù)據(jù)中心之間的傳輸延遲是很大的,取決于光在光纖的傳輸時間。
性能參數(shù): 存儲系統(tǒng)的性能瓶頸主要在于磁盤隨機(jī)讀寫。設(shè)計存儲引擎的時候會針對磁盤的特性做很多的處理,比如將隨機(jī)寫操作轉(zhuǎn)化為順序?qū),通過緩存減少對磁盤隨機(jī)讀操作。固態(tài)磁盤( SSD )在最近幾年得到越來越多的關(guān)注,各大互聯(lián)網(wǎng)公司都有大量基于 SSD 的應(yīng)用。 SSD 的特點是隨機(jī)讀取延遲小,能有提供更高的 IOPS( 每秒讀寫, Input/Output Per Second) 性能。它的主要問題在于容量和價格,設(shè)計存儲系統(tǒng)的時候一般可以用來做緩存或者性能要求較高的關(guān)鍵業(yè)務(wù)
單位成本提供的 IOPS 比傳統(tǒng)的 SAS 或者 SATA 磁盤都要大很多,而且 SSD 功耗低,更加環(huán)保,適合小數(shù)據(jù)量并且對性能要求更高的場景。
存儲層次架構(gòu): 從分布式系統(tǒng)的角度看,整個集群中所有服務(wù)器上的存儲介質(zhì)(內(nèi)存、機(jī)械硬盤、 SSD )構(gòu)成一個整體,其他服務(wù)器上的存儲介質(zhì)與本機(jī)存儲介質(zhì)一樣都是可訪問的,區(qū)別僅僅在于需要額外的網(wǎng)絡(luò)傳輸及網(wǎng)絡(luò)協(xié)議棧等訪問開銷。
存儲系統(tǒng)的性能主要包括兩個緯度:吞吐量以及訪問延時,設(shè)計系統(tǒng)時要求能夠在保證訪問延時的基礎(chǔ)上,通過最低的成本實現(xiàn)盡可能高的吞吐量。磁盤和 SSD 的訪問延時差別很大,但寬帶差別不大,因此,磁盤適合大塊順序訪問的存儲系統(tǒng), SSD 適合隨機(jī)訪問較多或者對延時比較敏感的關(guān)鍵系統(tǒng)。二者常常組合在一起進(jìn)行混合存儲,熱數(shù)據(jù)(訪問頻繁)存儲到 SSD 中,冷數(shù)據(jù)(訪問不頻繁)存儲到磁盤中。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:大規(guī)模分布式存儲系統(tǒng)原理與架構(gòu)
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/10839720759.html