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