999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

大數據基礎存儲系統技術研究

2017-09-01 15:54:43王瑞通李煒春
計算機技術與發展 2017年8期
關鍵詞:一致性

王瑞通,李煒春

(1.南京郵電大學 計算機學院,江蘇 南京 210003;2.福州大學 數學與計算機科學學院,福建 福州 350116)

大數據基礎存儲系統技術研究

王瑞通1,李煒春2

(1.南京郵電大學 計算機學院,江蘇 南京 210003;2.福州大學 數學與計算機科學學院,福建 福州 350116)

隨著大數據技術的發展和對海量數據存儲、分析需求的提高,成熟的分布式存儲系統越來越多。通過對不同分布式基礎存儲系統內部的存儲策略、管理策略、架構思想等關鍵技術點的對比和分析,對當前流行的分布式存儲系統在設計思想、創新性技術上進行了追根溯源。對比傳統數據存儲與分布式數據存儲的技術發展和應用實例,揭示了數據存儲追求更大、更快、更安全的發展潮流,重點研究了大數據基礎存儲實例中基于文件、鍵值對和表格這三種分布式存儲方式。正如網絡技術的發展到SDN(Software Defined Network)一樣,存儲方式也在發生深刻變化—軟件定義存儲。通過對當前大數據主流基礎存儲系統技術的發展和應用實例所進行的對比研究,為分布式存儲系統,特別是基礎存儲系統的開發,提供了一些在系統設計上的參考,也為在從事大數據方面有業務需求的工作人員在選擇底層存儲策略時提供了借鑒。

大數據;存儲架構;數據管理;基礎數據存儲系統;分布式存儲系統

0 引 言

自2013年大數據元年之后,互聯網、物聯網、社交網絡的數據洪流[1]不斷沖擊傳統數據存儲和處理手段。據IDC(International Data Corporation)報告顯示,到2020年全球數據總量將達到40 ZB,全球在15年的數據總量為7.9 ZB,而中國數據總量約占全球數據總量的13%。面對數據的爆炸性增長,傳統的數據存儲系統、數據庫技術和數據倉庫架構越來越不堪重負。數據庫也從傳統的關系型數據庫到NoSQL非關系數據庫再到現在基于內存的NewSQL數據庫遞進發展。數據存儲量和數據處理速度也在不斷向前發展。目前基于分布式數據存儲和計算的系統,在生產環境下可以很好地處理PB級數據,但仍面臨海量數據增長的壓力。

大數據具有的4V特性[2],即Volume、Velocity、Variety和Veracity,也就是海量、快速、多樣、低密度。追求快速的從海量且增長快速的低密度數據中進行知識發現是一項艱巨的任務。合格的大數據存儲系統必須有效應對大數據時代的4大挑戰,所以大數據存儲系統都具有很高的IOPS(Input Output Per Second)和大容量,支持動態水平擴展能力。當然易管理維護,多種數據類型兼容性強,高性能,低成本等需求也是剛性的。

根據分布式存儲系統對數據存儲格式的不同,分別對基于文件的分布式基礎存儲系統、基于鍵值對的分布式基礎存儲系統和基于表格的分布式基礎存儲系統進行了對比分析與研究。

1 數據存儲方式

綜合生產環境來看,主流外存設備使用的是機械硬盤(HDD)和固態硬盤(SSD),這兩者和網絡一起構成了數據存儲的硬件基礎。這里不討論關于網絡傳輸的相關問題,而重點討論數據與硬盤之間的交互。以主流的HDD作為基礎存儲;SSD為高性能新崛起的存儲介質,在存儲系統中最多只是作為HDD的輔助存儲;全SSD作為存儲基礎并不是主流。

傳統的底層數據存儲,硬盤與服務器之間的連接需要接口協議[3],主要包括SCSI、FC、SATA、SAS。操作系統掃描發現存儲硬件后通過接口驅動程序連接使用硬盤。用戶通過操作系統根據文件系統格式對硬盤數據塊進行組織劃分。Linux系統下的文件格式多為ext3和ext4。另外,通過RAID的方式可以靈活地對硬盤上的數據進行安全備份、錯誤容災處理。通常還需要使用LVM對硬盤進行邏輯分區。

