第3章 大數(shù)據(jù)存儲與管理_第1頁
第3章 大數(shù)據(jù)存儲與管理_第2頁
第3章 大數(shù)據(jù)存儲與管理_第3頁
第3章 大數(shù)據(jù)存儲與管理_第4頁
第3章 大數(shù)據(jù)存儲與管理_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

大數(shù)據(jù)存儲與管理實例引入:從平安城市建設(shè)看海量數(shù)據(jù)存儲傳統(tǒng)的數(shù)據(jù)存儲技術(shù)大數(shù)據(jù)時代下的數(shù)據(jù)存儲技術(shù)主流的分布式存儲框架實例引入:從平安城市建設(shè)看海量數(shù)據(jù)存儲隨著信息通信技術(shù)的推進,各地大力推進平安城市建設(shè)。平安城市建設(shè)是建設(shè)和諧的智慧城市,重點對城市的安防系統(tǒng)、道路交通系統(tǒng)、環(huán)境監(jiān)測系統(tǒng)等公共服務(wù)系統(tǒng)進行綜合調(diào)度管理,為城市居民提供安全、便捷的生活環(huán)境。平安城市建設(shè)中的視頻監(jiān)控系統(tǒng)平安城市視頻監(jiān)控系統(tǒng)是基于云計算、物聯(lián)網(wǎng)等先進技術(shù)的數(shù)字化、網(wǎng)絡(luò)化、高清化、智能化,城市級的高清數(shù)字視頻監(jiān)控管理應(yīng)用系統(tǒng)。系統(tǒng)在邏輯上由前端監(jiān)控點建設(shè)、視頻傳輸網(wǎng)絡(luò)系統(tǒng)建設(shè)、視頻存儲系統(tǒng)建設(shè)、視頻綜合管理應(yīng)用平臺建設(shè)4部分組成。平安城市視頻監(jiān)控數(shù)據(jù)的存儲技術(shù)方案視頻存儲系統(tǒng)負責整個平安城市視頻監(jiān)控系統(tǒng)視頻的實時存儲和轉(zhuǎn)發(fā),其中視頻數(shù)據(jù)存儲設(shè)備及網(wǎng)絡(luò)架構(gòu)技術(shù)可包括:硬盤錄像機(DigitalVideoRecorder,DVR)技術(shù);SAN技術(shù);云存儲技術(shù)。平安城市視頻監(jiān)控數(shù)據(jù)的存儲技術(shù)方案基于云存儲的視頻監(jiān)控由前端視頻采集系統(tǒng)、云存儲平臺、視頻業(yè)務(wù)服務(wù)組成。前端視頻采集系統(tǒng);云存儲平臺;視頻業(yè)務(wù)服務(wù)。實例引入:從平安城市建設(shè)看海量數(shù)據(jù)存儲傳統(tǒng)的數(shù)據(jù)存儲技術(shù)大數(shù)據(jù)時代下的數(shù)據(jù)存儲技術(shù)主流的分布式存儲框架傳統(tǒng)的數(shù)據(jù)存儲技術(shù)了解數(shù)據(jù)存儲數(shù)據(jù)存儲的數(shù)據(jù)類型文件系統(tǒng)關(guān)系數(shù)據(jù)庫數(shù)據(jù)倉庫并行數(shù)據(jù)庫了解數(shù)據(jù)存儲數(shù)據(jù)存儲的介質(zhì)經(jīng)歷了卡片、紙帶、磁帶、單磁盤、專用存儲設(shè)備、分布式存儲設(shè)備的演變,數(shù)據(jù)管理技術(shù)相應(yīng)也經(jīng)歷了人工管理、文件系統(tǒng)管理、傳統(tǒng)數(shù)據(jù)庫系統(tǒng)管理和大數(shù)據(jù)管理的演變,數(shù)據(jù)的存儲與應(yīng)用逐漸從分離走向融合。了解數(shù)據(jù)存儲當前,數(shù)據(jù)存儲一般可分為內(nèi)置存儲和外置存儲。內(nèi)置存儲主要包括:分類緩存;內(nèi)存(RAM);硬盤;光驅(qū)。數(shù)據(jù)存儲的數(shù)據(jù)類型在數(shù)據(jù)存儲中,數(shù)據(jù)可分成文本、圖片、音頻和視頻等基本類型;同時根據(jù)數(shù)據(jù)的結(jié)構(gòu)特點,也可分為結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)等。數(shù)據(jù)類型說明文本文本是一種由若干字符構(gòu)成的計算機文件,常見格式包括ASCII、MIME和TXT圖片圖片是指由圖形、圖像等構(gòu)成的平面媒體。圖片的格式很多,大體可以分為點陣圖和矢量圖兩大類。常見的BMP、JPG等格式都是點陣圖形,PSD是具有矢量內(nèi)容的點陣圖形,而SWF等格式的圖形則屬于矢量圖形音頻音頻是指存儲聲音內(nèi)容的文件,用特定的音頻程序播放音頻文件,即可還原以前錄下的聲音。音頻文件的格式很多,包括WAV、MP3、MID、WMA等視頻視頻通常指存儲各種動態(tài)影像的文件,其存儲格式包括MPEG-4、AVI、DAT、RM、MOV、ASF、WMV、DivX等數(shù)據(jù)存儲的數(shù)據(jù)類型分類說明示例結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)是指可以使用關(guān)系數(shù)據(jù)庫表示和存儲,表現(xiàn)為二維形式的數(shù)據(jù)。一般特點是數(shù)據(jù)以行為單位,一行數(shù)據(jù)表示一個實體的信息,每一行數(shù)據(jù)的屬性是相同的。結(jié)構(gòu)化數(shù)據(jù)的存儲和排列是有規(guī)律的,規(guī)律性對查詢和修改數(shù)據(jù)等操作很有幫助日期、產(chǎn)品名稱半結(jié)構(gòu)化數(shù)據(jù)半結(jié)構(gòu)化數(shù)據(jù)具有一定的結(jié)構(gòu)性,盡管其并不符合關(guān)系數(shù)據(jù)庫或其他數(shù)據(jù)表的形式及其關(guān)聯(lián)的數(shù)據(jù)模型結(jié)構(gòu),但包含相關(guān)標記,可用來分割語義元素以及對記錄和字段進行分層。因此,半結(jié)構(gòu)化數(shù)據(jù)也被稱為自描述的結(jié)構(gòu)數(shù)據(jù)日志文件、XML文檔、JSON文檔、郵件非結(jié)構(gòu)化數(shù)據(jù)非結(jié)構(gòu)化數(shù)據(jù)是指沒有固定結(jié)構(gòu)的數(shù)據(jù),對于沒有固定結(jié)構(gòu)的數(shù)據(jù),一般直接對整體進行存儲,并將其存儲為二進制的數(shù)據(jù)格式文檔、圖片、視頻、音頻數(shù)據(jù)存儲的數(shù)據(jù)類型結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)都可以由人或機器生成,但兩者之間有一些明顯的區(qū)別,特別是非結(jié)構(gòu)化數(shù)據(jù)的不規(guī)則性和模糊行為增加了傳統(tǒng)程序理解的難度。對比內(nèi)容結(jié)構(gòu)化數(shù)據(jù)非結(jié)構(gòu)化數(shù)據(jù)特征預(yù)定義的數(shù)據(jù)模型明確的定義定量數(shù)據(jù)容易訪問容易分析沒有預(yù)定義的數(shù)據(jù)模型沒有明確的定義定性數(shù)據(jù)很難獲得很難分析存在關(guān)系數(shù)據(jù)庫數(shù)據(jù)倉庫電子表格NoSQL數(shù)據(jù)庫數(shù)據(jù)湖數(shù)據(jù)倉庫分析方法回歸分類聚類數(shù)據(jù)挖掘自然語言處理向量的搜索應(yīng)用在線預(yù)訂自動取款機庫存控制系統(tǒng)語音識別圖像識別文本分析例子名字日期地址電話號碼信用卡號碼電子郵件信息健康記錄圖片音頻視頻文件系統(tǒng)文件系統(tǒng)是操作系統(tǒng)用于明確存儲設(shè)備(常見的是磁盤,也有基于NAND閃存的固態(tài)硬盤)或分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu),即在存儲設(shè)備上組織文件的方法。操作系統(tǒng)中負責管理和存儲文件信息的軟件機構(gòu)稱為文件管理系統(tǒng),簡稱“文件系統(tǒng)”。文件系統(tǒng)接口

