新的對象存儲指標

新的對象存儲指標Nele-Diel 的《飛行堡壘》

S3物件儲存指令 Mail.ru 雲端存儲 翻譯了一篇關於選擇物件儲存時重要標準的文章。 以下是作者視角的文字。

當談到物件儲存時,人們通常只考慮一件事:每 TB/GB 的價格。 當然,這項指標很重要,但它使該方法片面並將物件儲存等同於歸檔儲存工具。 此外,這種方法降低了物件儲存對於企業技術堆疊的重要性。

選擇物件儲存時,應注意五個特點:

  • 表現
  • 可擴展性;
  • S3相容;
  • 對失敗的反應;
  • 正直。

這五個特徵以及成本是物件儲存的新指標。 讓我們看看它們。

Производительность

傳統的對象儲存缺乏效能。 服務提供者為了追求低價而不斷犧牲它。 然而,現代物件儲存的情況有所不同。

各種儲存系統接近甚至超過 Hadoop 的速度。 現代對讀寫速度的要求:硬碟為 10 GB/s,NVMe 高達 35 GB/s。 

此吞吐量足以支援 Spark、Presto、Tensorflow、Teradata、Vertica、Splunk 和分析堆疊中的其他現代計算框架。 MPP 資料庫被配置為物件儲存這一事實表明它越來越多地被用作主儲存。

如果您的儲存系統無法提供您所需的速度,您就無法使用資料並從中提取價值。 即使您將資料從物件儲存檢索到記憶體中處理結構中,您仍然需要頻寬來將資料傳輸到記憶體或從記憶體傳輸資料。 傳統的物件儲存還不夠。

這是關鍵點:新的效能指標是吞吐量,而不是延遲。 它是大規模數據所必需的,也是現代數據基礎設施的規範。

雖然基準測試是確定效能的好方法,但在環境中運行應用程式之前無法準確測量它。 只有在它之後你才能說出瓶頸到底在哪裡:在軟體、磁碟、網路還是在運算層級。

可擴展性

可擴展性是指適合一個命名空間的 PB 數。 供應商聲稱易於擴展,但他們沒有說的是,隨著擴展,大型整體系統會變得脆弱、複雜、不穩定且昂貴。

可擴展性的新指標是您可以服務的命名空間或客戶端的數量。 該指標直接取自超大規模企業,其中儲存構建塊很小,但可擴展至數十億個單位。 一般來說,這是一個雲端指標。

當建置區塊較小時,更容易針對安全性、存取控制、策略管理、生命週期管理和無中斷更新進行最佳化。 並最終確保生產力。 構建塊的大小是故障區域可控性的函數,這就是建立高彈性系統的方式。

多租戶有很多特色。 雖然該維度涉及組織如何提供對資料和應用程式的訪問,但它也指應用程式本身以及將它們相互隔離背後的邏輯。

現代多客戶端方法的特徵:

  • 短時間內,客戶數量可以從數百增加到數百萬。
  • 客戶端之間完全隔離。 這使得他們能夠運行相同軟體的不同版本,並儲存具有不同配置、權限、功能、安全性和維護等級的物件。 當擴展到新的伺服器、更新和地理位置時,這是必要的。
  • 儲存可彈性擴展,資源按需提供。
  • 每個操作均由 API 控制,且是自動化的,無需人工幹預。
  • 軟體可以託管在容器中並使用標準編排系統(例如 Kubernetes)。

S3相容

Amazon S3 API 是物件儲存事實上的標準。 每個對象儲存軟體供應商都聲稱與其相容。 與 S3 的兼容性是二進制的:要么完全實現,要么沒有完全實現。

實際上,在使用物件儲存時,有數百或數千種邊緣場景會出現問題。 特別是來自專有軟體和服務的提供者。 它的主要用例是直接歸檔或備份,因此呼叫 API 的理由很少,用例是同構的。

開源軟體具有顯著的優勢。 考慮到應用程式、作業系統和硬體架構的規模和多樣性,它涵蓋了大多數邊緣場景。

所有這些對於應用程式開發人員都很重要,因此值得與儲存提供者一起測試應用程式。 開源使這個過程變得更容易——更容易理解哪個平台適合您的應用程式。 此提供者可以用作儲存的單一入口點,這意味著它將滿足您的需求。 

開源意味著:應用程式不依賴供應商並且更加透明。 這確保了較長的應用程式生命週期。

還有一些關於開源和 S3 的注意事項。 

如果您正在運行大數據應用程序,S3 SELECT 可以將效能和效率提高一個數量級。 它透過使用 SQL 從儲存中僅檢索您需要的物件來實現此目的。

關鍵點是對儲存桶通知的支援。 儲存桶通知促進無伺服器運算,這是作為服務交付的任何微服務架構的重要組成部分。 鑑於物件儲存實際上是雲端存儲,當基於雲端的應用程式使用物件儲存時,此功能變得至關重要。

最後,S3 實作必須支援 Amazon S3 伺服器端加密 API:SSE-C、SSE-S3、SSE-KMS。 更好的是,S3 支援真正安全的篡改保護。 

對失敗的回應

一個可能經常被忽略的指標是系統如何處理故障。 發生故障的原因有很多,物件儲存必須處理所有這些原因。

例如,存在單點故障,其度量為零。

不幸的是,許多物件儲存系統使用特殊節點,必須啟用這些節點才能使叢集正常運作。 其中包括名稱節點或元資料伺服器 - 這會產生單點故障。

即使存在多個故障點,承受災難性故障的能力也至關重要。 磁碟故障,伺服器故障。 關鍵在於創建能夠將故障視為正常情況的軟體。 如果磁碟或節點發生故障,此類軟體將繼續工作而無需更改。

針對資料清除和資料降級的內建保護可確保您遺失與奇偶校驗區塊一樣多的磁碟或節點(通常是磁碟的一半)。 只有這樣軟體才會無法回傳資料。

故障很少在負載下進行測試,但這樣的測試是必要的。 模擬負載故障將顯示故障後產生的總成本。

一致性

100% 的一致性分數也稱為嚴格一致性。 一致性是任何儲存系統的關鍵組成部分,但強一致性很少見。 例如,Amazon S3 ListObject並不是嚴格一致的,它只是在末尾一致。

嚴格一致性是什麼意思? 對於確認 PUT 操作之後的所有操作,必須發生以下情況:

  • 從任何節點讀取時更新的值都是可見的。
  • 更新受到保護,免受節點故障冗餘的影響。

這意味著如果您在錄音過程中拔掉插頭,不會遺失任何內容。 系統永遠不會傳回損壞或過時的資料。 這是一個在許多場景中都很重要的高標準,從事務性應用程式到備份和還原。

結論

這些新的物件儲存指標反映了當今組織的使用模式,其中效能、一致性、可擴展性、故障域和 S3 相容性是雲端應用程式和大數據分析的構建塊。 我建議在建立現代資料堆疊時除了價格之外還使用此列表。 

關於 Mail.ru 雲端解決方案物件儲存: S3架構。 Mail.ru 雲端儲存 3 年的演變.

還有什麼要讀的:

  1. S3 物件儲存中基於 Webhook 的事件驅動應用程式範例 Mail.ru Cloud Solutions.
  2. 不只是 Ceph:MCS 雲端塊存儲 
  3. 使用 Mail.ru Cloud Solutions S3 物件儲存作為檔案系統.
  4. 我們的 Telegram 頻道提供有關 S3 儲存和其他產品更新的新聞

來源: www.habr.com

添加評論