傳統的存儲系統無法滿足大數據存儲的高可靠、高速傳輸、動態可擴展和低成本等要求。磁盤瓶頸和網絡瓶頸的掣肘導致新的存儲架構的誕生,分布式存儲系統便應運而生。這是一個通過網絡連接各離散存儲單元的網絡存儲系統。其本身所具有的高可擴展性、低成本、無接入限制等優點是傳統存儲系統所無法比擬的。分布式存儲系統的核心技術是網絡存儲技術[4]。它將數據的存儲由傳統的服務器存儲轉移到網絡設備存儲。核心思想是將存儲陣列與服務器分開,通過網絡拓撲將兩者連接起來。主要有以下三種:DAS、NAS和SAN。

DAS(直接附加存儲)架構中,服務器與磁盤陣列通常采用SCSI連接。隨著數據量的增大,SCSI通道會成為瓶頸,而且沒法進行動態擴展。NAS(網絡附加存儲)是通過網絡協議(TCP/IP、FTP等)連接服務器和磁盤陣列,相當于一個LAN,提供文件級存儲服務。由于使用統一的文件系統,每次增加磁盤容量就會對應增加服務器的負載。NAS通常采用RAID6對數據進行容災,這兩者都增加了NAS的擴展成本。SAN(存儲區域網)是通過交換機等網絡連接設備將磁盤陣列與相關服務器連接起來的高速專用子網。服務器可以直接訪問SAN中的數據,只有和文件信息相關的元數據信息才經過元數據服務器處理,減少了數據傳輸的中間環節。主流的大數據分布式存儲系統基本都使用這一架構思想。目前有一種研究熱點是將NAS和SAN相結合來構造更好的分布式存儲系統,以期滿足各種應用對存儲系統提出的更多需求:大容量、高性能、高可用、動態可擴展、易管理維護等。Alluxio[5]就是一種最新的嘗試。

與傳統數據存儲系統相比,分布式存儲系統有如下幾點優勢:

(1)成本低。分布式數據存儲系統都是使用x86日用級硬件作為單節點,所以在硬件成本方面降低很多。通過優秀的架構設計和管理平臺,有效降低了用戶的維護成本和管理成本。云存儲的出現顯著降低了企業在數據存儲方面的開銷。

(2)動態可擴展。通過對服務節點的增刪,部分分布式存儲系統理論上可以無限制擴展容量。成熟的分布式存儲系統可以輕松擴展到幾千節點,滿足PB級數據的存儲和管理需求。用戶在使用這些系統時可以依據具體業務需要對存儲服務進行量身定制。

(3)高吞吐量。由于分布式存儲系統采用分而治之的思想,對數據進行并行操作,天然地對大數據量的處理有很高的吞吐量。

在此基礎上,根據對分布式系統的分類,對三種分布式基礎存儲系統進行闡述。

2 基于文件的分布式基礎存儲系統

2.1 分布式文件系統

文件系統是在操作系統中對存儲空間的抽象,向用戶提供統一的、對象化的訪問接口。分布式文件系統(Distributed File System,DFS)的概念是相對于本地文件系統提出的。DFS的文件系統管理物理存儲資源不一定直接連接在本地,而是通過計算機網絡與節點相連。DFS基于C/S模式設計,通常提供多個供用戶訪問的服務器。由于網絡的對等性,節點的客戶端和服務端的角色是共存的。

目前的DFS主要通過NAS虛擬化[6],或者基于x86硬件集群和分布式文件系統集成在一起,以實現海量非結構化數據的存儲。

為應對海量數據存儲的需求,DFS被設計具有以下特點。

(1)擴展能力強。從GFS開始元數據中心化管理,到后來GlusterFS采用無中心化管理,理論上系統具有無限的擴展能力。

(2)高可用性。通過中心分布式系統的master服務器HA、網絡分區等設計,保障數據的實時可用性。數據完整性則通過本地文件的鏡像和文件自動修復、多地備份等手段來解決。

(3)高效彈性存儲。可以根據業務需求靈活地增加或減少存儲池中的資源,而不需要中斷系統運行。彈性存儲的最大挑戰是減少或增加資源時的數據震蕩問題。

(4)其他設計特點:壓縮、加密、去重、緩存和存儲配額。壓縮減少了文件傳輸的帶寬損耗。加密保障了數據傳輸的安全。值得一提的是,GlusterFS由于采用GNU/Hurd的堆棧式設計,讓這些功能模塊可以方便地增減到系統。

2.2 分布式文件存儲系統實例