對象及其屬性操作管理對象的軟件集合關(guān)系數(shù)據(jù)庫數(shù)據(jù)庫指的是以一定方式儲存在一起,能為多個用戶共享、具有盡可能小的冗余度、與應(yīng)用程序彼此獨立的數(shù)據(jù)集合。目前,市場上常見的關(guān)系數(shù)據(jù)庫產(chǎn)品包括Oracle、SQLServer、MySQL、DB2等。數(shù)據(jù)倉庫數(shù)據(jù)倉庫是一個面向主題的、集成的、相對穩(wěn)定的、反映歷史變化的數(shù)據(jù)集合,用于支持管理決策。特點說明面向主題操作型數(shù)據(jù)庫的數(shù)據(jù)是面向事務(wù)處理任務(wù)組織的,而數(shù)據(jù)倉庫中的數(shù)據(jù)是按照一定的主題進行組織的。主題是指用戶使用數(shù)據(jù)倉庫做決策時所關(guān)心的重點方面,一個主題通常與多個操作型信息系統(tǒng)相關(guān)集成數(shù)據(jù)倉庫的數(shù)據(jù)來自分散的操作型數(shù)據(jù),將所需數(shù)據(jù)從原來的數(shù)據(jù)中抽取出來,進行加工與集成、統(tǒng)一與綜合之后才能進入數(shù)據(jù)倉庫相對穩(wěn)定數(shù)據(jù)倉庫是不可更新的,數(shù)據(jù)倉庫主要是為決策分析提供數(shù)據(jù),涉及的操作主要是數(shù)據(jù)的查詢反映歷史變化在構(gòu)建數(shù)據(jù)倉庫時,會每隔一定的時間(如每周、每天、每小時)從數(shù)據(jù)源抽取數(shù)據(jù)并加載到數(shù)據(jù)倉庫并行數(shù)據(jù)庫并行數(shù)據(jù)庫是指在無共享的體系結(jié)構(gòu)中進行數(shù)據(jù)操作的數(shù)據(jù)庫系統(tǒng),該數(shù)據(jù)庫系統(tǒng)大部分采用了關(guān)系數(shù)據(jù)模型并且支持SQL語句查詢,但為了能夠并行執(zhí)行SQL的查詢操作,系統(tǒng)中采用了關(guān)系表的水平劃分和SQL查詢的分區(qū)執(zhí)行等關(guān)鍵技術(shù)。并行數(shù)據(jù)庫系統(tǒng)的目標是高性能和高可用性,通過多個節(jié)點并行執(zhí)行數(shù)據(jù)庫任務(wù),提高整個數(shù)據(jù)庫系統(tǒng)的性能和可用性。并行數(shù)據(jù)庫系統(tǒng)的主要缺點是沒有較好的彈性。另一個問題是系統(tǒng)的容錯性較差。實例引入:從平安城市建設(shè)看海量數(shù)據(jù)存儲傳統(tǒng)的數(shù)據(jù)存儲技術(shù)大數(shù)據(jù)時代下的數(shù)據(jù)存儲技術(shù)主流的分布式存儲框架大數(shù)據(jù)時代下的數(shù)據(jù)存儲技術(shù)分布式存儲系統(tǒng)云存儲分布式存儲系統(tǒng)分布式存儲及系統(tǒng)的概念分布式數(shù)據(jù)庫分布式文件系統(tǒng)分布式存儲是將數(shù)據(jù)分散存儲在多臺獨立的設(shè)備上,采用可擴展的系統(tǒng)結(jié)構(gòu)、利用多臺存儲服務(wù)器分擔存儲負荷、利用位置服務(wù)器定位存儲信息的一種數(shù)據(jù)存儲技術(shù)。分布式存儲系統(tǒng)分布式存儲及系統(tǒng)的概念分布式數(shù)據(jù)庫分布式文件系統(tǒng)

