分離可組合式存儲系統架構的特點和挑戰

2020-12-21 騰訊網

1. 可擴展存儲系統結構

並當存儲與計算解耦後,存儲系統依賴高性能網絡獨立構建分布式存儲集群,以滿足海量數據的存儲需求。一方面,由於數據規模的高速動態增長以及對數據訪問性能的彈性擴展需求,存儲系統往往需要具備優秀的橫向擴展能力;另一方面,數據計算模式的變遷產生了大量的半結構化或非結構化數據,這類數據往往呈現格式多樣、大小差異巨大等特徵,甚至佔據主導地位,導致其存儲、組織與管理都非常困難。為了適應海量非結構化數據的存儲,同時提供良好的系統橫向擴展能力,目前業界廣泛採用鍵值格式進行存儲管理,而主流的系統架構主要基於日誌結構合併樹(LSM-tree),以滿足數據持久化、高寫入性能、支持範圍掃描等需求。基於LSM-tree的鍵值存儲架構,其核心特點是採用多層日誌結構,將數據以追加寫的方式單向逐層寫入,通過批量寫提供良好的寫入性能,同時對每層數據進行排序且每層容量按一定倍數遞增,以均衡數據寫入、數據查詢與範圍掃描的性能。

雖然基於LSM-tree的鍵值存儲比較適合非結構化數據的存儲與管理,並能提供良好的橫向擴展,但是仍有大量問題亟待解決。其一,由於多層結構以及層內排序的特點,鍵值系統往往面臨嚴重的讀寫放大問題,即數據查詢可能需要多層查找,數據寫入引起多次層間數據合併,因此,如何根據數據以及訪問的特徵,設計更高效的存儲結構與索引結構以減少讀寫放大問題,仍是目前的關注點之一,其挑戰與關鍵是在寫入性能、單點查詢性能、範圍查詢性能、存儲容量開銷等多維度之間進行較好的權衡。其二,在分布式場景下,範圍劃分與哈希劃分等不同的數據劃分方式往往導致了負載均衡與範圍查詢性能之間的矛盾,由於訪問的非均勻性導致熱點問題仍然普遍存在,而且鍵值數據的異構性、多層化的存儲結構等都導致熱點均衡更加困難,分布式技術的應用仍需要與鍵值存儲引擎有機結合。其三,當存儲規模擴大後,系統的高效管理、副本的彈性管理,甚至利用在線學習等技術實現自適應系統結構調整等,都是目前仍需進一步深入探索的問題。除此之外,隨著近年來非易失性內存、快閃記憶體等新型高性能存儲設備以及高速網卡的發展,如何設計相應的存儲結構並結合鍵值存儲特點,以充分發揮這些新型設備的性能,也是目前關注的熱點。

2. 彈性異構資源管理

存儲與計算分離進一步加深了存儲體系的層次結構,使得存儲資源的異構性更為突出,尤其是近年來隨著非易失性內存、快閃記憶體等新型存儲介質的發展,更進一步加深了存儲體系結構的層次。比如在與計算分離的存儲系統中,粗略劃分也至少包含磁碟、固態硬碟、非易失性內存(NVRAM)、動態隨機訪問內存(DRAM)等層級,即使是固態硬碟或非易失性內存,也會由於技術的不同,在容量、價格、性能、可靠性等維度存在多個更細分的層次,導致整個存儲集群的層次結構越來越深,資源的異構性越來越突出。因此,在設計存儲系統時需要均衡考量的因素也變得更多更複雜,不僅需要考慮異構資源條件下的存儲體系結構問題,而且還涉及異構資源的容量配比、數據遷移,以及如何根據訪問特徵與應用需求實現自適應調整,以期望在性能、可靠性、成本等多方面實現最優權衡。

除了資源異構性之外,資源的彈性分配與擴容也是存儲與計算分離框架下的關鍵問題。存儲與計算解耦後,存儲集群往往需要支持多用戶異構計算任務的存儲需求。首先,不同計算任務對不同存儲資源的需求差異巨大,如何在更細粒度上以高性價比的方式合理分配所需資源是存儲集群所必須考量的因素;其次,即使針對同一計算任務,在不同時期對資源的需求也差異顯著,尤其是對於生命期較長的計算,因此如何在細粒度層級上實現資源彈性分配與擴容,不僅可以更好地保證計算性能的穩定性,也能更好地提升存儲資源的復用效率、控制存儲成本,尤其是在容器計算或者無伺服器計算場景下至關重要。總之,如何更有效地結合多層級異構存儲資源的多維特徵、計算任務的需求、訪問模式以及資源需求的動態性,將是存儲與計算分離架構下存儲系統面臨的重點和難點問題,如何利用機器學習等手段實現異構資源的自適應彈性管理與調度,也是值得探索的思路之一。

