一文讀懂OSS、NAS、EBS有什麼區別?

来源:https://www.cnblogs.com/88223100/archive/2023/07/15/Differences-between-OSS-NAS-and-EBS.html
-Advertisement-
Play Games

本文主要介紹常用的存儲類型及它們之間的對比差異,輔助幫助大家在不同需求和場景下選擇合適的存儲類型。 近期,AIGC、GPT大模型、數據中台等熱點話題備受關註,那麼具體在不同的行業場景下,如何選擇對應的存儲介質呢?選型的時候該考慮哪些因素呢? 通過本文主要介紹常用的存儲類型及它們之間的對比差異,輔助幫 ...


本文主要介紹常用的存儲類型及它們之間的對比差異,輔助幫助大家在不同需求和場景下選擇合適的存儲類型。
近期,AIGC、GPT大模型、數據中台等熱點話題備受關註,那麼具體在不同的行業場景下,如何選擇對應的存儲介質呢?選型的時候該考慮哪些因素呢?
通過本文主要介紹常用的存儲類型及它們之間的對比差異,輔助幫助大家在不同需求和場景下選擇合適的存儲類型。

存儲類型簡介

存儲的物理層實際無非就是磁碟(disk),即磁記錄技術存儲數據的存儲器。磁碟是電腦主要的存儲介質,可以存儲大量的二進位數據,並且斷電後也能保持數據不丟失。早期電腦使用的磁碟是軟磁碟(Floppy Disk,簡稱軟盤),如今常用的磁碟是硬磁碟(Hard disk,簡稱硬碟)。

 

磁碟知識簡介

存儲磁碟常見的三大指標:吞吐量、IOPS、時延。三個指標之間存在著關係,具體呈現為如下公式:每秒吞吐 =  I/Osize * IOPS * 並行度(IOPS-延時)。
1.吞吐量是指對網路、設備、埠、虛電路或其他設施,單位時間內成功地傳送數據的數量(以比特、位元組、分組等測量)。
2.IOPS是(Input/Output Operations Per Second)是一個用於電腦存儲設備(如機械硬碟HDD、固態硬碟SSD、混合硬碟HHD或存儲區域網路SAN等)性能測試的量測方式,可以視為是每秒的讀寫次數。
3.時延是發起讀取數據請求到讀取到數據之間的時間間隔。

阿裡雲存儲產品底層原理

阿裡雲存儲是在物理層的磁碟資源上利用虛擬化技術將物理存儲資源池化,架構分散式資源調度系統——盤古系統,可以為用戶、客戶提供類似於水電煤資源使用按量付費、按需取用的使用體驗。

存儲類型區別

存儲方式區別

文件、塊和對象是三種以不同的方式來保存、整理和呈現數據的存儲格式。
1.文件存儲NAS會以文件和文件夾的層次結構來整理和呈現數據;
2.塊存儲EBS會將數據拆分到任意劃分且大小相同的捲中;
3.對象存儲OSS會管理數據並將其鏈接至關聯的元數據。

介面協議區別

三種存儲產品的介面協議也不一樣。
1.文件存儲NAS文件系統構造的協議為NFS、SMB協議,支持POSIX介面訪問;
2.塊存儲EBS協議為阿裡雲自研協議,封裝介面為iSCSI;
3.對象存儲OSS協議為HTTP/HTTPS協議(Restful API),通過URL功能變數名稱地址定位文件,支持AWS的S3介面。

應用場景區別

由於三款產品存儲數據存儲結構的不同,適用於不同的應用場景。

文件存儲NAS

NAS文件系統存儲架構是目錄樹狀結構,可以支持上千台虛擬機通過POSIX介面同時、高併發訪問,支持隨機讀寫、線上修改、直讀直寫。

塊存儲EBS

1、EBS的優勢是性能高、時延低,適合於OLTP資料庫、NoSQL資料庫等IO密集型的高性能、低時延應用工作負載,支持隨機讀寫。
2、EBS是裸磁碟,掛載到ECS後不能被操作系統應用直接訪問,需要格式化成文件系統(ext3、ext4、NTFS等)後才能被訪問。
3、EBS無法實現容量彈性擴展,單盤最大容量為32TB,並且對共用訪問的支持有限,需要配合類Oracle RAC、WSFC Windows故障轉移集群等集群管理軟體才能進行共用訪問。因此,塊存儲EBS主要還是針對單ECS的高性能,低時延的存儲產品。