運行在多個節(jié)點上,可分擔存儲負荷。

整合集群內(nèi)所有存儲空間資源,虛擬化并對外提供文件訪問服務(wù)。

更好的擴展性,更大的容量,更適合大規(guī)模數(shù)據(jù)的性能需求。分布式存儲的特點如下:分布式存儲系統(tǒng)分布式存儲及系統(tǒng)的概念分布式數(shù)據(jù)庫分布式文件系統(tǒng)分布式存儲系統(tǒng)的常見分類類型說明分布式文件系統(tǒng)存儲非結(jié)構(gòu)化數(shù)據(jù)對象,作為其他存儲系統(tǒng)的底層存儲,可以存儲3種類型的數(shù)據(jù)——類文件對象、定長塊、大文件。分布式文件系統(tǒng)內(nèi)部按照數(shù)據(jù)塊來組織數(shù)據(jù),將數(shù)據(jù)塊分散到存儲集群,處理數(shù)據(jù)復(fù)制、一致性、負載均衡、容錯等問題,如HDFS分布式鍵值系統(tǒng)存儲關(guān)系簡單的半結(jié)構(gòu)化數(shù)據(jù),支持數(shù)據(jù)分布到集群中的多個存儲節(jié)點,一致性哈希是分布式鍵值系統(tǒng)中常用的數(shù)據(jù)分布技術(shù),如HBase分布式表格系統(tǒng)存儲關(guān)系較為復(fù)雜的半結(jié)構(gòu)化數(shù)據(jù),以表格為單位組織數(shù)據(jù),支持主鍵增、刪、查、改功能以及范圍查找功能,針對單張表格操作,同一個表格的多個數(shù)據(jù)行不要求包含相同類型的列,可以做到超大規(guī)模,支持較多的功能,如BigTable分布式數(shù)據(jù)庫存儲結(jié)構(gòu)化數(shù)據(jù),目前為止最成熟的存儲技術(shù),采用二維表格組織數(shù)據(jù),支持類SQL關(guān)系查詢語言,如Hive分布式存儲系統(tǒng)分布式存儲及系統(tǒng)的概念分布式數(shù)據(jù)庫分布式文件系統(tǒng)分布式數(shù)據(jù)庫是指數(shù)據(jù)在物理上分布而在邏輯上集中的數(shù)據(jù)庫系統(tǒng)。物理上分布是指分布式數(shù)據(jù)庫的數(shù)據(jù)分布在物理位置不同、由網(wǎng)絡(luò)連接的節(jié)點或站點上,不同的節(jié)點可以分布在不同的機房和地區(qū)。邏輯上集中是指各節(jié)點在邏輯上是一個整體,并由統(tǒng)一的數(shù)據(jù)庫管理系統(tǒng)管理。分布式數(shù)據(jù)庫可分為NewSQL數(shù)據(jù)庫和NoSQL數(shù)據(jù)庫等。12NewSQL數(shù)據(jù)庫NoSQL數(shù)據(jù)庫分布式存儲系統(tǒng)分布式存儲及系統(tǒng)的概念分布式數(shù)據(jù)庫分布式文件系統(tǒng)1NewSQL數(shù)據(jù)庫具有代表性的NewSQL數(shù)據(jù)庫主要包括Spanner、Clustrix等。此外,還有一些在云端提供的NewSQL數(shù)據(jù)庫,包括亞馬遜公司的RDS、微軟公司的AzureSQLDatabase等。分布式存儲系統(tǒng)分布式存儲及系統(tǒng)的概念分布式數(shù)據(jù)庫分布式文件系統(tǒng)2NoSQL數(shù)據(jù)庫鍵值數(shù)據(jù)庫列族數(shù)據(jù)庫文檔數(shù)據(jù)庫圖數(shù)據(jù)庫分布式存儲系統(tǒng)分布式存儲及系統(tǒng)的概念分布式數(shù)據(jù)庫分布式文件系統(tǒng)2NoSQL數(shù)據(jù)庫NoSQL數(shù)據(jù)庫的特點特點說明靈活的可擴展性NoSQL數(shù)據(jù)庫在設(shè)計之初是為了滿足“橫向擴展”的需求,因此其天生具備良好的水平擴展能力靈活的數(shù)據(jù)模型NoSQL數(shù)據(jù)庫摒棄了流行多年的關(guān)系數(shù)據(jù)模型,轉(zhuǎn)而采用鍵值、列族等非關(guān)系模型,允許在一個數(shù)據(jù)元素里存儲不同類型的數(shù)據(jù)與云計算緊密融合云計算具有很好的水平擴展能力,可以根據(jù)資源使用情況進行自由伸縮,各種資源可以動態(tài)加入或退出。NoSQL數(shù)據(jù)庫可以憑借自身良好的橫向擴展能力,充分自由利用云計算基礎(chǔ)設(shè)施,很好地融入云計算環(huán)境中,構(gòu)建基于NoSQL的云數(shù)據(jù)庫服務(wù)分布式存儲系統(tǒng)分布式存儲及系統(tǒng)的概念分布式數(shù)據(jù)庫分布式文件系統(tǒng)分布式文件系統(tǒng)(DistributedFileSystem,DFS)是一種通過網(wǎng)絡(luò)實現(xiàn)文件在多臺主機上進行分布式存儲的文件系統(tǒng)。分布式文件系統(tǒng)的設(shè)計一般采用“客戶端/服務(wù)器”(Client/Server)模式,客戶端以特定的通信協(xié)議通過網(wǎng)絡(luò)與服務(wù)器建立連接,提出文件訪問請求,客戶端和服務(wù)器可以通過設(shè)置訪問權(quán)限來限制請求方對底層數(shù)據(jù)存儲塊的訪問。云存儲實際上是云計算中有關(guān)數(shù)據(jù)存儲、歸檔、備份的一個部分,是一種創(chuàng)新服務(wù)。在面向用戶的服務(wù)形態(tài)方面,云存儲是一種提供按需服務(wù)的應(yīng)用模式,用戶可以通過網(wǎng)絡(luò)連接云端存儲資源,在云端隨時隨地存儲數(shù)據(jù)。云存儲云存儲云平臺整體架構(gòu)云存儲概念云存儲特點云存儲代表產(chǎn)品云平臺按照服務(wù)類型大致可以分為基礎(chǔ)設(shè)施即服務(wù)(IaaS)、平臺即服務(wù)(PaaS)、軟件即服務(wù)(SaaS)3類。云存儲云平臺整體架構(gòu)云存儲概念云存儲特點云存儲代表產(chǎn)品云平臺服務(wù)類型服務(wù)類型說明IaaSIaaS將硬件設(shè)備等基礎(chǔ)資源以虛擬機的形式提供給用戶使用,如亞馬遜云計算AWS(AmazonWebService)的彈性計算云EC2PaaSPaaS進一步抽象硬件資源,為用戶提供應(yīng)用程序的運行環(huán)境,開發(fā)者只需將應(yīng)用程序提交至PaaS,PaaS會自動完成程序部署、處理服務(wù)器故障、擴容等操作,如GAE(GoogleAppEngine)就是PaaS。另外,微軟的云計算平臺WindowsAzurePlatform也可歸入PaaS類SaaSSaaS的針對性更強,可以將某些特定應(yīng)用軟件轉(zhuǎn)成服務(wù),如Salesforce公司提供的在線客戶端管理CRM服務(wù)、谷歌公司的企業(yè)應(yīng)用套件GoogleApps等云存儲云平臺整體架構(gòu)云存儲概念云存儲特點云存儲代表產(chǎn)品云存儲是在云計算概念上衍生、發(fā)展出來的一個概念,除了可以節(jié)省整體的硬件成本(包括電力成本)外,還具備良好的可擴展性、對用戶的透明性、按需分配的靈活性和負載的均衡性等特點。云存儲本質(zhì)上是一種理論,但在實際產(chǎn)品化的過程中,仍然依賴數(shù)據(jù)中心的物理設(shè)備。云存儲屬于云計算的底層支撐,通過網(wǎng)絡(luò)將大量普通存儲設(shè)備構(gòu)成的存儲資源池中的存儲資源和數(shù)據(jù)服務(wù)以統(tǒng)一的接口按需提供給授權(quán)用戶。云存儲將存儲資源集中起來,通過專門軟件進行自動管理,無須人為參與。云存儲云平臺整體架構(gòu)云存儲概念云存儲特點云存儲代表產(chǎn)品存儲設(shè)備、云存儲技術(shù)、云存儲系統(tǒng)、云存儲服務(wù)的關(guān)系云存儲云平臺整體架構(gòu)云存儲概念云存儲特點云存儲代表產(chǎn)品特點說明超大規(guī)模云存儲具有相當大的規(guī)模,單個系統(tǒng)存儲的數(shù)據(jù)可以達到千億級,甚至萬億級可擴展性云存儲的規(guī)??梢詣討B(tài)伸縮,滿足數(shù)據(jù)規(guī)模增長的需要??蓴U展性包含兩個維度,第一,系統(tǒng)本身可以很容易地動態(tài)增加服務(wù)器資源以應(yīng)對數(shù)據(jù)增長;第二,系統(tǒng)運維可擴展意味著隨著系統(tǒng)規(guī)模的增加,不需要增加太多運維人員高可靠性和可用性通過多副本復(fù)制以及節(jié)點故障自動容錯等技術(shù),云存儲提供了很高的可靠性和可用性安全云存儲內(nèi)部通過用戶鑒權(quán)、訪問權(quán)限控制、安全通信(如HTTPS、TLS協(xié)議)等方式保障安全性云存儲云平臺整體架構(gòu)云存儲概念云存儲特點云存儲代表產(chǎn)品特點說明按需服務(wù)云存儲是一個龐大的資源池,用戶按需購買,其計費方式類似于自來水、電和煤氣的透明服務(wù)云存儲以統(tǒng)一的接口(如RESTful接口)的形式提供服務(wù),后端存儲節(jié)點的變化(如增加節(jié)點、節(jié)點故障)對用戶是透明的低成本低成本是云存儲的重要目標。云存儲的自動容錯使得自身可以采用普通的計算機服務(wù)器來構(gòu)建;云存儲的通用性使得資源利用率大幅提升;云存儲的自動化管理使得運維效率得到提升,運維成本有效降低云存儲云平臺整體架構(gòu)云存儲概念云存儲特點云存儲代表產(chǎn)品目前已有多款關(guān)系型或非關(guān)系型的云存儲服務(wù),常見的云存儲產(chǎn)品主要有:騰訊云系列數(shù)據(jù)庫