DFS的實現有多種,有AFS、NFS、GlusterFS等等。最著名的當屬GFS(Google File System)[7]。2003年,GFS的設計思想被Google公開,引起了業內轟動。2008年,GFS的開源實現HDFS(Hadoop Distributed File System)[8]集成在Hadoop中并成為Apache的頂級項目。當今大數據時代,Hadoop生態圈已成為大數據解決方案的工具箱。作為大數據的基礎存儲平臺,HDFS為Hadoop生態圈提供了最底層的支持。

2.2.1 HDFS的架構設計

HDFS借鑒GFS的思想把文件默認劃分為64 MB的數據塊(Block),采用主從結構。主控服務器用來實現元數據管理、副本管理、負載均衡管理、日志管理等操作。從屬服務器負責數據塊存儲管理。在分散存儲的同時,每個節點也是一個計算資源,進行數據的就近計算,提高了海量數據處理性能。很多其他分布式文件系統都借鑒了GFS的思想,如TFS、Facebook Haystack[9]等。

HDFS構建在普通商業服務器上的分布式文件系統,將組件失效看作是常態。數據以塊(block)為單位進行存儲管理。適用于一次寫入多次讀取的離線大數據處理。整體架構如圖1所示。

NameNode作為元數據處理節點,DataNode作為塊數據處理節點。元數據包含文件相關的信息主要有:文件路徑,副本數,塊大小,塊數量,塊號,生成時間戳,用戶信息,權限信息,等等。NameNode是集群的大腦,負責整個集群的健康監控,復制策略和負載均衡。為了保證HDFS的可用性,系統設計了SecondaryNamenode。元數據服務器心跳信息缺失會導致集群不可用。塊數據服務器心跳信息缺失會導致此DataNode不可用,此時NameNode會將此失效節點的數據寫入其余節點,保證塊數據復本數。通過第三方軟件Zookeeper[10]進行公平選舉,達到存儲集群的HA。Zookeeper是著名的Paxos一致性算法[11]的開源實現。集群做到HA之后,就可以對元數據服務器進行替換而不用中斷集群運行。

圖1 HDFS的架構

為了保證數據的可用性,HDFS將塊數據存儲在不同節點,默認存放3份。節點之間通過心跳機制交流信息。NameNode只存放文件對應的塊ID,塊的具體信息通過心跳機制由塊服務器上報。元數據信息在集群運行期間常駐內存,提高了數據訪問速度。應用程序首先通過API到NameNode處獲得文件塊號等元數據信息,然后直接到DataNode處讀數據。存數據先要到NameNode處申請到塊號等元數據信息,然后由YARN資源管理器分配資源,最后到具體的DataNode服務器進行寫入。

2.2.2 HDFS的高可用和一致性

HDFS在保證數據可用性的同時會降低數據一致性。HDFS是數據讀寫分離的。A節點負責寫入數據,然后將數據同步到B節點。B節點提供數據讀取的服務,當AB兩個節點出現通信問題時,HDFS保證B節點繼續提供服務,但是數據不保證一致。即用戶處于等待狀態,一直等到數據同步完成后系統才繼續提供服務。

HDFS是一種高可用、易擴展、高性能且容錯性強的分布式文件存儲系統。在實際應用中也存在一些問題:不適用海量小文件處理,實時隨機讀寫等。構建在此存儲系統上的數據庫系統HBase(Google的BigTable開源實現),在一定程度上提供了數據的低延遲隨機讀寫能力。海量小文件會增加元數據服務器的壓力,通常采用文件壓縮、預取和緩存技術改善訪問效率。NameNode節點使用高速帶寬(通常萬兆帶寬),大容量內存,SSD做中間緩存等手段也是常用的。大數據技術全球領跑者Google的大數據管理路線是循著BigTable[12]、Megastore[13]、Spanner[14]發展,而底層的數據存儲支持是從GFS到Colossus技術革新。

3 基于鍵值對的分布式基礎存儲系統

3.1 分布式鍵值存儲系統

分布式鍵值存儲系統是一種基于主鍵構建鍵值對以實現對半結構化數據的簡單CRUD操作的大數據基礎存儲方案。可以看作是一種分布式表格系統的簡化實現。最典型的分布式鍵值系統是Amazon的Dynamo系統[15]。其他基于同一思想構建的系統還有Facebook的Cassandra[16]和淘寶的TaoBao Tair。自07年Dynamo的論文公開后,作為一種與GFS截然不同的經典大數據基礎存儲解決方案一直在發展進步。當前云存儲的關注熱點在分布式對象存儲系統。如Amazon的S3[17]和開源的OpenStack的Swift[18],都可視為分布式鍵值存儲系統。Dynamo構建主鍵是基于文件數據,而S3和Swift構建主鍵是基于對象。所謂對象其實就是文件數據及其屬性信息的集合。分布式鍵值存儲系統的核心技術要點有:P2P非中心化系統設計,一致性哈希技術,數據最終一致性實現,數據寫的高可用性,系統故障處理和動態水平擴展的實現。

