大数据的存储
大數據的存儲
1.存儲方式
1.1 塊存儲
????????塊存儲就好比硬盤一樣,直接掛載到主機,一般用于主機的直接存儲空間和數據庫應用的存儲。它分兩種形式:
????????DAS:一臺服務器一個存儲,多機無法直接共享,需要借助操作系統的功能,如共享文件夾。
????????SAN:金融電信級別,高成本的存儲方式,涉及到光纖和各類高端設備,可靠性和性能都很高,除了貴和運維成本高,基本都是好處。
????????云存儲的塊存儲:具備SAN的優勢,而且成本低,不用自己運維,且提供彈性擴容,隨意搭配不同等級的存儲等功能,存儲介質可選普通硬盤和SSD。
1.2 文件存儲
????????文件存儲與較底層的塊存儲不同,上升到了應用層,一般指的就是NAS ,一套網絡儲存設備,通過TCP/IP進行訪問,協議為NFSv3/v4。由于通過網絡,且采用上層協議,因此開銷大,延時肯定比塊存儲高。一般用于多個云服務器共享數據,如服務器日志集中管理、辦公文件共享。
1.3 對象存儲
????????對象存儲具備塊存儲的高速以及文件存儲的共享等特性,較為智能,有自己的CPU、內存、網絡和磁盤,比塊存儲和文件存儲更上層,云服務商一般提供用戶文件上傳下載讀取的Rest API,方便應用集成此類服務。
1.4 總結
????????塊存儲:是和主機打交道的,如插一塊硬盤。
????????文件存儲:NAS,網絡存儲,用于多主機共享數據。
????????對象存儲:跟自己開發的應用程序打交道,如網盤。
????????它們的層級是越來越高。
2 大數據的存儲方式
2.1 分布式系統
????????分布式系統包含多個自主的處理單元,通過計算機網絡互連來協作完成分配的任務,其分而治之的策略能夠更好的處理大規模數據分析問題。主要包含以下兩類:
????????分布式文件系統:存儲管理需要多種技術的協同工作,其中文件系統為其提供最底層存儲能力的支持。分布式文件系統 HDFS 是一個高度容錯性系統,被設計成適用于批量處理,能夠提供高吞吐量的的數據訪問。
????????分布式鍵值系統:分布式鍵值系統用于存儲關系簡單的半結構化數據。典型的分布式鍵值系統有Amazon Dynamo,以及獲得廣泛應用和關注的對象存儲技術(Object Storage)也可以視為鍵值系統,其存儲和管理的是對象而不是數據塊。
2.2 NoSQL數據庫
????????關系型數據庫已經無法滿足Web 2.0的需求。主要表現為:無法滿足海量數據的管理需求、無法滿足數據高并發的需求、高可擴展性和高可用性的功能太低。
????????NoSQL數據庫的優勢:可以支持超大規模數據存儲,靈活的數據模型可以很好地支持Web 2.0應用,具有強大的橫向擴展能力等,典型的NoSQL數據庫包含以下幾種:鍵值數據庫、列族數據庫、文檔數據庫和圖形數據庫。
2.3 云數據庫
????????云數據庫是基于云計算技術發展的一種共享基礎架構的方法,是部署和虛擬化在云計算環境中的數據庫。云數據庫并非一種全新的數據庫技術,而只是以服務的方式提供數據庫功能。云數據庫所采用的數據模型可以是關系數據庫所使用的關系模型(微軟的SQLAzure云數據庫都采用了關系模型)。同一個公司也可能提供采用不同數據模型的多種云數據庫服務。
3 大數據存儲技術路線
3.1 MPP架構的新型數據庫集群
????????采用MPP(Massive Parallel Processing)架構的新型數據庫集群,重點面向行業大數據,采用Shared Nothing架構,通過列存儲、粗粒度索引等多項大數據處理技術,再結合MPP架構高效的分布式計算模式,完成對分析類應用的支撐,運行環境多為低成本PC Server,具有高性能和高擴展性的特點,在企業分析類應用領域獲得極其廣泛的應用。
????????這類MPP產品可以有效支撐PB級別的結構化數據分析,這是傳統數據庫技術無法勝任的。對于企業新一代的數據倉庫和結構化數據分析,目前最佳選擇是MPP數據庫。
3.2 基于Hadoop的技術擴展
????????基于Hadoop的技術擴展和封裝,圍繞Hadoop衍生出相關的大數據技術,應對傳統關系型數據庫較難處理的數據和場景,例如針對非結構化數據的存儲和計算等,充分利用Hadoop開源的優勢,伴隨相關技術的不斷進步,其應用場景也將逐步擴大,目前最為典型的應用場景就是通過擴展和封裝Hadoop來實現對互聯網大數據存儲、分析的支撐。對于非結構、半結構化數據處理、復雜的ETL(Extract-Transform-Load)流程、復雜的數據挖掘和計算模型,Hadoop平臺更擅長。
3.3 大數據一體機
????????大數據一體機是一種專為大數據的分析處理而設計的軟、硬件結合的產品,由一組集成的服務器、存儲設備、操作系統、數據庫管理系統以及為數據查詢、處理、分析用途而特別預先安裝及優化的軟件組成,高性能大數據一體機具有良好的穩定性和縱向擴展性。
4 分布式文件系統
????下面列舉了常用的分布式文件系統:
????????GFS也就是Google File System,Google公司為了存儲海量搜索數據而設計的專用文件系統。盡管Google公布了該系統的一些技術細節,但Google并沒有將該系統的軟件部分作為開源軟件發布。
HDFS(Hadoop Distributed File System)源于Google在2003年10月份發表的GFS(Google File System) 論文,它其實就是 GFS 的一個克隆版本。
????????開源 http://hadoop.apache.org/
????????Ceph是加州大學圣克魯茲分校的Sage weil攻讀博士時開發的分布式文件系統。由于ceph使用btrfs文件系統,而btrfs文件系統需要Linux 2.6.34以上的內核才支持。
????????開源 https://ceph.com/
????????Lustre是源自Linux和Cluster的混成詞。最早在1999年,由皮特·布拉姆創建的集群文件系統公司開始研發,于2003年發布Lustre 1.0。采用GNU GPLv2開源碼授權。
????????開源 http://lustre.org/
????????適合存儲小文件、圖片的分布文件系統有:
????????MogileFS(https://github.com/mogilefs/)
????????mooseFS(https://moosefs.com/)
????????FastFS(https://github.com/happyfish100/fastdfs)
????????TFS(http://tfs.taobao.org/)
????????GridFS(https://www.mongodb.com)
總結
- 上一篇: 第一季5:Hi3518EV200的环境搭
- 下一篇: 基于LabVIEW的个性化打地鼠游戏设计