阿里云關(guān)系數(shù)據(jù)庫

亞馬遜公司的DynamoDB、Redshift、SimpleDB

微軟公司的SQLServer、SQLDataSync

谷歌公司的CloudSQL、BigQuery、CloudDatastoreRackspace的Rackspace云數(shù)據(jù)庫MongoLab的MongoDB實例引入:從平安城市建設(shè)看海量數(shù)據(jù)存儲傳統(tǒng)的數(shù)據(jù)存儲技術(shù)大數(shù)據(jù)時代下的數(shù)據(jù)存儲技術(shù)主流的分布式存儲框架主流的分布式存儲框架MySQLHiveHBaseMongoDBRedisMySQLMySQL層次結(jié)構(gòu)網(wǎng)絡(luò)連接層數(shù)據(jù)庫服務(wù)層存儲引擎層數(shù)據(jù)存儲層應(yīng)用場景MySQLMySQL層次結(jié)構(gòu)網(wǎng)絡(luò)連接層數(shù)據(jù)庫服務(wù)層存儲引擎層數(shù)據(jù)存儲層應(yīng)用場景網(wǎng)絡(luò)連接層位于整個MySQL體系架構(gòu)的最上層,主要擔任客戶端連接器的角色,提供與MySQL服務(wù)器建立連接的功能,幾乎支持所有主流的服務(wù)器端語言,如Java、C、C++、Python等,各語言都是通過各自的API與MySQL建立連接。MySQLMySQL層次結(jié)構(gòu)