3.2 分布式鍵值系統實例

Dynamo是一個高性能、高可用、易擴展的分布式鍵值存儲系統。圖2是Amazon PaaS(平臺即服務)架構。客戶端有服務需求,如數據需求或計算需求,通過網頁中的個性化組件向聚合服務器請求服務。服務端和客戶端通過LSA(服務水平協議)控制對用戶的服務項目和質量。每個聚合服務器都負責一類服務,由多個服務器實例組成。服務器實例可有多種,如Dynamo實例、S3服務實例、其他數據存儲實例等等。

圖2 Dynamo架構圖

3.2.1 Dynamo的一致性與高可用

亞馬遜對Dynamo的一個很重要的設計目標是保證寫的高可用性。在其他服務器或網絡出現故障時,購物車服務器仍提供寫服務。一個服務器實例就是一個P2P網絡架構,去中心化。這是和HDFS網絡架構的顯著區別。當數據依據某個副本策略進行數據備份,出現網絡故障時,Dynamo通過降低數據的可用性來保障數據的強一致性。

Dynamo被設計成保證數據的最終一致性,即所有的更新都在所有副本中體現。在數據有更新時,利用向量時鐘體現版本變化。如圖3所示,原始的數據D被節點Sx更新后成為D1,但是伴隨著數據的有一個向量時鐘([Sx,1])。在數據D2分別被Sy和Sz更新而沒有統一體現在所有副本之后,客戶端會讀取到兩個數據D3和D4,此時通過向量時鐘可以確定數據的共同祖先Sx,并由Sx對數據D3和D4合并更新。這樣通過向量時鐘獲取了數據的上下文變化信息,最終保障了數據的強一致性。同樣,通過對數據讀取過程的協調,保證了數據寫的高可用。

圖3 Dynamo數據的最終一致性

Dynamo數據使用一致性哈希環將數據動態分配到存儲節點上。每份數據對應于一個唯一主鍵。主鍵通過MD5哈希生成128位的特征碼。將所有的特征碼首尾相接就形成了圖4所示的哈希環。每個節點負責根據不同的副本策略存儲數據。如圖4中顯示的數據副本數是3,即每個節點存儲當前節點和此節點之前的三個節點之間三段Key Range所對應的鍵值對數據。例如,D節點會存儲(A,B]、(B,C]和(C,D]三個Key Range對應的數據。該設計的一大優點是,數據的變動只會影響臨近節點而不影響其他節點。

為了消除數據熱點的出現,避免節點因熱數據負載過高,Dynamo使用了“虛擬節點”的概念。一個物理節點可以由多個虛擬節點負責。每個物理節點最初只包含本地節點和token(虛擬節點標識)的信息。系統啟動后通過Gossip協議[19]與對等節點交換信息。整個系統的分區信息和部署信息也經Gossip協議傳輸到所有物理節點。物理節點的增減也通過Gossip協議告知臨近節點。每增加一個節點,此節點會被分配對應的token來服務存儲集群。刪除節點時,對應的虛擬節點出現變化,集群會將被移除節點的數據分配到臨近虛擬節點,保證數據副本數。此過程只影響臨近的虛擬節點,所以系統內不會出現網絡風暴。

圖4 Dynamo環上的分區與復制

3.2.2 Dynamo的靈活讀寫策略

Dynamo通過對數據的get(key)和put(key)原子操作的動態調整,獲取靈活的數據處理性能。在讀寫操作出現障礙時,使用一個類似于仲裁的一致性協議來保證副本的一致性。協議參數R表示判斷一個讀取操作成功的最少節點數目;協議參數W表示判斷寫操作成功的最少節點數;協議參數N表示讀寫操作涉及的健康節點數,或者是數據目標副本數。當業務在讀請求上需求量大時,設置較大的N保證數據的健壯性,選擇較大的W和較小的N。這樣就犧牲了寫性能,獲得更高的讀性能。相反,可以選擇較小的W和較大的N來適應業務大量寫操作的需求。以犧牲讀性能換取更高的寫性能。默認設置W+R>N,認為這是一個可靠仲裁系統,能夠保證每次都能讀取最新的數據。反之則不然。