3. 異構數據差異化管理

當前,大數據分析、機器學習等計算任務往往產生大量的臨時中間數據,其主要特徵有:(1)生命周期短,臨時中間數據往往在計算結束之後就失去了存在的意義,因此,其可靠性與持久化要求與傳統持久化數據截然不同;(2)數據大小差異巨大,小至幾十KB,大到幾百GB,相差若干數量級已是常態,這大大增加了存儲管理的難度;(3)規模巨大,無法全部放入內存,因此往往需要內外存數據的協同管理,以均衡訪問性能與存儲成本;(4)訪問性能要求高,鑑於臨時數據往往跟計算緊密相關,因此需要相應的存儲系統具有更高的吞吐與更低的延遲,否則極易阻塞計算。

鑑於臨時中間數據的獨有特性,需要專門針對該類型數據設計存儲與管理方式。在存儲與計算分離的架構下,持久化數據的存儲與計算已經解耦,因此,一種有效的系統架構是將臨時數據也解耦,並與持久化數據進行差異化管理,比如將臨時數據層作為持久化數據的緩存層進行管理。在此基礎上,設計針對臨時數據的可靠性機制、錯誤恢復機制、持久化機制等,以更好地滿足性能、成本、恢復時延等要求。值得一提的是,在該架構下,有效的緩存設計、網絡帶寬與時延的優化,以及數據訪問與計算的流水線設計等將變得至關重要,同時也是未來數據中心存儲系統所必須要考慮的關鍵問題。

4. 多層級緩存設計

將存儲與計算進行分離之後,尤其是將臨時數據與持久化數據也進行區分之後,整個存儲系統的層次勢必會變得更深。我們將面臨本地數據存儲(往往在計算節點的本地內存中),臨時數據存儲(分布式管理且跨網絡,甚至包括內存、快閃記憶體等多層次),遠端的持久化數據存儲(本身包括多種存儲設備、多個存儲層次),甚至還包括跨數據中心的遠端雲存儲(比如S3等)等問題,因此高效的多層級緩存設計對存儲系統的性能至關重要。緩存的效率受到多方面因素的影響,如計算產生的臨時數據大小,需要訪問的持久化數據的多少,以及不同層級的存儲容量配置等。而且,由於數據中心往往面臨來自多用戶的計算任務,在存儲計算分離架構下,緩存的設計還需要考慮用戶之間的隔離性與安全性等問題。總之,在存儲計算分離架構下,高效的緩存設計,尤其是多層級融合設計的緩存機制仍是未來需要繼續深入研究的問題。

5. 網絡與存儲的深度融合

隨著網絡設備和存儲介質技術的發展,網絡和存儲已經發生了深度融合,湧現出諸如內核旁路(例如,遠程直接內存訪問和用戶空間網絡技術)及硬體卸載(如TOE、SmartNICs)等解決方案。例如,HyperLoop為了減少CPU在存儲系統中的複製事務的參與,將關鍵路徑卸載到RDMA網卡上,並提供新的和通用的網卡卸載原語。這些原語可以在複製組中的所有節點上執行內存操作,同時保證ACD屬性而無須CPU參與。除此之外,在數據中心中由於可編程交換機具有一定的存儲能力,緩存可以卸載到其中,這樣會節省IO路徑上的傳播時間。另外也可以將Raft等一致性協議卸載到可編程交換機,從而避免消耗伺服器CPU資源。

儘管現在已經有諸多嘗試,但是網絡和存儲的融合仍然存在很多挑戰。目前,可編程網卡、可編程交換機和可編程固態硬碟(SSD)等設備的算力還較弱,可編程能力有限,不能處理過於複雜的邏輯,在高負載時,平均和尾部延遲仍然難以控制。此外,現有網絡和存儲設備所擁有的尋址空間不統一,當同一數據分布在不同設備上時,數據更新的時間差異會導致同一時間在不同設備上出現不同版本的數據,難以實現數據的訪問一致性。同時,當同一數據被不同設備訪問時,需要考慮讀寫互斥問題,合理控制被互斥鎖阻塞的設備尾延遲的增長。在對應用程式做融合時需要綜合應用負載特徵,決定在存儲及網絡上所放置的功能,並且權衡對平均和尾部延遲的影響。