網(wǎng)絡(luò)連接層數(shù)據(jù)庫服務(wù)層

存儲引擎層數(shù)據(jù)存儲層應(yīng)用場景數(shù)據(jù)庫服務(wù)層是整個數(shù)據(jù)庫服務(wù)器的核心,主要包括了系統(tǒng)管理和控制工具、連接池、SQL接口、解析器、查詢優(yōu)化器和緩存等部分。MySQLMySQL層次結(jié)構(gòu)

網(wǎng)絡(luò)連接層數(shù)據(jù)庫服務(wù)層

存儲引擎層數(shù)據(jù)存儲層應(yīng)用場景MySQL中的存儲引擎層主要負責數(shù)據(jù)的寫入和讀取,與底層的文件進行交互,主要包括可插拔存儲引擎部分。MySQLMySQL層次結(jié)構(gòu)網(wǎng)絡(luò)連接層數(shù)據(jù)庫服務(wù)層存儲引擎層數(shù)據(jù)存儲層應(yīng)用場景數(shù)據(jù)存儲層主要是將數(shù)據(jù)存儲在運行于裸設(shè)備的文件系統(tǒng)上,并完成與存儲引擎的交互。數(shù)據(jù)存儲層主要包括MySQL中存儲數(shù)據(jù)的文件系統(tǒng),與上層的存儲引擎進行交互,是文件的物理存儲層。MySQLMySQL層次結(jié)構(gòu)網(wǎng)絡(luò)連接層數(shù)據(jù)庫服務(wù)層存儲引擎層數(shù)據(jù)存儲層應(yīng)用場景文件系統(tǒng)主要包括NTFS(NewTechnologyFileSystem)、ext4(FourthExtendedFileSystem)等,存儲的文件主要包括日志文件、數(shù)據(jù)文件、索引文件等,其中,日志文件主要包括二進制日志、錯誤日志、慢查詢?nèi)罩?、常?guī)查詢?nèi)罩尽⒅刈鋈罩?、撤銷日志等。MySQLMySQL層次結(jié)構(gòu)網(wǎng)絡(luò)連接層數(shù)據(jù)庫服務(wù)層存儲引擎層