此外,Dynamo采用反熵(anti-entropy)協議[20]來保持副本的同步,采用MerkleTree[21]來提高副本一致性檢驗的性能。

以上描述了Dynamo這個典型的分布式鍵值對存儲系統的數據存儲過程。重點介紹了數據一致性保障、集群水平擴展實現、集群健壯性保障等方面的主要技術要點。

4 基于表格的分布式基礎存儲系統

4.1 分布式表格存儲系統

在國內,大數據生產環境中對Hadoop生態工具的運用越來越多。為了適應不同的應用場景,基礎存儲服務一直由HDFS和HBase提供。HBase[22]是基于HDFS的分布式列簇存儲數據庫。簡單來講,HBase就是在分布式文件系統上對數據加了一層索引,它適用于處理半結構化和結構化數據。HBase實質是對數據索引進行管理的平臺。在高吞吐量的批處理場景下,優先選擇HDFS系統作為存儲。在追求低延遲,有隨機讀寫需要的場景下,優先選擇HBase系統作為存儲。市場需要一個既支持高吞吐量又支持低延遲隨機讀寫的存儲系統。Kudu就是以此為目標而設計的基礎數據存儲解決方案。

4.2 分布式表格存儲系統實例

Kudu是Cloudera公司在2015年公開的一種純列式面向結構化數據,支持低延遲隨機讀寫且具有高性能處理數據能力的開源大數據存儲引擎。Kudu一開始的設計目標就是緊密融入Hadoop生態圈,對Yarn、Hive、Mesos等的支持度很高。Kudu可以很好地支持Spark的內存計算框架和MapReduce的鍵值對計算框架。由于Kudu剛剛公布的新型系統,目前僅能獲取beta版,國內只有小米公司使用了半實驗半生產的Kudu千節點集群。作為一種新型的分布式基礎存儲系統有很多創新點值得學習。

4.2.1 Kudu的架構設計要點

圖5是Kudu的架構圖,Kudu存儲系統由三個master服務器和若干tablet服務器組成。Master服務器負責管理metadata,是集群的管理者。每個tablet服務器服務多個tablet并維護tablet的主從狀態。每個tablet包含多個具體表。Tablet的主從之間使用Raft一致性算法來保證它們間的數據同步。

在使用者看來,Kudu是一種基于表結構的數據存儲系統。一個Kudu集群擁有很多數量的表,每一個表都有模式(schema)定義。模式包含一個有限的列。每個列都有一個名字和模式(int32或string)是否為空的選項。在這些列中有已經排序好的子集(叫做主鍵),主鍵列用戶不可添加或刪除。行具有主鍵唯一約束性。主鍵是刪除、更新等高等級操作的唯一依賴。針對行的主鍵可以進行唯一索引建立,這提高了行的更新刪除性能。這種數據模式很像是關系型數據庫,而不同于很多分布式數據庫存儲方式,如Cassandra、mongoDB、Riak、BigTable等。

Kudu對于類型的定義可以具體到某個列。這與其他NoSQL對數據類型定義為“everything is bites”不同。這是因為有以下兩點考慮:指定類型允許使用特定類型的列編碼格式,例如使用整數的位填充;指定類型允許使用類SQL的元數據傳輸到其他系統,例如使用常用的BI或數據處理工具。Kudu自定義列類型,提高了列掃描的性能,實現了隨機數據更新的低延遲。

Kudu在保障數據一致性時提供了兩種一致性模型:使用快照,這是單客戶節點“讀你所寫”一致性的可靠實現;使用時間戳令牌。用戶自定義在客戶端之間傳輸時間戳:在寫操作后,用戶在客戶端請求一個令牌時間戳,這個token可以通過外部通信傳輸到另外的客戶端,在APIs處理數據時能夠獲得不同客戶端對同一數據的寫操作的前后關系。注意這里與Dynamo使用向量時鐘保障一致性的實現方法是不同的。Kudu使用spanner(類似控制器組件)提供token鎖服務,使用HibridTime時鐘算法[23]獲取時間戳。兩者的結合使用基本確保了數據的一致性。

圖5 Kudu的架構圖