對象存儲OSS

OSS存儲架構為S3(Simple Storage Service 簡單存儲服務)扁平化文件組織形式,不支持文件隨機讀寫,主要適用於互聯網架構的海量數據的上傳下載和分發。
對象存儲在存儲段bucket中,對象就像是文件,存儲段就像是文件夾或目錄,對象和存儲段通過統一資源標識符(Uniform Resource Identifier,URI)進行查找,雖然在控制台界面是好像是有樹狀結構,但實際顯示的文件夾/.resource只是首碼。
存儲產品
時延
吞吐
協議
訪問模式(虛機訪問存儲數據的介面)
應用場景
文件存儲NAS
毫秒級
數百Gbps
NFS、SMB
上千個ECS通過POSIX介面併發訪問,隨機讀寫
高併發訪問、線上修改、直讀直寫的場景
對象存儲OSS
幾十毫秒級
數百Gbps
HTTP、HTTPS(Restful API)
數百萬客戶端通過Web併發,追加寫
互聯網架構的海量數據的上傳下載和分發
塊存儲EBS
微秒級
數十Gbps
自研協議
單ECS通過POSIX介面訪問,隨機讀寫
適合IO密集型的資料庫/單ECS高性能、低時延應用工作負載

協議、介面詳細區別

什麼是介面?什麼是協議?

協議:協議定義了在兩個或多個通信實體之間進行交換的報文格式和次序,以及報文發送和/或接收一條報文或其他事件所採取的行動。
介面:在程式設計的情況下,介面往往與模塊掛鉤。模塊是從物理上對程式實體的定義進行分組,是可以分別編寫和編譯的程式單位。一個模塊包括介面和實現兩部分。模塊的介面規定了在模塊中定義的、可以被其他模塊使用的一些程式實體;模塊的實現是指在模塊中定義的程式實體的具體實現。介面起到了模塊設計者和使用者之間的一種約束作用:使用者按照模塊的介面來使用模塊所提供的功能;模塊的實現者根據規定的模塊介面進行實現。
二者的聯繫:
協議和介面常常放在一起或者混淆使用,本質上都是抽象的規則集合,在不同的場合有不同的含義。例如,在電腦網路語境下,我們使用協議往往指網路協議/通信協議,網路模型中的每層都有對應的不同協議。在編程場景中 ,我們往往具體指某種介面,可以狹義地理解為交互點(類似於去政務大廳的辦事視窗)、函數/方法。但在具體場景的使用中,有時會預設背景,比如將API簡稱為介面(實際上是包含關係,而不是等價關係)。
廣義上講,介面和協議可以一起使用,它們都是高度抽象的概念。狹義上,協議有各種具體的協議,介面有各種具體的介面(如java中有可定義的interface,常用來與抽象類比較),這時兩者是不同。
一句話概括:
協議是多個通信實體之間互通的規則和範式。介面是按照協議規定規則的具體實現。
二者的聯繫:協議是介面的既定規則,介面是協議的具體實現。
二者的區別:不需要過分區分協議和介面,他們的聯繫更加緊密。

協議介紹

NFS協議

1.定義:NFS(Network File System,網路文件系統)是由SUN公司研製的UNIX表示層協議(presentation layer protocol)文件共用協議,能使使用者訪問網路上別處的文件就像在使用自己的電腦一樣。
2.NFS 差異化特點

a.NFS只提供基本的文件處理功能,而不提供任何四層TCP/IP與OSI七層數據傳輸功能,需要藉助 RPC 協議才能實現 TCP/IP 數據傳輸功能;

b.NFS 預設沒有加密,對客戶端來說是完全透明的,且僅依靠 IP 地址或主機名來決定是否允許客戶端掛載指定的共用目錄【明文傳輸】,需要可通過 Kerberos 進行認證及加密。

3.NFS與其他文件共用協議共同點:使用C/S 架構。
4.NFS實現原理:共用資源的屬主、屬組和許可權。

a.NFS 伺服器和客戶端通過 UID 和 GID 來識別共用資源的所有者信息。當客戶端掛載 NFS 共用目錄時,共用目錄中資源的 UID 和 GID 將與伺服器上面的保持一致;而客戶端會將 UID 和 GID 映射到客戶端上所對應的用戶名和組名。NFS 伺服器與客戶端上共用資源的許可權及 ACL 信息(若支持)將保持一致。