數(shù)據(jù)存儲層應(yīng)用場景Web網(wǎng)站系統(tǒng)日志記錄系統(tǒng)嵌入式系統(tǒng)HiveHive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將數(shù)據(jù)提取、轉(zhuǎn)化、加載、轉(zhuǎn)存到數(shù)據(jù)倉庫中,可以轉(zhuǎn)儲、查詢和分析存儲在Hadoop中的大規(guī)模數(shù)據(jù)。Hive的優(yōu)點是學(xué)習(xí)成本低,可以通過SQL語句等實現(xiàn)快速MapReduce統(tǒng)計,使MapReduce

的用法變得更加簡單,而不必開發(fā)專門的MapReduce應(yīng)用程序。Hive十分適合對數(shù)據(jù)倉庫進行統(tǒng)計分析。HiveHive系統(tǒng)架構(gòu)應(yīng)用場景驅(qū)動器包括:解析器(SQLParser)編譯器(PhysicalPlan)優(yōu)化器(QueryOptimizer)執(zhí)行器(Execution)HiveHive系統(tǒng)架構(gòu)應(yīng)用場景組成說明解析器解析器將SQL字符串轉(zhuǎn)換成抽象語法樹(AbstractSyntaxTree,AST),轉(zhuǎn)換的操作一般都用第三方工具庫完成,如ANTLR;對AST進行語法分析,如表是否存在、字段是否存在、SQL語義是否有誤編譯器編譯器將AST編譯并生成邏輯執(zhí)行計劃優(yōu)化器優(yōu)化器對邏輯執(zhí)行計劃進行優(yōu)化執(zhí)行器執(zhí)行器將邏輯執(zhí)行計劃轉(zhuǎn)換成可以運行的物理計劃HiveHive系統(tǒng)架構(gòu)應(yīng)用場景Hive十分適合用于數(shù)據(jù)倉庫的統(tǒng)計分析和Windows注冊表文件,主要用于靜態(tài)的結(jié)構(gòu)以及需要經(jīng)常分析的工作。

統(tǒng)計網(wǎng)站訪問量和獨立訪客數(shù)量等指標

多維數(shù)據(jù)分析