數據依據主鍵在Kudu里進行水平分區。每個分區都有分區key并對應某個tablet。主鍵元組映射到分區key。這確保了每次對數據的插入更新操作只針對一個tablet,降低了數據處理的復雜度。Kudu支持靈活的分區策略,建表時自定義對表設置某種分區模式。主要分區規則包括:hash分區規則和range分區規則。這些靈活的分區策略具備典型的“NoSql”特性,使得通過MPP(Massive Parallel Processing)分析數據的用戶和管理員能夠很快入手Kudu。

4.2.2 Kudu的存儲技術

一個tablet被Kudu細分為多個行集合(RowSets),這是Kudu的最小存儲單位。Kudu沒有HDFS中塊的概念。對行集合的獨立定義保證了行的獨立性。Kudu基于行集合進行負載均衡、執行WAL日志策略、配置數據讀寫IO閾值和確定數據壓縮策略等數據管理操作。行集合又分為內存行集合(MemRowSet)和磁盤行集合(DiskRowSet)。

內存行集合的實現是基于內存的并發B樹實現的。它使用了樂觀鎖,借鑒了MassTree的設計實現。每個tablet只有一個內存行集合保存當前最近插入的行。其他落地的行集合成為磁盤行集合。當一個內存行集合被選擇進行刷寫處理時,一個新的空內存行集合被創建并接管上一個內存行集合的工作。前一個內存行集合轉換為一個或多個磁盤行集合。這個裂變過程類似于HBase的HFile的裂變過程。刷寫過程是并發的。在完成刷寫過程之前,任何對這一過程的數據進行更新刪除操作都會被追蹤,以便回滾時使用。在內存行集合進行刷寫的過程中,轉變的磁盤行集合默認每32 MB大小一個輪回寫入磁盤。這確保磁盤行集合不會過大,提高了增量壓縮的性能。

數據插入過程:插入前,Kudu會掃描所有tablet的磁盤行集合,選取某個磁盤行集合執行插入操作。此過程中,使用每個磁盤行集合的布隆過濾器確保插入數據key的唯一性。構建key的B樹索引并常駐內存以減少磁盤IO負載。

數據讀取過程:Kudu通常通過被讀取數據的主鍵上下界或上界進行批量讀操作。Kudu選擇了基于內存的批處理方式。內部實現是一種類金字塔的層級關系,使用指針從高層指向底層最終指向更小的被讀列塊。批處理格式在內存中是列式的,避免了偏移量計算的開銷。Kudu執行按列掃描直到找到目標列并得到行偏移量。

其他技術要點:使用心跳機制和Raft算法(一種Paxos算法)配合達成選舉策略。懶實體化列掃描策略,優先選取滿足自定義條件的列。廣泛地使用壓縮,如對行集合壓縮和中間緩存數據的壓縮溢寫。

5 結束語

海量數據不斷沖擊當前的存儲技術體系,不同的分布式存儲技術百花齊放、百家爭鳴。除了以上介紹的基礎存儲方式,還有混合存儲方式。如Ceph的存儲系統,根據對存儲對象的定義不同,可以靈活存儲不同類型的大數據資產。異軍突起的Alluxio是以內存為中心的虛擬分布式存儲系統,能夠依據對底層任意不同的基礎存儲系統(如HDFS或AWS等)存儲數據的處理性能需求,自定義或者自動針對特定數據選擇存儲方式和存儲介質。它是構建在計算框架和存儲框架之間高效、靈活的管理者。高效的存儲架構設計、創新的存儲模型思想、靈活的存儲手段整合,這三者是應對海量數據存儲、應用挑戰的重要手段。大數據基礎存儲系統是構建MPP系統、NoSQL系統、混合系統等的核心。

圍繞基于文件、鍵值對、表格等三大基礎大數據存儲系統的技術發展脈絡進行介紹。梳理出當前大數據基礎存儲技術的發展現狀和發展潮流。對這三種典型的大數據基礎分布式存儲系統的技術、架構進行了研究和對比。結合具體實例介紹了大數據分布式基礎存儲系統的基本概念、關鍵技術和架構設計要點。早期基礎存儲系統寶刀未老,新型基礎存儲系統來勢洶洶。基礎存儲技術作為大數據發展的基石,將繼續成為工業界和學術界的研究熱點。

[1] 孟小峰,慈 祥.大數據管理:概念、技術與挑戰[J].計算機研究與發展,2013,50(1):146-169.