SMB協議

1.定義:SMB網路文件共用系統協議,全名伺服器消息塊(Server Message Block),允許應用程式和終端用戶從遠端的文件伺服器訪問文件資源,CIFS(通用互聯網文件系統 Common Internet File System)是SMB的衍生協議。
2.SMB與NFS的區別:操作系統OS不同,NFS適配linux操作系統,SMB適配windows/linux,但是相容linux時相關存儲性能會收到影響。
3.SMB協議運用過程:SMB協議協商(Negotiate)> 建立SMB會話(Session Setup)> 連接一個文件分享(Tree Connect)> 文件系統操作 > 斷開文件分享連接(Tree Disconnect)>  終止SMB會話(Logoff)。

iSCSI協議

1.定義:iSCSI(Internet Small Computer System Interface),Internet小型電腦系統介面,又稱為IP-SAN,是一種基於網際網路及SCSI-3協議下的存儲技術,由IETF提出,並於2003年2月11日成為正式的標準。
2.實現原理:iSCSI利用了TCP/IP的port 860 和 3260 作為溝通的渠道。透過兩部電腦之間利用iSCSI的協議來交換SCSI命令,讓電腦可以透過高速的區域網集線來把SAN模擬成為本地的儲存裝置。
3.應用場景/功能:可以與任意類型的 SCSI 設備進行通信,總是使用它來連接伺服器電腦 (例如,資料庫伺服器) 和磁碟捲上存儲陣列。

a.使用iSCSI SAN 的目的通常有以下兩個:

i.存儲集成公司希望將不同的存儲資源從分散在網路上的伺服器移動到統一的位置(常常是數據中心);這可以讓存儲的分配變得更為有效。SAN 環境中的伺服器無需任何更改硬體或電纜連接就可以得到新分配的磁碟捲。

ii.災難恢復公司希望把存儲資源從一個數據中心鏡像到另一個遠程的數據中心上,後者在出現長時間停電的情況下可以用作熱備份。特別是,iSCSI SAN 使我們只需要用最小的配置更改就可以在 WAN 上面遷移整個磁碟陣列,實質上就是,把存儲變成了“可路由的”,就像普通的網路通信一樣。

POSIX協議

1.定義:可移植操作系統介面POSIX(Portable Operating System Interface)是IEEE為要在各種UNIX操作系統上運行軟體,而定義API的一系列互相關聯的標準的總稱。
2.原理應用程式通過應用編程介面(API)而不是直接通過系統調用來編程(即並不需要和內核提供的系統調用來編程)。

a.一個API定義了一組應用程式使用的編程介面。它們可以實現成調用一個系統,也可以通過調用多個系統來實現,而完全不使用任何系統調用也不存在問題。

b.API可以在各種不同的操作系統上實現給應用程式提供完全相同的介面,但是API本身在這些系統上的實現卻可能迥異。比如,當應用程式調用printf()函數時,printf函數會調用C庫中的printf,繼而調用C庫中的write,C庫最後調用內核的系統的函數,但是可能windows調用的是函數A,linux調用的是函數B。完成同一功能,不同內核提供的系統調用(一個函數)是不同的。

RESTful API

1.定義:RESTful是一種網路應用程式的設計風格和開發方式,基於HTTP做傳輸協議,可以使用XML格式定義或JSON格式定義,跟編程語言、平臺都無關。RESTFUL適用於移動互聯網廠商作為業務介面的場景,實現第三方OTT調用移動網路資源的功能,動作類型為新增、變更、刪除所調用資源。
2.RESTful API就是RESTful風格的API。
3.應用場景:一套協議來規範多種形式的前端和同一個後臺的交互方式。
4.實現原理:RESTful API統一數據操作的介面,其數據操作CRUD(create,read,update,delete)分別一一對應HTTP方法:GET用來獲取資源,POST用來新建/更新資源,PUT用來更新資源,DELETE用來刪除資源。調用的時候用URL定位資源、用HTTP動詞(GET,POST,PUT,DELETE)描述操作。

協議對比

存儲原理不同:

