




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第4章大數(shù)據(jù)存儲大數(shù)據(jù)存儲概述
大數(shù)據(jù)存儲通常是指將那些數(shù)量巨大、難于收集、處理、分析的數(shù)據(jù)集持久化到計算機(jī)中。在進(jìn)行大數(shù)據(jù)分析之前,首先的步驟就是要將海量的數(shù)據(jù)存儲起來,以便今后的使用。
大數(shù)據(jù)的存儲數(shù)據(jù)通常是以GB甚至是TB乃至PB作為存儲的數(shù)據(jù)量級,因而與傳統(tǒng)的數(shù)據(jù)存儲方式差異較大。
傳統(tǒng)數(shù)據(jù)的獲取大多是人工的,或者是簡單的鍵盤輸入。如超市每天的營業(yè)額以及營業(yè)數(shù)據(jù)等,多數(shù)是以電子表格的方式錄入并存儲到計算機(jī)中,存儲容量較小。
在大數(shù)據(jù)時代,數(shù)據(jù)獲取的方式有這樣幾類:爬蟲抓取、用戶留存、用戶上傳、數(shù)據(jù)交易和數(shù)據(jù)共享。
傳統(tǒng)數(shù)據(jù)要么以線下傳統(tǒng)文件的方式,要么以郵件或是第三方軟件進(jìn)行傳輸,而隨著API接口的成熟和普及,API接口也隨著時代的發(fā)展逐漸標(biāo)準(zhǔn)化、統(tǒng)一化。
大數(shù)據(jù)存儲的數(shù)據(jù)類型與傳統(tǒng)存儲的數(shù)據(jù)類型差異較大。傳統(tǒng)數(shù)據(jù)更注重于對象的描述,而大數(shù)據(jù)更傾向與對數(shù)據(jù)過程的記錄。
大數(shù)據(jù)的存儲中不僅存儲數(shù)據(jù)的容量較大,更重要的是人們可以從存儲的數(shù)據(jù)間找到相互的關(guān)系,從而能夠?qū)?shù)據(jù)進(jìn)行比對和分析,最終產(chǎn)生商業(yè)價值。
大數(shù)據(jù)存儲的類型主要有以下三種:塊存儲、文件存儲和對象存儲。(1)塊存儲塊存儲就好比硬盤一樣,直接掛載到主機(jī),一般用于主機(jī)的直接存儲空間和數(shù)據(jù)庫應(yīng)用的存儲。DAS:是直接連接于主機(jī)服務(wù)器的一種儲存方式,也叫作直連式存儲。云存儲的塊存儲:具備SAN的優(yōu)勢,而且成本低,不用自己運維,且提供彈性擴(kuò)容,隨意搭配不同等級的存儲等功能,存儲介質(zhì)可選普通硬盤和SSD。SAN:是一種用高速(光纖)網(wǎng)絡(luò)聯(lián)接專業(yè)主機(jī)服務(wù)器的一種儲存方式,此系統(tǒng)會位于主機(jī)群的后端,它使用高速I/O聯(lián)結(jié)方式。(2)文件存儲文件存儲(NAS)相對塊存儲來說更能兼顧多個應(yīng)用和更多用戶訪問,同時提供方便的數(shù)據(jù)共享手段。阿里云文件存儲就是一種分布式的網(wǎng)絡(luò)文件存儲。(3)對象存儲對象存儲同時兼具SAN高級直接訪問磁盤特點及NAS的分布式共享特點。它的核心是將數(shù)據(jù)通路(數(shù)據(jù)讀或?qū)?和控制通路(元數(shù)據(jù))分離,并且基于對象存儲設(shè)備(OSD),構(gòu)建存儲系統(tǒng)。大數(shù)據(jù)存儲的方式
大數(shù)據(jù)的存儲方式主要有分布式存儲、NoSQL數(shù)據(jù)庫、NewSQL數(shù)據(jù)庫以及云數(shù)據(jù)庫四種。
分布式存儲分布式系統(tǒng)包含多個自主的處理單元,通過計算機(jī)網(wǎng)絡(luò)互連來協(xié)作完成分配的任務(wù),其分而治之的策略能夠更好的處理大規(guī)模數(shù)據(jù)分析問題。
(1)分布式文件系統(tǒng)分布式文件系統(tǒng)HDFS是一個高度容錯性系統(tǒng),被設(shè)計成適用于批量處理,能夠提供高吞吐量的的數(shù)據(jù)訪問。
(2)分布式鍵值系統(tǒng)分布式鍵值系統(tǒng)用于存儲關(guān)系簡單的半結(jié)構(gòu)化數(shù)據(jù)。典型的分布式鍵值系統(tǒng)有AmazonDynamo,以及獲得廣泛應(yīng)用和關(guān)注的對象存儲技術(shù)(ObjectStorage)也可以視為鍵值系統(tǒng),其存儲和管理的是對象而不是數(shù)據(jù)塊。淘寶也自主開發(fā)的一個分布式鍵值存儲引擎Tair。
NoSQL數(shù)據(jù)庫
NoSQL數(shù)據(jù)庫又叫作非關(guān)系數(shù)據(jù)庫,它是英文“NotOnlySQL”的簡寫,即“不僅僅是SQL”。NoSQL一詞最早出現(xiàn)于1998年,是CarloStrozzi開發(fā)的一個輕量、開源、不提供SQL功能的關(guān)系數(shù)據(jù)庫。
NoSQL數(shù)據(jù)庫又叫作非關(guān)系數(shù)據(jù)庫,它是英文“NotOnlySQL”的簡寫,即“不僅僅是SQL”。NoSQL一詞最早出現(xiàn)于1998年,是CarloStrozzi開發(fā)的一個輕量、開源、不提供SQL功能的關(guān)系數(shù)據(jù)庫。
NoSQL不使用SQL作為查詢語言,其存儲也可以不需要固定的表模式,用戶操作NoSQL時通常會避免使用RDBMS的JION操作。
目前NoSQL數(shù)據(jù)庫在以下的這幾種情況下比較適用:
(1)數(shù)據(jù)模型比較簡單;
(2)需要靈活性更強(qiáng)的IT系統(tǒng);
(3)對數(shù)據(jù)庫性能要求較高;
(4)不需要高度的數(shù)據(jù)一致性;
(5)對于給定Key,比較容易映射復(fù)雜值的環(huán)境。
NoSQL數(shù)據(jù)庫的理論基礎(chǔ)
NoSQL數(shù)據(jù)庫的三大理論基礎(chǔ)分別是:CAP原則、BASE和最終一致性。
CAP原則又稱CAP定理,指的是在一個分布式系統(tǒng)中,Consistency(一致性)、Availability(可用性)、Partitiontolerance(分區(qū)容錯性),三者不可得兼。
BASE是BasicallyAvailable(基本可用)、Softstate(軟狀態(tài))和Eventuallyconsistent(最終一致性)三個短語的簡寫。BASE是對CAP中一致性和可用性權(quán)衡的結(jié)果。
最終一致性:服務(wù)器一致性是指更新如何復(fù)制分布到整個系統(tǒng),以保證數(shù)據(jù)的最終一致。而客戶端一致性是指在高并發(fā)的數(shù)據(jù)訪問操作下,后續(xù)操作是否可以獲取最新的數(shù)據(jù)。
易于數(shù)據(jù)的分散提升性能和增大規(guī)模
NoSQL好處:
希望順暢地對數(shù)據(jù)進(jìn)行緩存(Cache)處理希望對數(shù)組類型的數(shù)據(jù)進(jìn)行高速處理希望進(jìn)行全部保存
NoSQL在處理大量數(shù)據(jù)方面很有優(yōu)勢。但實際上NoSQL數(shù)據(jù)庫還有各種各樣的特點,如果能夠恰當(dāng)?shù)乩眠@些特點,它就會非常有用。
NoSQL數(shù)據(jù)庫的分類(1)列式數(shù)據(jù)庫列式存儲是相對于傳統(tǒng)關(guān)系型數(shù)據(jù)庫的行式存儲來說的,簡單來說兩者的區(qū)別就是如何組織表。一般來講,將表放入存儲系統(tǒng)中有兩種方法:行存儲和列存儲。行存儲法是將各行放入連續(xù)的物理位置,這很像傳統(tǒng)的記錄和文件系統(tǒng)。列存儲法是將數(shù)據(jù)按照列存儲到數(shù)據(jù)庫中,與行存儲類似。在實際應(yīng)用中,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,如Oracle、DB2、MySQL、SQLSERVER等采用行式存儲法,而新興的Hbase、HPVertica、EMCGreenplum等分布式數(shù)據(jù)庫采用列式存儲。列式數(shù)據(jù)庫的優(yōu)點主要有:極高的裝載速度、適合大量的數(shù)據(jù)而不是小數(shù)據(jù)、高效的壓縮率以及適合做聚合操作等。
列式數(shù)據(jù)庫的缺點主要有:不適合掃描小量數(shù)據(jù)、不適合隨機(jī)的更新以及不適合做含有刪除和更新的實時操作等。列式數(shù)據(jù)庫由于其針對不同列的數(shù)據(jù)特征而發(fā)明的不同算法使其往往有比行式數(shù)據(jù)庫高的多的壓縮率,普通的行式數(shù)據(jù)庫一般壓縮率在3:1到5:1左右,而列式數(shù)據(jù)庫的壓縮率一般在8:1到30:1左右。NoSQL數(shù)據(jù)庫的分類(2)鍵值數(shù)據(jù)庫鍵值存儲即Key-Value存儲,簡稱KV存儲。它是NoSQL存儲的一種方式。它的數(shù)據(jù)按照鍵值對的形式進(jìn)行組織,索引和存儲。鍵值數(shù)據(jù)庫就像在傳統(tǒng)語言中使用的哈希表,可以通過key來添加、查詢或者刪除數(shù)據(jù),鑒于使用主鍵訪問,所以會獲得不錯的性能及擴(kuò)展性。在實際應(yīng)用中,鍵值數(shù)據(jù)庫適用于那些頻繁讀寫,擁有簡單數(shù)據(jù)模型的應(yīng)用。鍵值數(shù)據(jù)庫中存儲的值可以是簡單的標(biāo)量值,如整數(shù)或布爾值,也可以是結(jié)構(gòu)化數(shù)據(jù)類型,比如列表和JSON結(jié)構(gòu)。適用案例存放會話數(shù)據(jù)。用戶配置信息。購物車數(shù)據(jù)。不適用案例需要在不同數(shù)據(jù)集之間建立關(guān)系,或是將不同的關(guān)鍵字集合聯(lián)系起來。需要執(zhí)行含有多項操作的事務(wù),而又需要復(fù)原或回滾。需要根據(jù)鍵值對的某部分來查詢關(guān)鍵字。需要同時操作多個關(guān)鍵字。
Redis是用C語言開發(fā)的一個開源的高性能鍵值對數(shù)據(jù)庫。提供5種鍵值數(shù)據(jù)類型來應(yīng)對不通場景下的存儲需求。目前Redis的主要應(yīng)用場景有:①數(shù)據(jù)緩存②在線列表③任務(wù)隊列④訪問記錄⑤數(shù)據(jù)過期處理⑥session分離。
在Redis鍵值數(shù)據(jù)庫中,所存儲的聚合不一定非要是領(lǐng)域?qū)ο螅╠omainobject),任何數(shù)據(jù)結(jié)構(gòu)都可以。Redis能夠存儲list、set、hash等數(shù)據(jù)結(jié)構(gòu),而且支持“獲取某個范圍內(nèi)的數(shù)值(range)”、“求差集(diff)”、“求并集(union)”、“求交集(intersection)”等操作。NoSQL數(shù)據(jù)庫的分類(3)文檔型數(shù)據(jù)庫文檔型數(shù)據(jù)庫是鍵值數(shù)據(jù)庫的子類,它們的差別在于處理數(shù)據(jù)的方式:在鍵值數(shù)據(jù)庫中,數(shù)據(jù)是對數(shù)據(jù)庫不透明的;而面向文檔的數(shù)據(jù)庫系統(tǒng)依賴于文件的內(nèi)部結(jié)構(gòu),它獲取元數(shù)據(jù)以用于數(shù)據(jù)庫引擎進(jìn)行更深層次的優(yōu)化。與鍵值存儲不同的是,文檔存儲關(guān)心文檔的內(nèi)部結(jié)構(gòu)。這使得存儲引擎可以直接支持二級索引,從而允許對任意字段進(jìn)行高效查詢。MongoDB是一個跨平臺的,面向文檔的數(shù)據(jù)庫,是當(dāng)前NoSQL數(shù)據(jù)庫產(chǎn)品中最熱門的一種。它介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)
系數(shù)據(jù)庫的產(chǎn)品。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類JSON的BSON格式,因此可以存比較復(fù)雜的數(shù)據(jù)類型。
MongoDB
的官方網(wǎng)站地址是:NoSQL數(shù)據(jù)庫的分類(4)圖形數(shù)據(jù)庫圖形數(shù)據(jù)庫是一種非關(guān)系型數(shù)據(jù)庫,它應(yīng)用圖形理論存儲實體之間的關(guān)系信息。不過值得注意的是:圖形數(shù)據(jù)庫的基本含義是以“圖”這種數(shù)據(jù)結(jié)構(gòu)存儲和查詢數(shù)據(jù),而不是存儲圖片的數(shù)據(jù)庫。世界上很多著名的公司都在使用圖數(shù)據(jù)庫。比如:社交領(lǐng)域:Facebook,Twitter,Linkedin用它來管理社交關(guān)系,實現(xiàn)好友推薦零售領(lǐng)域:eBay,沃爾瑪使用它實現(xiàn)商品實時推薦,給買家更好的購物體驗金融領(lǐng)域:摩根大通,花旗和瑞銀等銀行在用圖數(shù)據(jù)庫做風(fēng)控處理汽車制造領(lǐng)域:沃爾沃,戴姆勒和豐田等頂級汽車制造商依靠圖數(shù)據(jù)庫推動創(chuàng)新制造解決方案電信領(lǐng)域:Verizon,Orange和AT&T等電信公司依靠圖數(shù)據(jù)庫來管理網(wǎng)絡(luò),控制訪問并支持客戶360酒店領(lǐng)域:萬豪和雅高酒店等頂級酒店公司依使用圖數(shù)據(jù)庫來管理復(fù)雜且快速變化的庫存圖形數(shù)據(jù)庫中還存在著節(jié)點集的概念,所謂節(jié)點集就是圖中一系列節(jié)點的集合,比較接近于關(guān)系數(shù)據(jù)庫中所最常使用的表。相對于關(guān)系數(shù)據(jù)庫中的各種關(guān)聯(lián)表,圖形數(shù)據(jù)庫中的關(guān)系可以通過關(guān)系能夠包含屬性這一功能來提供更為豐富的關(guān)系展現(xiàn)方式。因此相較于關(guān)系型數(shù)據(jù)庫,圖形數(shù)據(jù)庫的用戶在對事物進(jìn)行抽象時將擁有一個額外的武器,那就是豐富的關(guān)系。圖形數(shù)據(jù)庫可用于對事物建模,如社交圖譜,使用圖形數(shù)據(jù)庫可以顯示出某個人在他/她的朋友圈中是否有影響力,以及這群朋友是否有著共同的興趣愛好等。Neo4J是由Java實現(xiàn)的開源圖數(shù)據(jù)庫。自2003年開始開發(fā),直到2007年正式發(fā)布第一版,并托管于GitHub上。Neo4J支持ACID,集群、備份和故障轉(zhuǎn)移。目前Neo4J最新版本為3.5,分為社區(qū)版和企業(yè)版,社區(qū)版只支持單機(jī)部署,功能受限。企業(yè)版支持主從復(fù)制和讀寫分離,包含可視化管理工具。NewSQL數(shù)據(jù)庫NewSQL數(shù)據(jù)庫是對各種新的可擴(kuò)展/高性能數(shù)據(jù)庫的簡稱,它是一種相對較新的形式,旨在使用現(xiàn)有的編程語言和以前不可用的技術(shù)來結(jié)合SQL和NoSQL中最好的部分。目前常見的NewSQL主要包括兩類系統(tǒng):擁有關(guān)系型數(shù)據(jù)庫產(chǎn)品和服務(wù),并將關(guān)系模型的好處帶到分布式架構(gòu)上。提高關(guān)系數(shù)據(jù)庫的性能,使之達(dá)到不用考慮水平擴(kuò)展問題的程度。
在技術(shù)上,相較于傳統(tǒng)關(guān)系型數(shù)據(jù)庫,NewSQL更強(qiáng)調(diào)數(shù)據(jù)一致性,以更好的適應(yīng)分布式數(shù)據(jù)庫的應(yīng)用。
值得注意的是:NewSQL中并沒有開拓性的理論技術(shù)的創(chuàng)新,更多的是架構(gòu)的創(chuàng)新,以及把現(xiàn)有的技術(shù)如何更好地適用于當(dāng)今的服務(wù)器,適用于當(dāng)前的分布式架構(gòu)。現(xiàn)有的NewSQL數(shù)據(jù)庫廠商主要有亞馬遜關(guān)系數(shù)據(jù)庫服務(wù),微軟SQLAzure,Xeround和FathomDB等。云數(shù)據(jù)庫云數(shù)據(jù)庫是指被優(yōu)化或部署到一個虛擬計算環(huán)境中的數(shù)據(jù)庫,是在云計算的大背景下發(fā)展起來的一種新興的共享基礎(chǔ)架構(gòu)的方法。
云數(shù)據(jù)庫并非一種全新的數(shù)據(jù)庫技術(shù),如云數(shù)據(jù)庫并沒有專屬于自己的數(shù)據(jù)模型,它所采用的數(shù)據(jù)模型可以是關(guān)系數(shù)據(jù)庫所使用的關(guān)系模型,也可以是NoSQL數(shù)據(jù)庫所使用的非關(guān)系模型。目前市場上的云數(shù)據(jù)庫企業(yè)主要有Amazon、Google、微軟、Oracle、阿里、百度、騰訊以及金山等。包含的產(chǎn)品與服務(wù)主要有Dynamo、GoogleCloudSQL、MicrosoftSQLAzure、阿里云RDS、百度云數(shù)據(jù)庫以及騰訊云數(shù)據(jù)庫等。
(1)GoogleCloudSQLGoogleCloudSQL是谷歌公司推出的基于MySQL的云數(shù)據(jù)庫。
(3)阿里云關(guān)系型數(shù)據(jù)庫阿里云關(guān)系型數(shù)據(jù)庫是一種穩(wěn)定可靠、可彈性伸縮的在線數(shù)據(jù)庫服務(wù)。該服務(wù)基于阿里云分布式文件系統(tǒng)和SSD盤高性能存儲,支持MySQL、SQLServer、PostgreSQL、PPAS(PostgrePlusAdvancedServer,高度兼容Oracle數(shù)據(jù)庫)和MariaDBTX引擎。MySQL大數(shù)據(jù)中的數(shù)據(jù)庫應(yīng)用
MySQL是一個小型的關(guān)系數(shù)據(jù)庫管理系統(tǒng),由于該軟件體積小、運行速度快、操作方便等優(yōu)點,目前被廣泛的應(yīng)用于Web上的中小企業(yè)網(wǎng)站的后臺數(shù)據(jù)庫中。
在使用MySQL存儲企業(yè)的海量數(shù)據(jù)時,可以用到分布式數(shù)據(jù)庫的技術(shù),即將原來集中式數(shù)據(jù)庫中的數(shù)據(jù)分散存儲到多個通過網(wǎng)絡(luò)連接的數(shù)據(jù)存儲節(jié)點上,以獲得更大的存儲容量和更高的并發(fā)訪問量。HiveHive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供簡單的SQL查詢功能,可以將SQL語句轉(zhuǎn)換為MapReduce任務(wù)進(jìn)行運行。
Hive的優(yōu)點如下:Hive可以自由的擴(kuò)展集群的規(guī)模,一般情況下不需要重啟服務(wù)。Hive支持用戶自定義函數(shù),用戶可以根據(jù)自己的需求來實現(xiàn)自己的函數(shù)。Hive具有良好的容錯性,節(jié)點出現(xiàn)問題SQL仍可完成執(zhí)行。MongoDBMongoDB是一個跨平臺,面向文檔的數(shù)據(jù)庫。它可以應(yīng)用于各種規(guī)模的企業(yè)、各個行業(yè)以及各類應(yīng)用程序的開源數(shù)據(jù)庫。它是一個基于分布式文件存儲的數(shù)據(jù)庫,也是一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 轉(zhuǎn)崗勞動合同范本
- 2025年度出租車行業(yè)車輛更新改造合同
- 《與妻書》教學(xué)設(shè)計 2023-2024學(xué)年統(tǒng)編版高中語文必修下冊
- 2025年新能源停車場車位租賃合同范本
- 2024年多媒體講臺行業(yè)發(fā)展前景預(yù)測及投資戰(zhàn)略咨詢報告
- Unit 7 Careers Lesson 1EQIQ 教學(xué)設(shè)計-2024-2025學(xué)年高中英語北師大新版(2019)選擇性必修第三冊
- 2落花生第二課時(教學(xué)設(shè)計)2024-2025學(xué)年統(tǒng)編版語文五年級上冊
- 購買儀器的合同范本
- 2025年瓷質(zhì)滲花磚項目投資可行性研究分析報告
- 2025年沙卡項目可行性研究報告
- 人效管理措施
- 2024-2025學(xué)年人教部編版七年級上語文寒假作業(yè)(五)
- 四年級下冊勞動《小小快遞站》課件
- 中國妊娠期糖尿病母兒共同管理指南(2024版)解讀
- 春節(jié)促銷活動方案(7篇)
- 《股市的基礎(chǔ)常識》課件
- 火災(zāi)自動報警及其消防聯(lián)動系統(tǒng)技術(shù)規(guī)格書
- 設(shè)備管理人員安全培訓(xùn)
- 山東省房屋市政工程安全監(jiān)督機(jī)構(gòu)人員業(yè)務(wù)能力考試題庫-上(單選題)
- 2024年六西格瑪黃帶認(rèn)證考試練習(xí)題庫(含答案)
- 《公務(wù)員行測必會考試寶典》大全(分類)-2資料分析類試題庫(含答案)
評論
0/150
提交評論