[2] Gantz J,Reinsel D.Extracting value from chaos[R].[s.l.]:IDC IVIEW,2011.

[3] 張 冬.大話存儲[M].北京:清華大學出版社,2008:19-58.

[4] 王 月,賈卓生.網絡存儲技術的研究與應用[J].計算機技術與發展,2006,16(6):107-109.

[5] Li H,Ghodsi A,Zaharia M,et al.Tachyon:reliable,memory speed storage for cluster computing frameworks[C]//Proceedings of the ACM symposium on cloud computing.[s.l.]:ACM,2014:1-15.

[6] 張成峰,謝長生,羅益輝,等.網絡存儲的統一與虛擬化[J].計算機科學,2006,33(6):11-14.

[7] Ghemawat S,Gobioff H,Leung S T.The Google file system[C]//ACM symposium on operating systems review.[s.l.]:ACM,2003:29-43.

[8] Shvachko K,Kuang H,Radia S,et al.The Hadoop distributed file system[C]//IEEE 26th symposium on mass storage systems and technologies.[s.l.]:IEEE,2010:1-10.

[9] Quan D,Huynh D,Karger D R.Haystack:a platform for authoring end user semantic web applications[C]//Proceeding of ISWC.[s.l.]:[s.n.],2003:738-753.

[10] 劉 芬,王 芳,田 昊.基于Zookeeper的分布式鎖服務及性能優化[J].計算機研究與發展,2014,51(S):229-234.

[11] 許子燦,吳榮泉.基于消息傳遞的Paxos算法研究[J].計算機工程,2011,37(21):287-290.

[12] Chang F,Dean J,Ghemawat S,et al.Bigtable:a distributed storage system for structured data[J].ACM Transactions on Computer Systems,2008,26(2):4

[13] Baker J,Bond C,Corbett J,et al.Megastore:providing scalable,highly available storage for interactive services[C]//Fifth biennial conference on innovative data systems research.Asilomar,CA,USA:[s.n.],2011:223-234.

[14] Corbett J C,Dean J,Epstein M,et al.Spanner:Google’s globally-distributed database[C]//USENIX conference on operating systems design and implementation.[s.l.]:USENIX Association,2012:251-264.

[15] Decandia G,Hastorun D,Jampani M,et al.Dynamo:amazon's highly available key-value store[C]//ACM SIGOPS operating systems review.[s.l.]:ACM,2007:205-220.

[16] Lakshman A,Malik P.Cassandra:a decentralized structured storage system[J].ACM SIGOPS Operating Systems Review,2010,44(2):35-40.

[17] Guide G S.Amazon simple storage service[EB/OL].2016-03-01.https://s3.cn-north-1.amazonaws.com.cn/aws-dam-prod/china/pdf/s3-ug.pdf.

[18] Arnold J.OpenStack swift:using,administering,and developing for swift object storage[M].[s.l.]:O’Reilly Media,Inc,2014.

[19] 劉德輝,尹 剛,王懷民,等.分布環境下的Gossip算法綜述[J].計算機科學,2010,37(11):24-28.

[20] van Renesse R,Dumitriu D,Gough V,et al.Efficient reconciliation and flow control for anti-entropy protocols[C]//Workshop on large-scale distributed systems & middleware.[s.l.]:[s.n.],2008:1-7.

[21] 秦志光,王士雨,趙 洋,等.云存儲服務的動態數據完整性審計方案[J].計算機研究與發展,2015,52(10):2192-2199.

[22] Vora M N.Hadoop-HBase for large-scale data[C]//International conference on computer science and network technology.[s.l.]:IEEE,2011:601-605.

[23] Alves D,Garg V.Hybridtime-accessible global consistency with high clock uncertainty[R].[s.l.]:[s.n.],2014.

Research on Technology of Basic Large Data Storage System

WANG Rui-tong1,LI Wei-chun2

(1.College of Computer,Nanjing University of Posts and Telecommunications,Nanjing 210003,China;2.College of Mathematics and Computer Science,Fuzhou University,Fuzhou 350116,China)