相關焦點

  • 解析智慧醫院 HIS 系統存儲架構升級與改造 17 個難點
    同時,在 IT 基礎架構方面也需要進行重新規劃和建設,與升級改造後的 HIS 系統相匹配,這就使醫院面臨諸多的技術挑戰。 為了幫助醫療企業 IT 從業人員了解在智慧醫院建設的趨勢下如何設計升級改造HIS存儲架構,社區組織了交流活動,以下活動中探討交流的精華總結,希望能夠給醫療同業帶來一些實踐參考經驗以及方法。
  • 威騰電子擴展快閃記憶體產品組合,助力ZB時代以數據為中心的存儲架構不斷...
    威騰電子公司在2020 美國快閃記憶體峰會(Flash Memory Summit)上首發三款全新解決方案,包括從邊緣實現的數據密集型工業設計到基於新款ZNS SSD構建的高效數據中心存儲架構新聞亮點:· 新推出的快閃記憶體產品組合包括用於構建具有TCO優勢且更高效的存儲層的
  • 數據基礎架構如何演進,威騰電子有話說
    威騰電子介紹,在新的存儲架構模型中,數據根據應用特點被分為了極熱存儲、熱存儲、溫存儲、冷存儲和極冷存儲共5種類型,這五種數據類型往往需要通過不同的存儲盤來滿足需求。
  • 如何保證軟體應用系統架構設計結果的可擴展性和可重用性(上篇)
    軟體項目實訓及課程設計指導——如何保證軟體應用系統架構設計結果的可擴展性和可重用性(上篇)1、良好的可重用性軟體系統架構設計結果的主要體現可重用性的軟體應用系統的系統架構設計結果主要體現在如下兩個方面——本項目的系統架構設計的結果是可重用的和在本項目的系統架構設計中重用成熟的系統架構設計方案
  • 網際網路系統架構為什麼要做前後端分離呢?
    在現在的網際網路架構中,前後端分離已經是一個非常常見的系統架構方式了,但是我們將前後端分離以後,感覺項目的架構比傳統的分層架構更複雜了,需要的人力資源也更多了,甚至項目周期也變得更長了,既然看上去好處不大,為什麼還要做前後端分離呢?
  • 如何在系統架構設計中應用面向切面的設計思想分離橫切關注點
    ,增加程序的靈活性和可重用性。軟體系統設計和開發人員可以充分地應用各種設計模式的具體實現,從而最大程度的利用面向對象的特性,諸如利用繼承、多態,對責任進行分離、對依賴進行倒置,面向抽象和面向接口,最終設計出靈活、可擴展、可重用的類庫、組件,乃至於整個系統的架構;在軟體應用系統設計的過程中,通過各種設計模式體現了對象的行為,暴露的接口,對象間關係,以及對象分別在不同層次中表現出來的形態。
  • 宇視科技姚婷:AloT下,如何應對安防數據的存儲挑戰?
    AIoT下,數據對存儲系統的需求發生變化,傳統存儲架構已經不適應於當前的存儲和應用。著眼於容量、性能,數據價值提升、運維管理等訴求,我們需要做到多設備資源池化、資源統一管理分配,容量和性能線性增長等。
  • 第二講,Ceph存儲架構
    單點故障Raid:Raid5可允許一塊磁碟損壞,Raid6可允許兩塊磁碟損壞。Raid是以磁碟級別來做保護的。Ceph:以集群形式出現,至少3臺主機做一個集群,以副本形式存儲數據,只要不是兩臺主機同時損壞不能用都不會影響集群裡面的業務系統和數據。
  • 運籌新數據,中山大學精準醫學中心的新存儲之道
    但是,中山大學精準醫學科學中心經過對精準醫學數據類型、業務特徵以及未來應用規划進行仔細和反覆的調研之後,最終選擇了存算分離架構來構建醫學大數據中心。 為什麼會捨棄超融合,選擇存算分離的架構?肖華鋒解釋道:「當時決策原因有兩點:一是成本,當時超融合成本高,每個節點必須配置SSD,加上License費用,採購成本較高;第二則是從場景適用上考慮,精準醫學科學中心場景中,存儲需求增長速度遠超過計算,超融合擴展是計算與存儲等比例擴展,存算分離架構反而會帶來更加靈活的擴展方式。」 那麼,醫學大數據中心採用存算分離架構之後,真實情況會不會出現「理想很豐滿,現實很骨幹」的窘境?
  • 淘寶萬億級海量交易訂單存儲在哪?
    鏈路中的每一環都涉及到資料庫中記錄的創建和狀態的更新,一次成功的交易可能對應到後臺信息系統上數百次資料庫事務操作,支撐交易系統的整個資料庫集群則會承擔每日高達數百億的事務讀寫。這除了給資料庫系統帶來巨大的性能挑戰之外,每日遞增的海量數據也帶來巨大的存儲成本壓力。
  • OPPO網際網路業務多活架構演進和實踐
    整體上,用戶的使用非常高頻,來自客戶端的請求和數據量非常龐大,並且這幾年一直在持續高速發展。隨著業務複雜度和並發量迅速增加,OPPO 面臨的難題是如何保證網際網路業務的高可用?多活架構如何落地,如何根據業務需求持續演進?針對複雜的系統,如何提供可靠的監控方案?......帶著這些疑問,InfoQ 記者採訪了 OPPO 網際網路服務系統後端框架團隊負責人羅工。
  • 技術解析:DAS、SAN和NAS三種存儲方式
    今天我們來看一下存儲的分類,根據伺服器類型分為:封閉系統的存儲和開放系統的存儲,封閉系統主要指大型機,開放系統指基於Windows、UNIX、Linux等作業系統的伺服器;開放系統的存儲分為:內置存儲和外掛存儲;外掛存儲根據連接的方式分為:直連式存儲(Direct-Attached Storage,簡稱DAS)和網絡化存儲(Fabric-Attached Storage,簡稱FAS
  • 英特爾傲騰系列上新 追求存儲領域的最大進化
    內存與存儲系統新瓶頸當前,數據正在以指數級的速度增長,從數據的量級來看,今年數據量的總規模將會達到40ZB,這一方面帶來了繁榮的數字經濟,另一方面也給數據存儲帶來了新的挑戰。近幾年,面對數位化帶來的挑戰,企業越早升級硬體系統,就越能把握住變革的先機。
  • 烽火雲存儲,助力IT新基建
    當今社會正在全面進入的5G時代,除了傳統數據中心集中式的數據存取方式,還將有大量應用場景需就地存取數據。AR/VR、車聯網、物聯網、智能製造等新興應用需要低延時的網絡和數據響應能力,這就要求雲端的算力、AI、存儲的能力下沉至邊緣,使之更接近用戶終端。隨著「安可」的實施,大量的企業或政府希望將這些數據處理並存儲在本地,以保障數據的安全性和隱私性。
  • 如何使用 JuiceFS 在雲上優化 Kylin 4.0 的存儲性能?
    Apache Kylin v4 採用 Parquet + Spark 的組合,不再使用 HBase,使得計算和存儲相分離,是一次重大架構升級,更加適應雲原生的技術趨勢。Kylin on Parquet 在雲上面臨的挑戰相比以前,基於新一代的 Kylin 4,用戶可以在雲上更加快速簡單地部署高性能、低 TCO 的的數據分析服務。計算和存儲的分離,以及架構複雜性的降低,都使得 Kylin 成為雲上數據分析的最佳選擇之一。
  • 中興通訊推出全快閃記憶體存儲產品KF8200,實現提升效率降低IO時延
    為滿足以上應用要求,客戶越來越傾向於使用全快閃記憶體存儲。 全快閃記憶體存儲面臨的需求及挑戰 雲計算、在線支付、移動社交等應用,業務不同負載特性也不同,對存儲的要求也差異較大,這些業務對全快閃記憶體存儲的設計提出了相應的需求及挑戰。
  • "Supermicro"被稱之為IT基礎架構現代化轉型的領路者
    新的大容量頂部加載存儲系統還針對企業環境進行了優化,支持縱向擴展和橫向擴展架構。在Paul Mcleod看來,Supermicro的主要優勢在於內部硬體設計和製造,「我們擁有在市場上首屈一指的硬體技術。通過與業內領先的供應商建立深厚的合作關係,Supermicro提供業界最廣泛、最靈活的產品組合,這使我們在市場上始終佔據領先地位。」
  • 美團使用第二代英特爾至強可擴展處理器加速Cellar存儲性能
    為了應對億級用戶給資料庫系統帶來的性能壓力,支撐業務創新,為用戶提供高速穩定的網際網路服務,美團將 Cellar 存儲系統伺服器中的處理器替換為第二代英特爾至強可擴展處理器,同時結合美團面向 Cellar 存儲系統進行的軟體優化,最終將資料庫性能提升 20%,幫助美團進一步優化了資料庫系統,可有效支撐未來業務的增長需求。
  • 軟體定義存儲,醫療信息化變革的「幕後推手」
    本文即是對醫療信息化建設的趨勢和挑戰加以分析,並基於分布式架構探索醫療私有雲、PACS影像存儲解決方案,為醫療行業信息化轉型實踐提供更多思路。1醫療信息系統及信息化趨勢醫療信息系統作為醫院必不可少的基礎設施與技術環境,支撐著醫院的日常管理運營。結合業務特點,可以將醫院信息系統分為三類。
  • 大型網站架構設計十步秘密攻略
    第一步:物理分離web伺服器和資料庫最開始,由於某些想法,於是在網際網路上搭建了一個網站,這個時候甚至有可能主機都是租借的,但由於這篇文章我們只關注架構的演變歷程,因此就假設這個時候 已經是託管了一臺主機,並且有一定的帶寬了,這個時候由於網站具備了一定的特色,吸引了部分人訪問,逐漸你發現系統的壓力越來越高,響應速度越來越慢,