『壹』 1 簡述數據結構的4種邏輯結構和4種物理結構的特點,並舉例說明。 2. 簡述順序存儲結構和鏈式存儲結構的優
4種邏輯結構及特點:
①
集合
集合中任何兩個數據元素之間都沒有邏輯關系,組織形式鬆散。
②
線性結構
線性結構中的
結點按邏輯關系依次排列形成一個「鎖鏈」。
③
樹形結構
樹形結構具有分支、層次特性,其形態有點象自然界中的樹。
④
圖狀結構
圖狀結構中的結點按邏輯關系互相纏繞,任何兩個結點都可以鄰接
數據結構的物理結構是指邏輯結構的存儲鏡像(image)。
『貳』 數據的儲存結構有哪些
數據的存儲結構包括順序存儲和鏈式存儲。
數據元素之間的關系有兩種不同的表示方法:順序映象和非順序映象,並由此得到兩種不同的存儲結構:順序存儲結構和鏈式存儲結構。數據的存儲結構是指數據的邏輯結構在計算機中的表示。順序存儲方法它是把邏輯上相鄰的結點存儲在物理位置相鄰的存儲單元里,結點間的邏輯關系由存儲單元的鄰接關系來體現,由此得到的存儲表示稱為順序存儲結構。順序存儲結構是一種最基本的存儲表示方法,通常藉助於程序設計語言中的數組來實現。鏈接存儲方法它不要求邏輯上相鄰的結點在物理位置上亦相鄰,結點間的邏輯關系是由附加的指針欄位表示的。由此得到的存儲表示稱為鏈式存儲結構,鏈式存儲結構通常藉助於程序設計語言中的指針類型來實現。
更多關於數據的儲存結構有哪些,進入:https://www.abcgonglue.com/ask/cb58ee1615824374.html?zd查看更多內容
『叄』 數據結構的存儲方式有哪幾種
1.順序存儲方式:順序存儲方式就是在一塊連續的存儲區域一個接著一個的存放數據。順序存儲方式把邏輯上相鄰的節點存儲在物理位置撒花姑娘相鄰的存儲單元里,節點間的邏輯關系由存儲單元的鄰接關系來體現。順序存儲方式也稱為順序存儲結構,一般採用數組或結構數組來描述。
2.鏈接存儲方式:鏈接存儲方式比較靈活,不要求邏輯上相鄰的節點在物理位置上相鄰,節點間的邏輯關系由附加的引用顫型欄位來表示。一個節點的引用欄位往往指茄耐猜向下一個節點的存放位置。
3.索引存儲方式:索引存儲方式是採用附加的索引表的方式來存儲節點信息的一種存儲方式。索引表由若干索引項組成。
4.散列存儲方式:散列存儲方式是根據節點的關鍵字直接計算出該節點的存儲地址的一種存儲方式。在實際應畝含用中,往往需要根據具體的數據結構來決定採用哪種存儲方式。
『肆』 14.數據倉庫常見的存儲優化方法有哪些
存儲優化管理的方式包括數據壓縮、數據重分布、存儲治理項優化、生命周期管理等方法。
數據壓縮
在分布式文件系統中,會將數據存儲3份,這意味著存儲1TB的邏輯數據,實際上會佔用3TB的物理空間。使用盤古RAIDfile格式的文件,將存儲比從1:3提高至1:1.5。這樣做的缺點是數據塊損壞時的修復時間比原來更長,讀的性能也有損失。數據重分布
由於每個表的數據分布不同,插入順序不同,導致壓縮效果有很大的差異,通過修改表的數據重分布(distributeby,sortby欄位)進行數據重分布,能夠對表進行優化處理。存儲治理項優化:
存儲治理項優化是指在元數據的基礎上,診斷、加工成多個存儲治理優化項。目前已有的存儲治理優化項有未管理表、空表、最近62天未訪問表、數據無更新無任務表等。生命周期管理策略
根本目的:用最少的存儲成本滿足最大的業務需求,使數據價值最大化。
a)周期性刪除策略:針對無效的歷史數據進行定期清理。
b)徹底刪除策略:無用表數據或者ETL過程產生的臨時數據,以及不需要保留的數據,可以進行及時刪除,包括刪除元數據。
c)永久保留策略:重要且不可恢復的底層數據和應用數據需要永久保留。
d)極限存儲策略:超高壓縮重復鏡像數據。
e)冷數據管理策略:永久保留策略的擴展。永久保留的數據需要遷移到冷數據中心進行永久保存。一般將重要且不可恢復的、佔用存儲空間大於100TB,且訪問頻次較低的數據進行冷備,例如3年以上的日誌數據。
『伍』 數據結構的存儲方式有哪幾種
數據結構的存儲方式有順序存儲方法、鏈接存儲方法、索引存儲方法和散列存儲方法這四種。
1、順序存儲方式:順序存儲方式就是在一塊連續的存儲區域一個接著一個的存放數據,把邏輯上相連的結點存儲在物理位置上相鄰的存儲單元里,結點間的邏輯關系由存儲單元的鄰接掛安息來體現。順序存儲方式也稱為順序存儲結構,一般採用數組或者結構數組來描述。
2、鏈接存儲方法:它比較靈活,其不要求邏輯上相鄰的結點在物理位置上相鄰,結點間的邏輯關系由附加的引用欄位表示。一個結點的引用欄位往往指導下一個結點的存放位置。鏈接存儲方式也稱為鏈接式存儲結構,一般在原數據項中增加應用類型來表示結點之間的位置關系。
3、索引存儲方法:除建立存儲結點信息外,還建立附加的索引表來標識結點的地址。它細分為兩類:稠密索引:每個結點在索引表中都有一個索引項,索引項的地址指示結點所在的的存儲位置;稀疏索引:一組結點在索引表中只對應一個索引項,索引項的地址指示一組結點的起始存儲位置。
4、散列存儲方法:就是根據結點的關鍵字直接計算出該結點的存儲地址。
(5)鬆散數據的存儲擴展閱讀
順序存儲和鏈接存儲的基本原理
在順序存儲中,每個存儲空間含有所存元素本身的信息,元素之間的邏輯關系是通過數組下標位置簡單計算出來的線性表的順序存儲,若一個元素存儲在對應數組中的下標位置為i,則它的前驅元素在對應數組中的下標位置為i-1,它的後繼元素在對應數組中的下標位置為i+1。
在鏈式存儲結構中,存儲結點不僅含有所存元素本身的信息,還含有元素之間邏輯關系的信息。數據的鏈式存儲結構可用鏈接表來表示。其中data表示值域,用來存儲節點的數值部分。Pl,p2,…,Pill(1n≥1)均為指針域,每個指針域為其對應的後繼元素或前驅元素所在結點的存儲位置。
在數據的順序存儲中,由於每個元素的存儲位置都可以通過簡單計算得到,所以訪問元素的時間都相同;而在數據的鏈接存儲中,由於每個元素的存儲位置保存在它的前驅或後繼結點中,所以只有當訪問到其前驅結點或後繼結點後才能夠按指針訪問到,訪問任一元素的時間與該元素結點在鏈式存儲結構中的位置有關。
『陸』 如何實現數據存儲的管理
:數據存儲備份和存儲管理源於上世紀70年代的終端/主機計算模式,當時由於數據集中在主機上,因此,易管理的海量存儲設備——磁帶庫是當時必備的設備。80年代以後,由於PC的發展,尤其是90年代應用最廣的客戶機/伺服器模式的普及以及互聯網的迅猛發展,使得存儲容量、存儲模式和存儲要求都發生了根本性的變化,一些新興的存儲技術迅速崛起,為構建一個更安全的信息時代提供了更多的選擇。
編者按如何確保所有數據能夠得到可靠備份,及時進行災難恢復是存儲管理軟體的核心任務。此外存儲管理軟體還存在以下一些基本功能,諸如改進系統和應用I/O性能及存儲管理能力,提高數據和應用系統的高可用性,減少由於各種原因中斷數據存取或者應用系統宕機的時間,實現技術有分級存儲管理(HSM)、ClusterServer(集群伺服器)等。
首先是能提供一些可以識別和分析存儲訪問模式的VolumeManager工具。VolumeManager通過復雜的磁碟配置能均衡I/O負載,在不影響應用的同時能夠優化應用數據的布局。它還可將數據條形散放到多個物理盤上以提高性能,同時還具有在不中斷應用的情況下,識別和消除性能瓶頸的能力,從而增強系統和應用的性能。另外,VolumeManager在減少系統中斷時間、增加數據完整性等方面也有不俗表現。它允許對磁碟進行在線的管理和更改配置,減少對系統產生極大影響的停機時間,同時利用冗餘技術提高數據可用性,防止數據被丟失和破壞。
其次還有一個非常重要的可快速恢復的日誌式文件系統FileSystem,它能在不間斷數據訪問的條件下,對文件作在線備份,並在系統重啟或崩潰前允許訪問數據並恢復文件,從而大大提高用戶和管理員的生產效率。FileSystem在系統崩潰前還能將未完成的數據記錄在一個事件日誌中,利用恢復程序重現,從而保持了數據的完整性。
VolumeManager和FileSystem都工作在操作系統一級,可實現集群與故障恢復、自動管理、備份與HSM以及基於瀏覽器的遠程管理等。兩者有機結合後,利用雙方特有的對磁碟和數據的管理能力,能給企業的系統提供盡可能高的性能、可用性及可管理性。
在此基礎之上便是整個存儲管理的核心任務——備份技術。
數據存儲備份技術一般包含硬體技術及軟體技術等,硬體技術主要是磁帶機技術,軟體技術主要是通用和專用備份軟體技術等。我們主要從軟體技術方面加以討論。備份軟體技術在整個數據存儲備份過程中具有相當的重要性,因為它不僅關繫到是否支持磁帶的各種先進功能,而且在很大程度上決定著備份的效率。最好的備份軟體不一定就是操作系統所提供的備份功能,很多廠商都提供了許多專業的備份軟體。專業備份軟體能通過優化數據傳輸率,即可以自動以較高的傳輸率進行數據傳輸。這不僅能縮短備份時間、提高數據存儲備份速度,而且對磁帶機設備本身也有好處。另外,專業備份軟體還支持新磁帶機技術,如HP的TapeAlert技術,差不多所有主流專業備份軟體均提供支持。
對於存儲模式來說比較常見的有DAS、NAS和SAN等。DAS(DirectAttachedStorage-直接連接存儲)是指將存儲設備通過SCSI介面或光纖通道直接連接到一台計算機上。當伺服器在地理上比較分散、很難通過遠程連接進行互連時,直接連接存儲是比較好的解決方案。直接連接存儲也可幫助企業繼續保留已有的傳輸速率並不很高的網路系統。
網路正成為主要的信息處理模式,需要存儲的數據大量增加,數據作為取得競爭優勢的戰略性資產其重要性在增加,是目前發展的趨勢。NAS和SAN的出現正響應了這一點。NAS就是網路連接存儲,即將存儲設備通過標準的網路拓撲結構(例如乙太網),連接到一群計算機上。它的重點在於幫助工作組和部門級機構解決迅速增加存儲容量的需求。這種方法從兩方面改善了數據的可用性。第一,即使相應的應用伺服器不再工作了,仍然可以讀出數據。第二,簡易伺服器本身不會崩潰,因為它避免了引起伺服器崩潰的首要原因,即應用軟體引起的問題。另外,NAS產品是真正即插即用的產品,其設備的物理位置非常靈活。
SAN(存儲區域網路)通過光纖通道連接到一群計算機上。在該網路中提供了多主機連接,但並非通過標準的網路拓撲,並且通過同一物理通道支持廣泛使用的SCSI和IP協議。它的結構允許任何伺服器連接到任何存儲陣列,這樣不管數據置放在哪裡,伺服器都可直接存取所需的數據。SAN解決方案是從基本功能剝離出存儲功能,所以運行備份操作就無需考慮它們對網路總體性能的影響。這個方案也使得管理及集中控制實現簡化,特別是對於全部存儲設備都集群在一起的時候。
集群通常用於加強應用軟體的可用性與可擴展性。某些集群架構技術會加入單一系統印象的概念,可從單點以單一系統的方式來管理多台計算機。集群伺服器可支持多達上百台互相連接的伺服器,結合為鬆散結合的單位來執行作業,保護彼此的應用軟體免於故障。由於集群伺服器可完全整合應用軟體服務架構,因此可建置高效的應用軟體執行環境,即使整個系統出現故障,終端計算機都還可以使用幾乎所有的應用軟體。集群伺服器軟體包括引擎、編譯器、負載計算器、代理、指令與圖形化系統管理介面等組件。集群化運算環境的最大優勢是卓越的數據處理能力。原則上,任何類型的多重主機架構存儲設備,包括直接連接的磁碟,都可以用來當作集群數據存儲設備。為求得最大的系統可用性,最適合使用擁有多重主機存取路徑的容錯或高可用性存儲子系統。
分層次的管理方式可以解決存儲容量不斷增長導致的如何有效擴充容量的問題。在很多情況下,它更多地用於分布式網路環境中。分級,其實就是意味著用不同的介質來實現存儲,如RAID系統、光存儲設備、磁帶等,每種存儲設備都有其不同的物理特性和不同的價格。例如,要備份的時候,備份文件一般存儲在速度相對比較慢、容量相對比較大、價格相對比較低的存儲設備上如磁帶,這樣做很經濟實用。那麼如何實現分級呢?從原理上來講,分級存儲是從在線系統上遷移數據的一種方法。文件由HSM系統選擇進行遷移,然後被拷貝到HSM介質上。當文件被正確拷貝後,一個和原文件相同名字的標志文件被創建,但它只佔用比原文件小得多的磁碟空間。以後,當用戶訪問這個標志文件時,HSM系統能將原始文件從正確的介質上恢復過來。分級存儲可以有不同的實施方式,HSM根據兩級或三級體系將動態遷移/回遷的數據分類,從而實現分級存儲。
存儲應用的深入必然帶來對整體解決方案的需求,這不僅包括硬體,還包括相應的軟體以及服務。一個軟硬體兼容的融合應用環境是大勢所趨。比如,存儲虛擬化的提出就證明了這一趨勢。因為它有利於提高存儲利用率、簡化管理和降低成本,構建一個融合的存儲應用大環境。總之,隨著網路技術的發展、計算機能力的不斷提高,數據量也在不斷膨脹。數據備份與恢復等存儲技術方面的問題顯得越來越重要,存儲管理技術的發展必將引起業界的高度重視。
相關鏈接:當前主流的存儲介質
磁碟陣列、磁帶庫
磁碟陣列的最大特點是數據存取速度特別快,其主要功能是可提高網路數據的可用性及存儲容量,並將數據有選擇性地分布在多個磁碟上,從而提高系統的數據吞吐率。另外,磁碟陣列還能夠免除單塊硬碟故障所帶來的災難後果,通過把多個較小容量的硬碟連在智能控制器上,可增加存儲容量。磁碟陣列是一種高效、快速、易用的網路存儲備份設備。
廣義的磁帶庫產品包括自動載入磁帶機和磁帶庫。自動載入磁帶機和磁帶庫實際上是將磁帶和磁帶機有機結合組成的。自動載入磁帶機是一個位於單機中的磁帶驅動器和自動磁帶更換裝置,它可以從裝有多盤磁帶的磁帶匣中拾取磁帶並放入驅動器中,或執行相反的過程。自動載入磁帶機能夠支持例行備份過程,自動為每日的備份工作裝載新的磁帶。一個擁有工作組伺服器的小公司或分理處可以使用自動載入磁帶機來自動完成備份工作。
磁帶庫是像自動載入磁帶機一樣的基於磁帶的備份系統,它能夠提供同樣的基本自動備份和數據恢復功能,但同時具有更先進的技術特點。它的存儲容量可達到數百PB(1PB=100萬GB),可以實現連續備份、自動搜索磁帶,也可以在驅動管理軟體控制下實現智能恢復、實時監控和統計,整個數據存儲備份過程完全擺脫了人工干涉。磁帶庫不僅數據存儲量大得多,而且在備份效率和人工佔用方面擁有無可比擬的優勢。在網路系統中,磁帶庫通過SAN(存儲區域網絡)系統可形成網路存儲系統,為企業存儲提供有力保障,很容易完成遠程數據訪問、數據存儲備份,或通過磁帶鏡像技術實現多磁帶庫備份,無疑是數據倉庫、ERP等大型網路應用的良好存儲設備。
光碟塔、光碟庫和光碟網路鏡像伺服器
光碟不僅存儲容量巨大,而且成本低、製作簡單、體積小,更重要的是其信息可以保存100年至300年。光碟塔由幾台或十幾台CD-ROM驅動器並聯構成,可通過軟體來控制某台光碟機的讀寫操作。光碟塔可以同時支持幾十個到幾百個用戶訪問信息。光碟庫也叫自動換盤機,它利用機械手從機櫃中選出一張光碟送到驅動器進行讀寫。它的庫容量極大,機櫃中可放幾十片甚至上百片光碟。光碟庫的特點是:安裝簡單、使用方便,並支持幾乎所有的常見網路操作系統及各種常用通信協議。
光碟網路鏡像伺服器不僅具有大型光碟庫的超大存儲容量,而且還具有與硬碟相同的訪問速度,其單位存儲成本(分攤到每張光碟上的設備成本)大大低於光碟庫和光碟塔,因此光碟網路鏡像伺服器已開始取代光碟庫和光碟塔,逐漸成為光碟網路共享設備中的主流產品。
『柒』 數據是如何存儲的
轉自網友文章: 大型網站資料庫優化
千萬人同時訪問的網站,一般是有很多個資料庫同時工作,說明白一點就是資料庫集群和並發控制,這樣的網站實時性也是相對的。這些網站都有一些共同的特點:數據量大,在線人數多,並發請求多,pageview高,響應速度快。總結了一下各個大網站的架構,主要提高效率及穩定性的幾個地方包括:1、程序
程序開發是一方面,系統架構設計(硬體+網路+軟體)是另一方面。軟體架構方面,做網站首先需要很多web伺服器存儲靜態資源,比如圖片、視頻、靜態頁等,千萬不要把靜態資源和應用伺服器放在一起。一個好的程序員寫出來的程序會非常簡潔、性能很好,一個初級程序員可能會犯很多低級錯誤,這也是影響網站性能的原因之一。
網站要做到效率高,不光是程序員的事情,資料庫優化、程序優化這是必須的,在性能優化上要資料庫和程序齊頭並進!緩存也是兩方面同時入手。第一,資料庫緩存和資料庫優化,這個由dba完成(而且這個有非常大的潛力可挖,只是由於我們都是程序員而忽略了他而已)。第二,程序上的優化,這個非常的有講究,比如說重要一點就是要規范SQL語句,少用in 多用or,多用preparestatement,另外避免程序冗餘如查找數據少用雙重循環等。另外選用優秀的開源框架加以支持,我個人認為中後台的支持是最最重要的,可以選取spring+ibatis。因為ibatis直接操作sql並有緩存機制。spring的好處就不用我多說了,IOC的機制可以避免new對象,這樣也節省開銷。據我分析,絕大部分的開銷就是在NEW的時候和連接資料庫時候產生的,請盡量避免。另外可以用一些內存測試工具來做一個demo說明hibernate和ibatis誰更快!前台你想用什麼就用什麼,struts,webwork都成,如果覺得自己挺牛X可以試試用tapestry。用資料庫也未必不能解決訪問量巨大所帶來的問題,作成靜態文件硬碟的定址時間也未必少於資料庫的搜索時間,當然對資料的索引要下一翻工夫。我自己覺得門戶往往也就是當天、熱門的資料點擊率較高,將其做緩存最多也不過1~2G的數據量吧,舉個例子:◎ 拿網易新聞來說 http://news.163.com/07/0606/09/3GA0D10N00011229.html
格式化一下,方便理解:http://域名/年/月日/新聞所屬分類/新聞ID.html
可以把當天發布的、熱門的、流攬量大的作個緩寸,用hashtable(key:年-月-日-分類-ID,value:新聞對象),靜態將其放到內存(速度絕對快過硬碟定址靜態頁面)。通常是採用oracle存儲過程+2個weblogic,更新機制也幾乎一樣每簽發一條新聞,就會生成靜態頁面,然後發往前端的web伺服器,前端的web都是做負載均衡的。另外還有定時的程序,每5-15分鍾自動生成一次。在發布新聞的同時將數據緩存。當然緩存也不會越來越大,在個特定的時間段(如凌晨)剔除過期的數據。做一個大的網站遠沒有想像中那麼簡單,伺服器基本就要百十個的。這樣可以大大增加一台計算機的處理速度,如果一台機器處理不了,可以用httpserver集群來解決問題了。2、網路
中國的網路分南北電信和網通,訪問的ip就要區分南北進入不同的網路。3、集群通常會使用CDN與GSBL與DNS負載均衡技術,每個地區一組前台伺服器群,例如:網易,網路使用了DNS負載均衡技術,每個頻道一組前台伺服器,一搜使用了DNS負載技術,所有頻道共用一組前台伺服器集群。網站使用基於Linux集群的負載均衡,失敗恢復,包括應用伺服器和資料庫伺服器,基於linux-ha的服務狀態檢測及高可用化。
應用伺服器集群可以採用apache+tomcat集群和weblogic集群等;web伺服器集群可以用反向代理,也可以用NAT的方式,或者多域名解析都可以;Squid也可以,方法很多,可以根據情況選擇。4、資料庫因為是千萬人同時訪問的網站,所以一般是有很多個資料庫同時工作的,說明白一點就是資料庫集群和並發控制,數據分布到地理位置不同的數據中心,以免發生斷電事故。另外還有一點的是,那些網站的靜態化網頁並不是真的,而是通過動態網頁與靜態網頁網址交換做出現的假象,這可以用urlrewrite這樣的開源網址映射器實現。這樣的網站實時性也是相對的,因為在資料庫復制數據的時候有一個過程,一般在技術上可以用到hibernate和ecache,但是如果要使網站工作地更好,可以使用EJB和websphere,weblogic這樣大型的伺服器來支持,並且要用oracle這樣的大型資料庫。
大型門戶網站不建議使用Mysql資料庫,除非你對Mysql數據的優化非常熟悉。Mysql資料庫伺服器的master-slave模式,利用資料庫伺服器在主從伺服器間進行同步,應用只把數據寫到主伺服器,而讀數據時則根據負載選擇一台從伺服器或者主伺服器來讀取,將數據按不同策略劃分到不同的伺服器(組)上,分散資料庫壓力。
大型網站要用oracle,數據方面操作盡量多用存儲過程,絕對提升性能;同時要讓DBA對資料庫進行優化,優化後的資料庫與沒優化的有天壤之別;同時還可以擴展分布式資料庫,以後這方面的研究會越來越多; 如果我來設計一個海量資料庫,可能首先考慮的就是平行擴容性,原因很簡單,我沒有辦法預估將來的數據規模,那我也就沒有邊界可言,因此,基本上首選dbm類哈希型資料庫,甚至,對於實時性要求很高的資料庫,可能會自行設計庫。 當我們使用業務描述腳本、事務批處理機、目錄服務、底層存取來劃分一個資料庫系統之後,其實,所謂的海量數據需求,也就不是那麼難辦到了。 嗯,這樣還有一個額外的好處,就是由於平行擴容性很好,因此,前期可以以較低成本搭建一個簡單的架子,後期根據業務量逐出擴容。這對很多企業來說,就是入門門檻很低,便於操作,且商業風險也小。MySQL比起動輒幾十萬美金,搭建豪華的Oracle平台,成本低多了。
『捌』 HBase是什麼為什麼要使用HBase
HBase在產品中還包含了Jetty,在HBase啟動時採用嵌入式的方式來啟動Jetty,因此可以通過web界面對HBase進行管理和查看當前運行的一些狀態,非常輕巧。為什麼採用HBase?HBase 不同於一般的關系資料庫,它是一個適合於非結構化數據存儲的資料庫.所謂非結構化數據存儲就是說HBase是基於列的而不是基於行的模式,這樣方面讀寫你的大數據內容。 HBase是介於Map Entry(key & value)和DB Row之間的一種數據存儲方式。就點有點類似於現在流行的Memcache,但不僅僅是簡單的一個key對應一個 value,你很可能需要存儲多個屬性的數據結構,但沒有傳統資料庫表中那麼多的關聯關系,這就是所謂的鬆散數據。 簡單來說,你在HBase中的表創建的可以看做是一張很大的表,而這個表的屬性可以根據需求去動態增加,在HBase中沒有表與表之間關聯查詢。你只需要 告訴你的數據存儲到Hbase的那個column families 就可以了,不需要指定它的具體類型:char,varchar,int,tinyint,text等等。但是你需要注意HBase中不包含事務此類的功 能。 Apache HBase 和Google Bigtable 有非常相似的地方,一個數據行擁有一個可選擇的鍵和任意數量的列。表是疏鬆的存儲的,因此用戶可以給行定義各種不同的列,對於這樣的功能在大項目中非常實用,可以簡化設計和升級的成本。
『玖』 淺析雲存儲系統的幾種形式
如果數據是動態的就會被遷移到靠上的存儲層,最終保存在某種固態盤(SSD)中。自動分層系統有很多種,其中影響最小也是最安全的使用方式就是將其作為保存動態數據的緩存。特別是,這些系統將幫助雲存儲邁向主流。
緩存類型的自動分層系統將動態數據從傳統機械存儲中拷貝到基於高速內存的緩存(RAM或者快閃記憶體固態盤)中。在這種拷貝模式中,自動分層系統被用作一個大型的讀取緩存,幾乎不保留數據的唯一副本。即使當他們通過緩存入站寫入的寫入加速器,保留唯一數據副本也僅僅需要幾分鍾的時間。在這些模式下,這些系統可以幫助雲存儲技術為更主流的存儲要求提供服務。
雲存儲系統也分為幾種形式。比較常見的一種是作為NAS存儲型的「價值層」,具有極高的成本效益和高度可擴展性。但是這種成本效益和可擴展性通常是以犧牲性能為代價的,使得基於雲的存儲系統無法被更多地用於主流的存儲資源。很多用戶和提供商希望能夠更廣泛地部署雲存儲,並利用自動分層系統來填補這個空白。
然而,當被用於更主流的用途時,雲存儲系統將帶來一個挑戰,那就是他們通常是軟體解決方案,有時候採用了提供給用戶的通用硬體和磁碟驅動器。這使得成本降低下來,因為數據集被分布到多個類型的存儲應健中。現在主要的存儲製造商都將精力放在了交付用於他們一級存儲平台的自動分層系統上,在提升性能的同時控制住成本。然而一級存儲並不常用於雲存儲部署中,而且主要的存儲製造商也都堅持在他們的低端存儲系統中提供自動分層系統技術,防止這些性能升級的系統影響到他們的一級存儲市場。
自動分層系統解決方案部署就緒之後,所有網路傳輸都將通過這個系統。自動分層系統設備會對存儲傳輸進行分析,然後根據它的訪問特性,將動態數據塊保存在高速存儲層中——通常是RAM或者SSD,也可能是高速SAS。因為對這些數據的讀取操作來自於高速存儲區,因此可以快速地交付給用戶或者應用。
在基於NAS的雲存儲中,有很多中應用實例是要求有更高的性能。首先是安裝一個比傳統NAS成本更低、可擴展性更高的NAS雲存儲系統;一個內部私有雲存儲系統。在這種應用實例中,不可避免地需要比雲存儲系統本身設計交付更高的性能。向雲存儲前端添加自動分層系統往往可以解決大多數性能問題。
第二個使用實例就是更經典的「雲存儲提供商」模式。如果一個提供商的某些用戶擁有一些突然變得非常動態的數據,那麼這些數據就可以被遷移到自動分層系統中。盡管這些數據的大多數請求可能是從一個速度較低的連接訪問這些數據,但是1000個用戶的訪問合起來就可能導致存儲方面的瓶頸。
大多數雲存儲系統是「鬆散集群的」,這意味著單個節點的性能會成為瓶頸,因為數據並沒有像和緊密配對的集群一樣被分布到節點中。結果是,如果一個文件被頻繁訪問,那麼每次它只能從一個節點被讀取。解決方法就是,將這個文件拷貝到集群中的多個節點,然後改變應用以了解還有誰需要這個文件。除此之外,如果對這個文件的訪問頻率降低下來,則需要找到這個文件的冗餘副本並進行刪除。在大多數情況下,最後一個步驟很少發生,這就導致大量的空間浪費。這樣就要求存儲管理員付出更多額外的管理時間。
另外一個更簡便且更有效的解決方案就是添加自動分層系統。系統分層系統會將訪問頻繁的文件(或者文件片段) 遷移到RAM或者基於固態盤的緩存區中。然後,當文件被頻繁訪問的時候,系統就會從高速存儲區提供這個文件。這種方法不需要對環境進行變動(或者變動有限),當文件被頻繁訪問的時候可以被識別出來並遷移到高速存儲中。然後,隨著訪問頻率降低,文件將被自動遷移到緩存中。因此,存儲就變成可自主管理和自主調節的存儲。
自動分層系統解決方案通常被用於加速高端NAS。這些系統已經擁有高速磁碟子系統和多個高速網路連接。高端NAS被用於交付機械驅動器所能提供的最佳性能。在更換整個存儲陣列之前,自動分層系統往往被作為最後一種解決方法。
另一方面,NAS雲存儲系統並不一定具有和傳統NAS相同的性能水平。正如前面所說,重點往往是成本削減和可擴展性,以犧牲性能為代價。隨著雲存儲環境的擴展——或者隨著雲存儲被更多地用於主流應用中,原始存儲性能的欠缺迫使存儲經理考慮選擇更傳統的解決方案。他們可以考慮的選擇之一就是不限制存儲的自動分層應用。這兩種技術的結合將提供更高的性能,同時保持了成本和可擴展性方面的優勢。