海量結(jié)構(gòu)化數(shù)據(jù)離線分析HBaseHBase系統(tǒng)架構(gòu)HBase數(shù)據(jù)存儲結(jié)構(gòu)應(yīng)用場景從HBase的底層系統(tǒng)架構(gòu)來看,HBase更像是一個多維映射。RegionServerMasterZooKeeperHDFSHBaseHBase系統(tǒng)架構(gòu)HBase數(shù)據(jù)存儲結(jié)構(gòu)應(yīng)用場景RegionServer中數(shù)據(jù)存儲過程主要涉及的內(nèi)容組成說明StoreFile存儲文件,保存實際數(shù)據(jù)的物理文件,StoreFile以HFile的形式存儲在HDFS上。每個Store會有一個或多個StoreFile,數(shù)據(jù)在每個StoreFile中都是有序的MemStore寫緩存,由于StoreFile中的數(shù)據(jù)要求是有序的,所以數(shù)據(jù)是先存儲在MemStore中,排好序后,等到達刷寫時機才會刷寫到StoreFile中,每次刷寫都會形成一個新的StoreFile預(yù)寫日志(Write-AheadLogfile,WAL)由于數(shù)據(jù)要經(jīng)MemStore排序后才能刷寫到StoreFile中,而將數(shù)據(jù)保存在內(nèi)存中會有很高的概率導(dǎo)致數(shù)據(jù)丟失。為了解決數(shù)據(jù)丟失問題,數(shù)據(jù)會先寫在WAL的文件中,然后再寫入MemStore中。所以在系統(tǒng)出現(xiàn)故障時,數(shù)據(jù)可以通過日志文件重建HBaseHBase系統(tǒng)架構(gòu)HBase數(shù)據(jù)存儲結(jié)構(gòu)應(yīng)用場景HBase數(shù)據(jù)存儲結(jié)構(gòu)涵蓋邏輯結(jié)構(gòu)和物理存儲結(jié)構(gòu)HBaseHBase系統(tǒng)架構(gòu)HBase數(shù)據(jù)存儲結(jié)構(gòu)應(yīng)用場景一個列族(ColumnFamily)包含多個列,在物理結(jié)構(gòu)上一個列族是一個文件夾,一個文件夾中包含多個store文件。數(shù)據(jù)模型說明Namespace命名空間,類似于關(guān)系數(shù)據(jù)庫的DataBase概念,每個命名空間下有多個表。HBase有兩個自帶的命名空間,分別是hbase和default,hbase中存放的是HBase內(nèi)置的表,default表是用戶默認使用的命名空間Region類似于關(guān)系數(shù)據(jù)庫的表概念。不同的是,HBase定義表時只需要聲明列族即可,不需要聲明具體的列。這意味著往HBase寫入數(shù)據(jù)時,字段可以動態(tài)、按需指定。因此,和關(guān)系數(shù)據(jù)庫相比,HBase能夠輕松應(yīng)對字段變更的場景RowHBase表中的每行數(shù)據(jù)都由一個RowKey(行鍵)和多個Column(列)組成,數(shù)據(jù)是按照RowKey的字典順序存儲的,并且查詢數(shù)據(jù)時只能根據(jù)RowKey進行檢索,所以RowKey的設(shè)計十分重要ColumnHBase中的每個列都由ColumnFamily和ColumnQualifier(列限定符)進行限定,例如,{info:name,info:age}。創(chuàng)建表時,只需指明列族,而列限定符無須預(yù)先定義TimeStamp用于標識數(shù)據(jù)的不同版本(version),每條數(shù)據(jù)寫入時,如果不指定時間戳,系統(tǒng)會自動為其加上該字段,其值為寫入HBase的時間Cell由{rowkey,columnFamily:columnQualifier,TimeStamp}唯一確定的單元(Cell)。Cell中的數(shù)據(jù)是沒有類型的,全部是字節(jié)碼形式存儲HBaseHBase系統(tǒng)架構(gòu)HBase數(shù)據(jù)存儲結(jié)構(gòu)應(yīng)用場景應(yīng)用場景說明?戶畫像HBase通過存儲大型的視頻網(wǎng)站、電商平臺等產(chǎn)生的用戶點擊行為、瀏覽行為等,為后續(xù)的智能推薦做數(shù)據(jù)支撐消息或訂單存儲因為HBase具有低延時、高并發(fā)的訪問能力,所以可應(yīng)用于電商平臺,實現(xiàn)消息或訂單的存儲對象存儲對象存儲實際是中等對象存儲,是對HDFS存儲文件的一個緩沖過程。因為如果大量的1MB或2MB的小文件直接存儲在HDFS上,會增加NameNode元數(shù)據(jù)維護的壓力,所以可以在HBase中很好地做過程合并后再將文件持久化到HDFS上。HBase提供了存儲中等對象的功能,中等對象的大小范圍在100KB至10MB之間時序數(shù)據(jù)基于HBase可構(gòu)建適用于時序數(shù)據(jù)的存儲系統(tǒng),例如,OpenTSDB(OpenTimeSeriesDataBase)。它就是一個基于HBase的時序存儲系統(tǒng),適用于日志、監(jiān)控打點數(shù)據(jù)的存儲查詢Cube分析(KyLin)KyLin將Hive或Kafka中的數(shù)據(jù)用于構(gòu)建Cube,該Cube會存儲在HBase中,以供其他的應(yīng)用或系統(tǒng)做實時查詢或?qū)崟r展示Feeds流Feeds流是系統(tǒng)實時推送的根據(jù)一定規(guī)則排序的信息流,主要應(yīng)用在抖音或其他小視頻系統(tǒng)中,可以幫助用戶實時獲取最新的訂閱內(nèi)容。HBase的RowKey按字典序排序可實現(xiàn)Feed消息排序,在獲取某用戶發(fā)布的消息時,通過指定搜索的時間范圍以滿足時間性要求MongoDBMongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫,是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,由C++語言編寫,支持的數(shù)據(jù)結(jié)構(gòu)松散,是類似JSON的BSON格式,旨在為Web應(yīng)用提供可擴展的高性能數(shù)據(jù)存儲解決方案。MongoDB最大的特點是支持的查詢語言非常強大,其語法有點類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。當前MongoDB官方支持的客戶端API語言包括C、C++、Java、JavaScript、Perl、PHP、Python、Ruby等,社區(qū)開發(fā)的客戶端API語言還有Erlang、Go、Haskell等更多種類。MongoDBMongoDB系統(tǒng)結(jié)構(gòu)MongoDB結(jié)構(gòu)體系應(yīng)用場景MongoDB系統(tǒng)結(jié)構(gòu)層次分明,主要包括應(yīng)用層、查詢語言層、數(shù)據(jù)模型層和數(shù)據(jù)存儲層。MongoDBMongoDB系統(tǒng)結(jié)構(gòu)MongoDB結(jié)構(gòu)體系應(yīng)用場景結(jié)構(gòu)說明應(yīng)用層MongoDB支持IoT傳感器數(shù)據(jù)、內(nèi)容報告、廣告服務(wù)、實時分析以及各類移動App業(yè)務(wù)需求查詢語言層MongoDB查詢語言層,可針對文檔做多種類型的查詢,支持簡單條件查詢、范圍檢索、連接操作、圖遍歷等。此外,該層還提供復(fù)雜處理管道,以支持數(shù)據(jù)分析和轉(zhuǎn)化數(shù)據(jù)模型層MongoDB采用靈活的文檔模型,是其他數(shù)據(jù)模型的一個超集。MongoDB的文檔模型允許數(shù)據(jù)被表示為簡單鍵值對和扁平表結(jié)構(gòu),可存儲多格式的文檔及含嵌套數(shù)組和子文檔的對象數(shù)據(jù)存儲層MongoDB存儲架構(gòu)靈活,提供多種存儲引擎。允許前端根據(jù)負載、實際應(yīng)用和操作需求來選擇合適的存儲引擎以優(yōu)化處理MongoDBMongoDB系統(tǒng)結(jié)構(gòu)MongoDB結(jié)構(gòu)體系應(yīng)用場景MongoDB的結(jié)構(gòu)體系是一種層次結(jié)構(gòu):文檔(Document)集合(Collection)數(shù)據(jù)庫(DataBase)MongoDBMongoDB系統(tǒng)結(jié)構(gòu)MongoDB結(jié)構(gòu)體系應(yīng)用場景應(yīng)用場景說明游戲場景使用MongoDB直接以內(nèi)嵌文檔的形式存儲游戲用戶信息、裝備、積分等,方便查詢、更新物流場景使用MongoDB存儲訂單信息、訂單狀態(tài)、物流信息。訂單狀態(tài)在運送過程中飛速更新,以MongoDB內(nèi)嵌數(shù)組的形式來存儲,一次查詢就能將訂單所有的變更查出來社交場景使用MongoDB存儲用戶信息、朋友圈信息,通過地理位置索引實現(xiàn)附近的人、定位功能物聯(lián)網(wǎng)場景使用MongoDB存儲設(shè)備信息、設(shè)備匯報的日志信息,并對日志信息進行多維度分析視頻直播使用MongoDB存儲用戶信息、點贊互動信息RedisRedis是一個開源、使用ANSIC語言編寫、遵守BSD(BerkeleySoftuareDistribution)協(xié)議、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型鍵值對數(shù)據(jù)庫,并提供多種語言的API。Redis通常被稱為數(shù)據(jù)結(jié)構(gòu)服務(wù)器,原因是值(Value)可以是字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(SortedSet)等類型。RedisRedis與其他鍵值對緩存產(chǎn)品有以下3個特點:支持數(shù)據(jù)的持久化,可以將內(nèi)存中的數(shù)據(jù)保存在磁盤中,重啟時可以再次加載使用。不僅支持簡單的鍵值對類型的數(shù)據(jù),同時提供哈希、列表、集合等數(shù)據(jù)結(jié)構(gòu)的存儲。支持Master-Slave(主從)模式的數(shù)據(jù)備份。RedisRedis模式Redis主從復(fù)制模式Redis哨兵(RedisSentinel)Redis集群(RedisCluster)應(yīng)用場景Redis主從復(fù)制模式是最常見的模式。Redis哨兵是為了彌補Redis主從復(fù)制集群中主機宕機后主備切換的復(fù)雜性而演變出來的,其主要作用是監(jiān)控主從集群,自動切換主備,完成集群故障轉(zhuǎn)移。Redis官方提供的集群模式是Redis集群,其使用Sharding技術(shù),實現(xiàn)了高可用、讀寫分離,也實現(xiàn)了真正的分布式存儲。RedisRedis模式Redis主從復(fù)制模式Redis哨兵(RedisSentinel)Redis集群(RedisCluster)應(yīng)用場景RedisRedis模式Redis主從復(fù)制模式

