图文存储常识:单机、集中、分布式、云、云原生存储
背景
本文主要對(duì)楊傳輝(日照)《大規(guī)模分布式存儲(chǔ)系統(tǒng)原理解析與架構(gòu)實(shí)戰(zhàn)》、大話存儲(chǔ)、網(wǎng)絡(luò)資源(具體參考文末鏈接)及個(gè)人理解進(jìn)行整理,意在構(gòu)建出存儲(chǔ)發(fā)展基本軌跡和一些基本常識(shí),讓更多像我一樣的初入者有個(gè)宏觀上的認(rèn)知。
存儲(chǔ)發(fā)展史
從單機(jī)到互聯(lián)網(wǎng),存儲(chǔ)作為的基礎(chǔ)設(shè)施,主要發(fā)展都是圍繞構(gòu)建 低成本、高性能、可擴(kuò)展、易用的目標(biāo)進(jìn)行演進(jìn),時(shí)至今日,在形態(tài)上存儲(chǔ)分為單機(jī)存儲(chǔ)、集中存儲(chǔ)、分布式存儲(chǔ)、云存儲(chǔ)、云原生存儲(chǔ)
各階段存儲(chǔ)的基本形態(tài)如下
各階段基本形態(tài)
存儲(chǔ)數(shù)據(jù)分類(lèi) & 模型
無(wú)論單機(jī)存儲(chǔ)、分布式存儲(chǔ)、云存儲(chǔ)都是基于特定應(yīng)用場(chǎng)景下,對(duì)指定數(shù)據(jù)類(lèi)型構(gòu)建對(duì)應(yīng)的存儲(chǔ)數(shù)據(jù)模型
數(shù)據(jù)分類(lèi)
數(shù)據(jù)模型
存儲(chǔ)類(lèi)型
常見(jiàn)三種存儲(chǔ)類(lèi)型:塊存儲(chǔ)、文件存儲(chǔ)、對(duì)象存儲(chǔ)
塊存儲(chǔ)
基于Block塊的存儲(chǔ)模式,兩種常見(jiàn)存儲(chǔ)方式:
DAS(Direct Attch Storage), 直連主機(jī)存儲(chǔ)方式
SAN (Storage Area Netowrk),高速網(wǎng)絡(luò)鏈接主機(jī)存儲(chǔ)方式
文件存儲(chǔ)
依附網(wǎng)絡(luò)提供文件存儲(chǔ)服務(wù)
對(duì)象存儲(chǔ)
構(gòu)建于鍵值存儲(chǔ),核心是將數(shù)據(jù)通路(data)和控制通路(meta)分離,并且基于對(duì)象存儲(chǔ)設(shè)備(Object-based Storage Device,OSD)構(gòu)建存儲(chǔ)系統(tǒng),對(duì)外以RSETful API形式服務(wù)
單機(jī)存儲(chǔ)
基本概念
單機(jī)存儲(chǔ)系統(tǒng)是單機(jī)存儲(chǔ)引擎(數(shù)據(jù)結(jié)構(gòu)在機(jī)械磁盤(pán)、SSD等持久化介質(zhì)上的實(shí)現(xiàn))的一種封裝,對(duì)外提供文件、鍵值、表格或者關(guān)系模型的存儲(chǔ)服務(wù)。
存儲(chǔ)引擎
存儲(chǔ)引擎是存儲(chǔ)系統(tǒng)的發(fā)動(dòng)機(jī),決定了存儲(chǔ)系統(tǒng)能夠提供的功能和性能, 提供功能包含:
增加(Create)
讀取(Retrieve),隨機(jī)讀取和順序掃描
更新(Update)
刪除(Delete)
引擎間差異如下:
引擎
機(jī)理
支持
不支持
對(duì)應(yīng)的存儲(chǔ)系統(tǒng)
哈希存儲(chǔ)引擎
哈希表的持久化實(shí)現(xiàn)。基于哈希表結(jié)構(gòu)的鍵值存儲(chǔ)系統(tǒng),數(shù)組+鏈表的方式實(shí)現(xiàn)
增、刪、改、隨機(jī)讀取
順序掃描
鍵值(Key-Value)存儲(chǔ)系統(tǒng)
B樹(shù)存儲(chǔ)引擎
B樹(shù)的持久化實(shí)現(xiàn)
增、刪、改、隨機(jī)讀取 & 順序掃描
關(guān)系數(shù)據(jù)庫(kù)
LSM(Log-Structured Merge Tree)樹(shù)存儲(chǔ)引擎
與B樹(shù)類(lèi)似,區(qū)別在于把一棵大樹(shù)拆分成N棵小樹(shù)寫(xiě)時(shí),先寫(xiě)入內(nèi)存中,到一定閾值后,寫(xiě)入磁盤(pán),磁盤(pán)中的樹(shù)定期可以做merge操作,合并成一棵大樹(shù),以優(yōu)化讀性能
增、刪、改、隨機(jī)讀取 & 順序掃描
Bigtable; HBase;
集中式存儲(chǔ)
基本概念
集中式存儲(chǔ)相對(duì)與單機(jī)存儲(chǔ)而言,存儲(chǔ)系統(tǒng)中包含了更多組件,除了機(jī)頭(控制器)、磁盤(pán)陣列(JBOD)和交換機(jī)等設(shè)備外,還有管理設(shè)備等輔助設(shè)備。
參考:集中式存儲(chǔ)的基本邏輯示意圖
系統(tǒng)構(gòu)成
機(jī)頭,整個(gè)存儲(chǔ)系統(tǒng)的核心部件,通常由控制器、前后端口組成,
控制器,通常有二,實(shí)現(xiàn)互備高可用,控制器中的軟件實(shí)現(xiàn)對(duì)磁盤(pán)的管理,將磁盤(pán)抽象化為存儲(chǔ)資源池,然后劃分為L(zhǎng)UN提供給服務(wù)器使用。
前后端口,前端端口用戶為服務(wù)器提供存儲(chǔ)服務(wù),后端端口用于擴(kuò)充存儲(chǔ)系統(tǒng)的容量(連接更多的存儲(chǔ)設(shè)備)
磁盤(pán)柜(Just a Bound Of Disk , JBOD),磁盤(pán)掛在服務(wù)器外的專(zhuān)用柜里,有獨(dú)立電源、散熱、接口等,內(nèi)部線纜相連(SCSI),對(duì)機(jī)頭后端端口統(tǒng)一掛載
分布式存儲(chǔ)
基本概念
分布式存儲(chǔ)系統(tǒng),是將分散獨(dú)立的存儲(chǔ)設(shè)備通過(guò)網(wǎng)絡(luò)互聯(lián),系統(tǒng)關(guān)聯(lián),對(duì)外作為一個(gè)整體提供存儲(chǔ)服務(wù)。
系統(tǒng)分類(lèi)
分布式文件系統(tǒng)
分布式鍵值系統(tǒng)
分布式表格系統(tǒng)
分布式數(shù)據(jù)庫(kù)
設(shè)計(jì)原則
參考CAP
云存儲(chǔ)
基本概念
云存儲(chǔ),是一種云計(jì)算領(lǐng)域存儲(chǔ)服務(wù)方式,底層構(gòu)建在分布式存儲(chǔ)基礎(chǔ)之上,上層通過(guò)Internet形式提供存儲(chǔ)服務(wù),除具備分布式存儲(chǔ)基礎(chǔ)特性外,更兼具靈活性,通常由云廠商提供
參考產(chǎn)品
引擎
對(duì)象存儲(chǔ)
文件存儲(chǔ)
塊存儲(chǔ)
AWS
Amazon Simple Storage Service (Amazon S3)
Amazon Elastic File System (Amazon EFS)
Amazon FSx for Windows File Server
Amazon FSx for Lustre
Amazon Elastic Block Store (EBS)
Aliyun
OSS
文件存儲(chǔ)NAS
文件存儲(chǔ)CPFS
文件存儲(chǔ)HDFS
塊存儲(chǔ)
云原生存儲(chǔ)
基本概念
云原生存儲(chǔ)脫胎于云存儲(chǔ),除具備云存儲(chǔ)的特性外、須滿足具備云原生生態(tài)系統(tǒng)中其他所有組件具備相同的動(dòng)態(tài)(公共云/專(zhuān)有云/混合云等場(chǎng)景)構(gòu)建可擴(kuò)展應(yīng)用、S3 API 驅(qū)動(dòng)、K8S友好等
參考示例
Rook
CNCF首個(gè)云原生存儲(chǔ)項(xiàng)目Rook,是將文件、數(shù)據(jù)塊和對(duì)象存儲(chǔ)系統(tǒng)引入到Kubernetes集群,與其他正在使用存儲(chǔ)的應(yīng)用程序和服務(wù)一起無(wú)縫運(yùn)行。通過(guò)這種方式,云原生集群可以在公有云和本地部署中自給自足并且具備可移植性。該項(xiàng)目的開(kāi)發(fā)目的是使企業(yè)能夠通過(guò)動(dòng)態(tài)應(yīng)用編排,為在本地和公有云環(huán)境中運(yùn)行的分布式存儲(chǔ)系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)中心現(xiàn)代化。
Rook Architecure
Ceph Rook integrates with Kubernetes
MinIO
MinIO是一款高性能、軟件定義的,對(duì)象存儲(chǔ)套件,幫助客戶構(gòu)建云原生數(shù)據(jù)基礎(chǔ)設(shè)施。可與 Kubernetes 集成,允許操作員使用 Kubernetes 界面管理存儲(chǔ),而 Kubernetes 可以處理從存儲(chǔ)提供到卷放置的所有事務(wù)。
原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的图文存储常识:单机、集中、分布式、云、云原生存储的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 分布式锁在存储系统中的技术实践
- 下一篇: 数据湖 VS 数据仓库之争?阿里提出大数