1.iSCSI:利用了TCP/IP的port 860 和 3260 作為溝通的渠道。透過兩台伺服器之間利用iSCSI的協議來交換SCSI命令,讓伺服器可以透過高速的區域網集線把SAN模擬成為本地的儲存裝置。
2.CIFS(SMB):是公共的或開放的SMB協議版本,並由Microsoft使用。SMB協議在區域網上用於伺服器文件訪問和列印的協議。
3.NFS:通過使用NFS,用戶和程式可以像訪問本地文件一樣訪問遠端系統上的文件。

存儲特點不同:

1.iSCSI :讓兩個主機通過 IP 網路相互協商然後交換SCSI命令。這樣一來,iSCSI 就是用廣域網模擬了一個常用的高性能本地存儲匯流排,從而創建了一個存儲區域網(SAN)。
2.CIFS:CIFS在高層運行,而不像TCP/IP協議那樣運行在底層。CIFS可以看做是應用程式協議如文件傳輸協議和超文本傳輸協議的一個實現。
3.NFS:配置一臺中心NFS伺服器用來放置所有用戶的home目錄可能會帶來便利。這些目錄能被輸出到網路以便用戶不管在哪台工作站上登錄,總能得到相同的home目錄。

參考文獻:

什麼是RESTful API?:https://blog.csdn.net/qq_41378597/article/details/85248848

RESTful百度百科:https://baike.baidu.com/item/RESTful

NAS-阿裡雲官方文檔:https://help.aliyun.com/product/27516.html

POSIX是什麼?解決了什麼問題?:https://blog.csdn.net/sir_chai/article/details/105652646
作者|明昫

本文來自博客園,作者:古道輕風,轉載請註明原文鏈接:https://www.cnblogs.com/88223100/p/Differences-between-OSS-NAS-and-EBS.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 網路流 何為網路流 想要弄清楚網路流,首先要知道網路的概念,通常在運籌學中,網路是指一個有向圖$G\ =\ (V,E)$ 。其每條邊$(u,v)\in E$都有一個權值$c(u,v)$,稱為這條邊的流量(Capacity),還有兩個特殊的點,一個是源點(Source),一個是匯點(Sink)在圖論中 ...
  • 學習`pandas`的過程中,為了嘗試`pandas`提供的各類功能強大的函數,常常需要花費很多時間去創造測試數據。 在`pandas`中,快速創建測試數據可以更快的評估 `pandas` 函數。通過生成一組測試數據,可以評估例如 `read_csv`、`read_excel`、`groupby`等 ...
  • 學習數字信號處理演算法時整理的學習筆記。本篇介紹 ISB 獨立邊帶調幅信號的調製與解調,內附全套 MATLAB 代碼。 ...
  • **WPF 實現 Message 消息提醒控制項** > 控 件:Message > > 作 者:WPFDevelopersOrg - **驚鏵** > >[原文鏈接](https://github.com/WPFDevelopersOrg/WPFDevelopers "原文鏈接"):https:// ...
  • 作用 程式設計過程中,我們經常需要增加一些動態效果,以此改善用戶的使用體驗。本文將介紹一種方法,動態顯示按鈕狀態,使其得到滑鼠焦點後自動放大,失去滑鼠焦點後自動縮小。 效果圖 先放一張原圖(滑鼠還未移動到按鈕上): 獲得滑鼠焦點的Button按鈕:(這裡因為是圖片,放大不明顯,所以筆者將按鈕字體也一 ...
  • **背景** 前段時間小編開發了一個控制台程式,把資料庫中的數據取出來按照編碼名稱分別存儲文件,存儲文件之前檢查是否存在當前文件,如果存在刪除。開始小批量的數據還挺順利的,當批量執行問題就來了,每次執行到一半時,創建的文件不增加反而變少了,經過日誌捕捉才發現是欄位里包含特殊符號惹的禍。小編是按照欄位 ...
  • TreeView無法綁定SelectedItem,而又想知道treeview的selecteditem的變化,當然目前有很多方法,我這裡簡單的提供一個。 目前主要思路就是通過處理xaml的TreeViewItem的IsSelected屬性來進行綁定。 <TreeView BorderThicknes ...
  • 因為筆者有著大量運維部署站點的需求,所以之前一直在陸陸續續學習並實踐各種`Linux`的`Shell`命令,在此記錄一些高頻命令的使用的說明,方便自己回顧加深記憶 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...