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