天天看點

盤點雲端常用存儲類型

在雲端有很多存儲類雲産品,最為常見的就是雲盤、OSS、RDS,還有NAS、共享塊存儲等相應存儲類産品。相應存儲類的雲産品本質上還是為了解決資料持久化的問題。

存儲的資料結構類型也決定了我們選擇什麼樣類型的存儲類産品。資料的結構類型一般有以下3種。

  • 結構化資料:類似包含預定義的資料類型、格式和結構的資料,常見的如關系型資料庫中的資料表裡的資料。
  • 半結構化資料:具有可識别的模式并且可以解析的文本資料檔案,比如XML資料檔案、JSON資料檔案。
  • 非結構化資料:沒有固定結構的資料。通常為不同類型的檔案,比如文本文檔、圖檔、視訊、日志檔案、代碼檔案等。

雲端存儲的産品類型主要分為以下兩大類:

  • 資料庫類雲産品(主要為雲RDS、雲MongoDB、雲Redis、雲Memcache)主要用于解決結構化資料及半結構化資料的持久化存儲的問題。
  • 塊存儲(雲盤)、共享塊存儲(共享雲盤)、共享檔案存儲、OSS對象存儲主要用于解決非結構化資料的持久化存儲的問題。

這裡主要看下針對非結構化資料的持久化存儲。

塊存儲

塊存儲是阿裡雲為雲伺服器ECS提供的塊裝置(雲盤),高性能、低延遲時間,滿足随機讀寫,像使用實體硬碟一樣格式化并建立檔案系統來使用塊存儲。

雲盤主要解決非結構化資料持久化存儲的問題,在雲端雲盤主要分為系統盤和資料盤兩種類型,這決定了雲盤存儲資料的應用場景:·

  • 系統盤主要存儲作業系統所要運作的檔案及日志。
  • 資料盤可以存儲Java/PHP/Python等代碼檔案,也可以存儲圖檔、音視訊、日志等檔案。
共享塊存儲

ECS共享塊存儲是一種支援多台ECS執行個體并發讀寫通路的資料塊級儲存設備,即正常雲盤隻支援同時挂載在一台ECS上,但共享塊存儲支援同時挂載在多台ECS上。共享塊存儲産品專為企業級客戶的核心業務高可用架構而設計,主要是為了解決Shared-Everything架構下對塊儲存設備的共享通路場景。

正确使用共享塊存儲的方式是采用叢集檔案系統進行塊裝置的統一管理,如GFS、GPFS等。如果隻是将共享塊存儲挂載到多台ECS執行個體,依舊使用正常檔案系統來管理時,會造成磁盤空間配置設定沖突和資料檔案不一緻兩個問題。

共享檔案存儲

共享檔案存儲包括雲端Linux系統下的NFS(Network File System)服務,Windows系統下的SMB(Server Message Block)服務,以及阿裡雲檔案存儲NAS(Network AttachedStorage)産品。

在雲端使用共享檔案存儲(NFS/SMB/NAS)的典型應用場景如下:

  • 負載均衡中的典型場景:使用負載均衡+多台ECS(如Web伺服器)部署的業務。多台ECS需要通路同一個存儲空間,以便多台ECS共享資料。
  • 代碼共享場景:多台ECS應用,部署的代碼一緻。我們可以将代碼放在同一個存儲空間,提供給多台ECS同時通路。
  • 日志共享場景:多台ECS應用,需要将日志寫到同一個存儲空間,以友善做集中的日志資料處理與分析。
  • 企業辦公檔案共享場景:企業有公共的檔案需要共享給多組業務使用,需要集中的共享存儲來存放資料。
  • 容器服務的場景:部署的容器服務需要共享通路某個檔案資料源,特别是在資源編排的容器服務。對應的容器可能會在不同伺服器中進行服務漂移,是以檔案共享通路尤為重要。
  • 備份的場景:将線下機房的資料備份到雲上,可以通過跨地域遠端挂載檔案系統來存儲資料備份。隻不過這裡需要借助VPN網關或者NAT網關的技術,将IDC和雲端網絡打通或者進行映射。
對象存儲
  • 圖檔和音視訊等應用的海量存儲:OSS支援流式寫入和檔案寫入兩種方式。
  • 網頁或者移動應用的靜态和動态資源分離:利用BGP帶寬,OSS可以實作超低延時的資料直接下載下傳。
  • 雲端資料處理:上傳檔案到OSS後,可以配合媒體和圖檔處理進行雲端的資料處理。
  • 雲端資料備份:可以将ECS、RDS的備份或者線下IDC的資料很友善地同城或異地備份至OSS中。