Redis哨兵(RedisSentinel)Redis集群(RedisCluster)應(yīng)用場景RedisRedis模式Redis主從復(fù)制模式Redis哨兵(RedisSentinel)Redis集群(RedisCluster)應(yīng)用場景Redis集群模式是一種服務(wù)器分片(Sharding)技術(shù),Redis3.0版本開始正式提供。Redis哨兵模式基本已經(jīng)實現(xiàn)了高可用,但是每臺機器都存儲相同內(nèi)容,很浪費內(nèi)存,因此Redis集群模式實現(xiàn)了分布式存儲,每臺機器節(jié)點上存儲不同的內(nèi)容。RedisRedis模式Redis主從復(fù)制模式Redis哨兵(RedisSentinel)Redis集群(RedisCluster)應(yīng)用場景Redis集群模式引入了主從復(fù)制模型,一個主節(jié)點對應(yīng)一個或多個從節(jié)點,當主節(jié)點宕機時,就會啟用從節(jié)點。當其他主節(jié)點通信連接(ping)一個主節(jié)點A時,如果半數(shù)以上的主節(jié)點與A通信超時,那么認為主節(jié)點A宕機了。如果主節(jié)點A和其從節(jié)點A1都宕機了,那么該集群就無法再提供服務(wù)了。RedisRedis模式Redis主從復(fù)制模式Redis哨兵(R

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論