With the development of big data technology and the enhanced requirements on storage and analysis of the mass data,more and more mature distributed data storage systems have been provided.According to comparison and analysis on the key technical points like storage strategy,management strategies and architecture in the foundation system of various data distributed storage system,the existing prevailing distributed storage system is gone back to the roots from design philosophy and innovative technologiesl.Comparison on development and application between traditional and distributed data storage,it is revealed that data storage pursues the larger,the faster and the safer.The three distributed storage methods are emphasized including file-based,key-value-based and form-based in instances of basic big data storage.As the development of network technology evolved at SDN (Software Defined Network),the basic storage technology reaches SDS (Software Defined Storage).The elaborating current mainstream development and application instance of big data storage technology has been presented in detail as a reference of design in distributed storage system,especially in basic distributed storage system and some recommendations on the selection of the underlying storage with special business for engineers.

big data;storage architecture;data management;foundation system of data storage;distributed storage system

2016-07-07

2016-10-19 網絡出版時間:2017-07-05

國家“863”高技術發展計劃項目(2006AA01Z201)

王瑞通(1990-),男,碩士研究生,研究方向為分布式存儲、大數據架構。

http://kns.cnki.net/kcms/detail/61.1450.TP.20170705.1649.022.html

TP302

A

1673-629X(2017)08-0066-07

10.3969/j.issn.1673-629X.2017.08.014

猜你喜歡
一致性
注重整體設計 凸顯數與運算的一致性
遼寧教育(2022年19期)2022-11-18 07:20:42
關注減污降碳協同的一致性和整體性
公民與法治(2022年5期)2022-07-29 00:47:28
商用車CCC認證一致性控制計劃應用
注重教、學、評一致性 提高一輪復習效率
對歷史課堂教、學、評一體化(一致性)的幾點探討
IOl-master 700和Pentacam測量Kappa角一致性分析
基于CFD仿真分析的各缸渦流比一致性研究
ONVIF的全新主張:一致性及最訪問控制的Profile A
方形截面Rogowski線圈的一致性分析
電測與儀表(2016年7期)2016-04-12 00:22:18
基于事件觸發的多智能體輸入飽和一致性控制
主站蜘蛛池模板: 国产剧情伊人| 久久99精品国产麻豆宅宅| 国产精品理论片| 久久久黄色片| 九九热视频精品在线| 欧美激情,国产精品| 亚洲自偷自拍另类小说| 天堂亚洲网| 国产精品区网红主播在线观看| 欧美另类第一页| 免费久久一级欧美特大黄| 久久精品丝袜高跟鞋| 亚洲伊人天堂| 理论片一区| 成年人国产网站| 国产剧情国内精品原创| 亚洲无码免费黄色网址| 91网红精品在线观看| 国产午夜精品一区二区三区软件| 亚洲中字无码AV电影在线观看| 国产在线观看人成激情视频| 综合久久五月天| 亚洲男人天堂网址| 国产在线一区视频| 成年A级毛片| 亚洲第一区欧美国产综合| 亚洲无线国产观看| 色噜噜狠狠色综合网图区| 久久精品视频一| 亚洲欧美精品一中文字幕| 亚洲欧洲日产国产无码AV| 国产精品浪潮Av| 青草视频在线观看国产| 91午夜福利在线观看精品| 青青网在线国产| 国产呦视频免费视频在线观看 | 国产在线自乱拍播放| 日本一本正道综合久久dvd | 免费毛片网站在线观看| 国产精品页| 亚洲日产2021三区在线| 凹凸精品免费精品视频| 在线观看免费黄色网址| 五月天婷婷网亚洲综合在线| 精品精品国产高清A毛片| 午夜老司机永久免费看片| 国产精品刺激对白在线| 久久精品无码中文字幕| 在线永久免费观看的毛片| 天天躁夜夜躁狠狠躁躁88| 欧美激情首页| 午夜啪啪福利| 中文字幕日韩丝袜一区| 国产在线观看一区精品| 亚洲国产精品日韩专区AV| 亚洲一区二区无码视频| 欧美人在线一区二区三区| 国产精品19p| a亚洲天堂| 国产精品自在线天天看片| 亚洲成a人片7777| 国产免费人成视频网| 在线无码九区| 日韩成人午夜| 成人福利在线视频免费观看| 国产精女同一区二区三区久| 久久综合亚洲色一区二区三区| 国产爽妇精品| 亚洲一区二区视频在线观看| 99青青青精品视频在线| 国产精品理论片| 国产午夜人做人免费视频| 日韩午夜福利在线观看| 71pao成人国产永久免费视频| 91丝袜乱伦| 成人中文在线| 天堂亚洲网| 久久免费精品琪琪| 九九热视频精品在线| 国产精品吹潮在线观看中文| 四虎精品免费久久| 国产情侣一区二区三区|