《大數(shù)據(jù)技術(shù)基礎(chǔ)》(覃事剛)792-4課件 第四章 數(shù)據(jù)存儲(chǔ)與管理_第1頁
《大數(shù)據(jù)技術(shù)基礎(chǔ)》(覃事剛)792-4課件 第四章 數(shù)據(jù)存儲(chǔ)與管理_第2頁
《大數(shù)據(jù)技術(shù)基礎(chǔ)》(覃事剛)792-4課件 第四章 數(shù)據(jù)存儲(chǔ)與管理_第3頁
《大數(shù)據(jù)技術(shù)基礎(chǔ)》(覃事剛)792-4課件 第四章 數(shù)據(jù)存儲(chǔ)與管理_第4頁
《大數(shù)據(jù)技術(shù)基礎(chǔ)》(覃事剛)792-4課件 第四章 數(shù)據(jù)存儲(chǔ)與管理_第5頁
已閱讀5頁,還剩91頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第4章數(shù)據(jù)存儲(chǔ)與管理大數(shù)據(jù)技術(shù)基礎(chǔ)(第2版)PREFACE本章導(dǎo)讀數(shù)據(jù)存儲(chǔ)與管理是大數(shù)據(jù)處理流程中非常重要的一環(huán)。要想對(duì)大數(shù)據(jù)進(jìn)行高效處理和分析,就必須先對(duì)采集到的數(shù)據(jù)進(jìn)行有效存儲(chǔ)和管理。在大數(shù)據(jù)時(shí)代,數(shù)據(jù)的來源和類型越來越多樣化,涉及的數(shù)據(jù)量也越來越大,傳統(tǒng)的數(shù)據(jù)存儲(chǔ)與管理技術(shù)已無力應(yīng)對(duì)。為解決海量數(shù)據(jù)的高效存儲(chǔ)問題,涌現(xiàn)出了包括分布式文件系統(tǒng)、分布式數(shù)據(jù)庫等在內(nèi)的一系列新的數(shù)據(jù)存儲(chǔ)與管理技術(shù)。01數(shù)據(jù)存儲(chǔ)與管理概述02分布式文件系統(tǒng)HDFS03分布式數(shù)據(jù)庫HBase04數(shù)據(jù)倉庫HiveCATALOG知識(shí)目標(biāo)04了解HBase的概念、數(shù)據(jù)模型和工作原理。03了解HDFS的概念、運(yùn)行機(jī)制和工作流程。02了解NoSQL數(shù)據(jù)庫、NewSQL數(shù)據(jù)庫、云存儲(chǔ)和云數(shù)據(jù)庫。01理解大數(shù)據(jù)的數(shù)據(jù)類型,熟悉數(shù)據(jù)管理技術(shù)的發(fā)展歷程。05了解Hive的概念、工作原理和執(zhí)行流程。0102能力目標(biāo)能夠安裝HBase并完成基本表和數(shù)據(jù)操作。能夠完成HDFS編程基本操作。03能夠安裝MySQL和Hive,完成基本數(shù)據(jù)庫、表和數(shù)據(jù)查詢操作。思政目標(biāo)01.感受我國(guó)在數(shù)據(jù)庫領(lǐng)域的自主研發(fā)探索和取得的成績(jī),充分認(rèn)識(shí)數(shù)據(jù)庫作為數(shù)字經(jīng)濟(jì)基礎(chǔ)設(shè)施的重要意義,立志為國(guó)家科技基礎(chǔ)設(shè)施建設(shè)貢獻(xiàn)力量。02.感受我國(guó)科技企業(yè)對(duì)全球基礎(chǔ)軟件開源做出的重要貢獻(xiàn),深刻理解企業(yè)堅(jiān)持走自主創(chuàng)新路線、構(gòu)建開源生態(tài)的重要意義,不斷增強(qiáng)創(chuàng)新自信。01數(shù)據(jù)存儲(chǔ)與管理概述4.1.1大數(shù)據(jù)的數(shù)據(jù)類型4.1數(shù)據(jù)存儲(chǔ)與管理概述結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)就是用表格(如二維表)描述的數(shù)據(jù),如關(guān)系型數(shù)據(jù)庫MySQL和Oracle中的數(shù)據(jù)。這類數(shù)據(jù)具有數(shù)據(jù)結(jié)構(gòu)描述信息,通常存儲(chǔ)在數(shù)據(jù)庫中。014.1.1大數(shù)據(jù)的數(shù)據(jù)類型4.1數(shù)據(jù)存儲(chǔ)與管理概述1結(jié)構(gòu)化數(shù)據(jù)是先有結(jié)構(gòu)再有數(shù)據(jù),可以由機(jī)器和人類創(chuàng)建。相比于其他數(shù)據(jù)類型,結(jié)構(gòu)化數(shù)據(jù)最容易搜索和組織,因?yàn)樗ǔ0谛泻土兄?,并且其元素可以映射到固定的預(yù)定義字段中。4.1.1大數(shù)據(jù)的數(shù)據(jù)類型4.1數(shù)據(jù)存儲(chǔ)與管理概述半結(jié)構(gòu)化數(shù)據(jù)半結(jié)構(gòu)化數(shù)據(jù)是指介于完全結(jié)構(gòu)化和非結(jié)構(gòu)化之間的一類數(shù)據(jù)。它一般是自描述的,數(shù)據(jù)的結(jié)構(gòu)(即語義)和內(nèi)容混在一起,沒有明顯的區(qū)分,如XML文檔、HTML文檔等。024.1.1大數(shù)據(jù)的數(shù)據(jù)類型4.1數(shù)據(jù)存儲(chǔ)與管理概述2半結(jié)構(gòu)化數(shù)據(jù)一般比較規(guī)范,都是純文本文件,且具有一些定義性或一致性特征,但不符合關(guān)系型數(shù)據(jù)庫所期望的那種嚴(yán)格結(jié)構(gòu)。4.1.1大數(shù)據(jù)的數(shù)據(jù)類型4.1數(shù)據(jù)存儲(chǔ)與管理概述非結(jié)構(gòu)化數(shù)據(jù)非結(jié)構(gòu)化數(shù)據(jù)是指結(jié)構(gòu)不規(guī)則或不完整、沒有固定結(jié)構(gòu)的數(shù)據(jù),如各種格式的文檔、圖片、音頻、視頻等數(shù)據(jù)。這類數(shù)據(jù)通常以文件形式提供,不容易采集和管理,一般以二進(jìn)制形式直接整體存儲(chǔ)在分布式系統(tǒng)中。034.1.1大數(shù)據(jù)的數(shù)據(jù)類型4.1數(shù)據(jù)存儲(chǔ)與管理概述3非結(jié)構(gòu)化數(shù)據(jù)在各行各業(yè)中的占比越來越大,如醫(yī)療行業(yè)的影像資料、教育行業(yè)的教學(xué)文檔、傳媒行業(yè)的音視頻素材、公安執(zhí)法的視頻存檔等,越來越多行業(yè)的企業(yè)組織都需要長(zhǎng)期存放海量非結(jié)構(gòu)化數(shù)據(jù)。4.1.2數(shù)據(jù)管理技術(shù)的發(fā)展4.1數(shù)據(jù)存儲(chǔ)與管理概述20世紀(jì)30年代,隨著工業(yè)生產(chǎn)和數(shù)據(jù)計(jì)算的發(fā)展,數(shù)據(jù)管理技術(shù)成為一種社會(huì)需要。其主要任務(wù)是實(shí)現(xiàn)對(duì)數(shù)據(jù)的分類、組織、編碼、存儲(chǔ)、檢索和維護(hù)等。如今,經(jīng)過不斷演變和發(fā)展,數(shù)據(jù)管理技術(shù)已經(jīng)有了一整套成熟的理論體系和成熟的產(chǎn)業(yè)環(huán)境。4.1.2數(shù)據(jù)管理技術(shù)的發(fā)展4.1數(shù)據(jù)存儲(chǔ)與管理概述文件系統(tǒng)階段

文件系統(tǒng)階段是指20世紀(jì)50年代后期至60年代中期的這段時(shí)間。此時(shí),計(jì)算機(jī)除用于科學(xué)計(jì)算外,還大量用于管理數(shù)據(jù)。在硬件方面,外存儲(chǔ)器有了磁盤、磁鼓等直接存取的存儲(chǔ)設(shè)備;在軟件方面,操作系統(tǒng)中有了專門用于管理數(shù)據(jù)的軟件,稱為文件系統(tǒng)。1數(shù)據(jù)管理技術(shù)的發(fā)展歷程4.1.2數(shù)據(jù)管理技術(shù)的發(fā)展4.1數(shù)據(jù)存儲(chǔ)與管理概述文件系統(tǒng)管理的優(yōu)缺點(diǎn)文件系統(tǒng)管理具有數(shù)據(jù)可長(zhǎng)期保存在外存上供反復(fù)使用、程序之間有一定的獨(dú)立性、文件形式多樣化等。優(yōu)點(diǎn)數(shù)據(jù)共享性差、冗余度高、獨(dú)立性不足,并發(fā)訪問容易產(chǎn)生異常,數(shù)據(jù)的安全控制難以實(shí)現(xiàn)等。缺點(diǎn)4.1.2數(shù)據(jù)管理技術(shù)的發(fā)展4.1數(shù)據(jù)存儲(chǔ)與管理概述數(shù)據(jù)庫系統(tǒng)階段

數(shù)據(jù)庫系統(tǒng)階段從20世紀(jì)60年代后期開始。

此時(shí),數(shù)據(jù)管理對(duì)象的規(guī)模越來越大,應(yīng)用范圍越來越廣,多種應(yīng)用共享數(shù)據(jù)的要求越來越強(qiáng)烈。2數(shù)據(jù)管理技術(shù)的發(fā)展歷程4.1.2數(shù)據(jù)管理技術(shù)的發(fā)展4.1數(shù)據(jù)存儲(chǔ)與管理概述數(shù)據(jù)庫系統(tǒng)階段

數(shù)據(jù)庫指的是以一定方式存儲(chǔ)在一起、能為多個(gè)用戶共享、具有盡可能小的冗余度、與應(yīng)用程序彼此獨(dú)立的數(shù)據(jù)集合。對(duì)數(shù)據(jù)庫進(jìn)行統(tǒng)一管理的軟件稱為數(shù)據(jù)庫管理系統(tǒng)(DBMS)。在數(shù)據(jù)管理技術(shù)中,數(shù)據(jù)庫技術(shù)是核心技術(shù)。4.1.2數(shù)據(jù)管理技術(shù)的發(fā)展4.1數(shù)據(jù)存儲(chǔ)與管理概述網(wǎng)狀數(shù)據(jù)庫層次數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫數(shù)據(jù)庫中的數(shù)據(jù)不再是面向某個(gè)程序,而是面向整個(gè)企業(yè)(組織)或整個(gè)應(yīng)用。數(shù)據(jù)庫的類型是根據(jù)數(shù)據(jù)模型(數(shù)據(jù)組織方式)來劃分的。比較主流的數(shù)據(jù)庫是關(guān)系型數(shù)據(jù)庫(如Oracle、SQLServer、MySQL等),它采用了關(guān)系數(shù)據(jù)模型來組織和管理數(shù)據(jù)。數(shù)據(jù)庫系統(tǒng)階段4.1.2數(shù)據(jù)管理技術(shù)的發(fā)展4.1數(shù)據(jù)存儲(chǔ)與管理概述數(shù)據(jù)倉庫階段

數(shù)據(jù)倉庫是一個(gè)面向主題的、集成的、相對(duì)穩(wěn)定的、隨時(shí)間變化的數(shù)據(jù)集合,用于支持管理決策。

數(shù)據(jù)倉庫的目的很明確,就是為支持管理決策服務(wù)的??梢哉f,數(shù)據(jù)倉庫是決策支持系統(tǒng)和聯(lián)機(jī)分析應(yīng)用數(shù)據(jù)源的結(jié)構(gòu)化數(shù)據(jù)環(huán)境。3數(shù)據(jù)管理技術(shù)的發(fā)展歷程4.1.2數(shù)據(jù)管理技術(shù)的發(fā)展4.1數(shù)據(jù)存儲(chǔ)與管理概述數(shù)據(jù)倉庫的特點(diǎn)12面向主題的數(shù)據(jù)組織方式,就是在較高層次上對(duì)分析對(duì)象提供一個(gè)完整、統(tǒng)一并一致的描述,能完整及統(tǒng)一地刻畫各個(gè)分析對(duì)象所涉及的有關(guān)企業(yè)的各項(xiàng)數(shù)據(jù),以及數(shù)據(jù)之間的聯(lián)系。數(shù)據(jù)倉庫是面向主題的數(shù)據(jù)倉庫中存儲(chǔ)的數(shù)據(jù)大部分來源于傳統(tǒng)的數(shù)據(jù)庫,但并不是將原有數(shù)據(jù)簡(jiǎn)單地直接導(dǎo)入,而是需要經(jīng)過預(yù)處理,生成從面向事務(wù)轉(zhuǎn)而面向主題的數(shù)據(jù)集合。數(shù)據(jù)集成是數(shù)據(jù)倉庫建設(shè)中最重要也是最為復(fù)雜的一步。數(shù)據(jù)倉庫的數(shù)據(jù)是集成的4.1.2數(shù)據(jù)管理技術(shù)的發(fā)展4.1數(shù)據(jù)存儲(chǔ)與管理概述數(shù)據(jù)管理技術(shù)的發(fā)展歷程34數(shù)據(jù)倉庫用于企業(yè)決策,一般涉及查詢的數(shù)據(jù)都不可更新。這是因?yàn)閿?shù)據(jù)倉庫更在乎歷史數(shù)據(jù)的衍化,對(duì)不同時(shí)間點(diǎn)的數(shù)據(jù)進(jìn)行保留是數(shù)據(jù)倉庫的特點(diǎn)。數(shù)據(jù)倉庫的數(shù)據(jù)是不可更新的特點(diǎn)表現(xiàn):①數(shù)據(jù)倉庫會(huì)隨著時(shí)間變化不斷存入新的數(shù)據(jù);②數(shù)據(jù)倉庫會(huì)刪除超過存放期限的數(shù)據(jù);③數(shù)據(jù)倉庫中面向業(yè)務(wù)的綜合數(shù)據(jù)會(huì)因?yàn)閿?shù)據(jù)的變化而不斷發(fā)生變化。數(shù)據(jù)倉庫的數(shù)據(jù)是隨時(shí)間變化的4.1.2數(shù)據(jù)管理技術(shù)的發(fā)展4.1數(shù)據(jù)存儲(chǔ)與管理概述分布式系統(tǒng)階段

大數(shù)據(jù)時(shí)代必須解決海量數(shù)據(jù)的高效存儲(chǔ)問題,為此分布式系統(tǒng)應(yīng)運(yùn)而生。分布式系統(tǒng)是建立在網(wǎng)絡(luò)之上的軟件系統(tǒng),它具有高度的內(nèi)聚性和透明性。在數(shù)據(jù)存儲(chǔ)方面,分布式系統(tǒng)包括分布式文件系統(tǒng)和分布式數(shù)據(jù)庫系統(tǒng)。4數(shù)據(jù)管理技術(shù)的發(fā)展歷程4.1.2數(shù)據(jù)管理技術(shù)的發(fā)展4.1數(shù)據(jù)存儲(chǔ)與管理概述分布式系統(tǒng)的內(nèi)容1相對(duì)于傳統(tǒng)的本地文件系統(tǒng)而言,分布式文件系統(tǒng)是一種通過網(wǎng)絡(luò)實(shí)現(xiàn)文件在多臺(tái)主機(jī)上進(jìn)行分布式存儲(chǔ)的文件系統(tǒng)。分布式文件系統(tǒng)谷歌開發(fā)了分布式文件系統(tǒng)(GFS),通過網(wǎng)絡(luò)實(shí)現(xiàn)文件在多臺(tái)機(jī)器上的分布式存儲(chǔ),較好地滿足了大規(guī)模數(shù)據(jù)存儲(chǔ)的需求。Hadoop分布式文件系統(tǒng)(HDFS)是針對(duì)GFS的開源實(shí)現(xiàn),提供了在廉價(jià)服務(wù)器集群中存儲(chǔ)大規(guī)模分布式文件的能力。例4.1.2數(shù)據(jù)管理技術(shù)的發(fā)展4.1數(shù)據(jù)存儲(chǔ)與管理概述分布式系統(tǒng)的內(nèi)容2分布式數(shù)據(jù)庫是多個(gè)互連的數(shù)據(jù)庫,通常位于多個(gè)服務(wù)器上,彼此通信以實(shí)現(xiàn)共同目標(biāo)。可以說,分布式數(shù)據(jù)庫是分布在計(jì)算機(jī)網(wǎng)絡(luò)上的多個(gè)相關(guān)數(shù)據(jù)庫的集合,它通過分布式數(shù)據(jù)庫管理系統(tǒng)(DDBMS)進(jìn)行管理。分布式數(shù)據(jù)庫系統(tǒng)分布式數(shù)據(jù)庫憑借體系結(jié)構(gòu)靈活、可靠性高、可用性好、可擴(kuò)展性好、響應(yīng)速度快等優(yōu)點(diǎn),為數(shù)據(jù)庫管理領(lǐng)域提供了分布式計(jì)算的優(yōu)勢(shì)。優(yōu)點(diǎn)4.1.3NoSQL數(shù)據(jù)庫和NewSQL數(shù)據(jù)庫4.1數(shù)據(jù)存儲(chǔ)與管理概述NoSQL數(shù)據(jù)庫NoSQL,即notonlySQL,含義是“不僅僅是SQL”。NoSQL數(shù)據(jù)庫泛指非關(guān)系型數(shù)據(jù)庫。傳統(tǒng)的關(guān)系型數(shù)據(jù)庫難以處理半結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù),而NoSQL數(shù)據(jù)庫采用異于傳統(tǒng)關(guān)系型數(shù)據(jù)庫的設(shè)計(jì)思想,采用新的方案來解決傳統(tǒng)關(guān)系型數(shù)據(jù)庫在擴(kuò)展性方面的不足。4.1.3NoSQL數(shù)據(jù)庫和NewSQL數(shù)據(jù)庫4.1數(shù)據(jù)存儲(chǔ)與管理概述NoSQL數(shù)據(jù)庫的優(yōu)勢(shì)能解決不必要的復(fù)雜性;對(duì)數(shù)據(jù)擁有很高的吞吐量,擁有高水平的擴(kuò)展能力;能用于低端硬件集群,可以減少開銷昂貴的對(duì)象-關(guān)系映射。4.1.3NoSQL數(shù)據(jù)庫和NewSQL數(shù)據(jù)庫4.1數(shù)據(jù)存儲(chǔ)與管理概述NoSQL數(shù)據(jù)庫常見類型鍵值數(shù)據(jù)庫列族數(shù)據(jù)庫文檔數(shù)據(jù)庫圖形數(shù)據(jù)庫HBase數(shù)據(jù)庫是安全特性最完善的NoSQL數(shù)據(jù)庫產(chǎn)品之一,而其他的NoSQL數(shù)據(jù)庫大多沒有提供內(nèi)建的安全機(jī)制。4.1.3NoSQL數(shù)據(jù)庫和NewSQL數(shù)據(jù)庫4.1數(shù)據(jù)存儲(chǔ)與管理概述NewSQL數(shù)據(jù)庫NewSQL數(shù)據(jù)庫逐漸開始升溫,它是對(duì)各種新的可擴(kuò)展、高性能數(shù)據(jù)庫的簡(jiǎn)稱。NewSQL數(shù)據(jù)庫在設(shè)計(jì)上有別于NoSQL數(shù)據(jù)庫,它采用了不同的設(shè)計(jì):取消耗費(fèi)資源的緩沖池;去除單線程服務(wù)的鎖機(jī)制;使用冗余機(jī)器來實(shí)現(xiàn)復(fù)制和故障恢復(fù),以取代原有的昂貴的恢復(fù)操作。4.1.3NoSQL數(shù)據(jù)庫和NewSQL數(shù)據(jù)庫4.1數(shù)據(jù)存儲(chǔ)與管理概述NewSQL數(shù)據(jù)庫的優(yōu)勢(shì)有關(guān)系型數(shù)據(jù)庫產(chǎn)品和服務(wù),能將關(guān)系模型的優(yōu)勢(shì)運(yùn)用到分布式架構(gòu)上。能提高關(guān)系型數(shù)據(jù)庫的性能,使其可以不用考慮橫向擴(kuò)展的問題。4.1.3NoSQL數(shù)據(jù)庫和NewSQL數(shù)據(jù)庫4.1數(shù)據(jù)存儲(chǔ)與管理概述NewSQL數(shù)據(jù)庫常見類型SpannerVoltDBClustrixDBVitessTiDBCockroachDBZNBase4.1.4云存儲(chǔ)和云數(shù)據(jù)庫4.1數(shù)據(jù)存儲(chǔ)與管理概述云計(jì)算和物聯(lián)網(wǎng)等技術(shù)的快速發(fā)展,使得數(shù)據(jù)信息呈現(xiàn)出多樣化的特點(diǎn)。為充分發(fā)揮信息的應(yīng)用價(jià)值,有效存儲(chǔ)成為人們關(guān)注的焦點(diǎn)。云數(shù)據(jù)庫是在云計(jì)算的大背景下發(fā)展起來的一種新興的共享基礎(chǔ)架構(gòu)的方法,它極大地增強(qiáng)了數(shù)據(jù)庫的存儲(chǔ)能力,可以很好地滿足不同企業(yè)的個(gè)性化存儲(chǔ)需求。云儲(chǔ)存14.1.4云存儲(chǔ)和云數(shù)據(jù)庫4.1數(shù)據(jù)存儲(chǔ)與管理概述云存儲(chǔ)是在云計(jì)算(提供計(jì)算能力)概念上延伸和衍生發(fā)展出來的一個(gè)新的概念。云存儲(chǔ)并非存儲(chǔ)數(shù)據(jù)的設(shè)備,而是一種服務(wù)。它把數(shù)據(jù)存儲(chǔ)和訪問作為一種服務(wù),通過網(wǎng)絡(luò)提供給用戶。4.1.4云存儲(chǔ)和云數(shù)據(jù)庫4.1數(shù)據(jù)存儲(chǔ)與管理概述云儲(chǔ)存的分類AmazonS3、MicrosoftOneDrive、百度網(wǎng)盤、360安全云盤等公共云存儲(chǔ)私有云存儲(chǔ)某一企業(yè)或社會(huì)團(tuán)體獨(dú)有前兩者的結(jié)合,如從公共云劃出一部分容量配置一種私有云混合云存儲(chǔ)云數(shù)據(jù)庫24.1.4云存儲(chǔ)和云數(shù)據(jù)庫4.1數(shù)據(jù)存儲(chǔ)與管理概述云數(shù)據(jù)庫是部署在云計(jì)算環(huán)境中的虛擬化數(shù)據(jù)庫,它避免了人員、硬件、軟件的重復(fù)配置,讓軟硬件升級(jí)變得更加容易,同時(shí)虛擬化了許多后端功能。4.1.4云存儲(chǔ)和云數(shù)據(jù)庫4.1數(shù)據(jù)存儲(chǔ)與管理概述在云數(shù)據(jù)庫中,所有數(shù)據(jù)庫功能都是在云端提供的,客戶端可以通過網(wǎng)絡(luò)遠(yuǎn)程使用云數(shù)據(jù)庫提供的服務(wù)。客戶端不需要了解云數(shù)據(jù)庫的底層細(xì)節(jié),所有的底層硬件都已經(jīng)被虛擬化,對(duì)客戶端而言是透明的??蛻舳司拖裨谑褂靡粋€(gè)運(yùn)行在單一服務(wù)器上的數(shù)據(jù)庫一樣,非常方便、容易,同時(shí)可以獲得理論上近乎無限的存儲(chǔ)和處理能力。4.1.4云存儲(chǔ)和云數(shù)據(jù)庫4.1數(shù)據(jù)存儲(chǔ)與管理概述云數(shù)據(jù)庫特點(diǎn)云數(shù)據(jù)庫具有動(dòng)態(tài)可擴(kuò)展、高可用性、采用多租形式和支持資源有效分發(fā)等特點(diǎn)。代表性的云數(shù)據(jù)庫服務(wù)供應(yīng)商亞馬遜微軟谷歌阿里云騰訊云華為云02分布式文件系統(tǒng)HDFS4.2分布式文件系統(tǒng)HDFSHDFS(Hadoop分布式文件系統(tǒng))是Hadoop體系中數(shù)據(jù)存儲(chǔ)管理的基礎(chǔ)。它是一個(gè)高度容錯(cuò)的系統(tǒng),能檢測(cè)和應(yīng)對(duì)硬件故障,可在低成本的通用硬件上運(yùn)行。它簡(jiǎn)化了文件的一致性模型,通過流式數(shù)據(jù)訪問,可為帶有大型數(shù)據(jù)集的應(yīng)用程序提供高效的海量數(shù)據(jù)存儲(chǔ)服務(wù)。4.2.1HDFS簡(jiǎn)介4.2分布式文件系統(tǒng)HDFSHDFS是一個(gè)支持海量數(shù)據(jù)存儲(chǔ)的分布式文件系統(tǒng),它允許用戶將成百上千的計(jì)算機(jī)組成存儲(chǔ)集群,并將這些計(jì)算機(jī)劃分成元數(shù)據(jù)節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)。集群中各節(jié)點(diǎn)之間通過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)交互,從而形成一個(gè)跨網(wǎng)絡(luò)的文件系統(tǒng)。網(wǎng)絡(luò)編程的復(fù)雜性和網(wǎng)絡(luò)傳輸?shù)牟豢煽啃?,使得HDFS比普通磁盤文件系統(tǒng)更加復(fù)雜。4.2.1HDFS簡(jiǎn)介4.2分布式文件系統(tǒng)HDFSHDFS對(duì)數(shù)據(jù)文件采取一次性寫入、多次讀取的方式,即HDFS文件一經(jīng)創(chuàng)建、寫入和關(guān)閉之后就不能再修改。需要注意的是,HDFS在同一時(shí)刻僅支持一個(gè)“寫入者”。2采用write-once-read-many(一次寫入多次讀取)訪問模型1支持超大文件存儲(chǔ)HDFS能夠存儲(chǔ)GB級(jí)乃至TB級(jí)的超大文件,如今已存在支持PB級(jí)文件存儲(chǔ)的Hadoop集群。HDFS的特點(diǎn)4.2.1HDFS簡(jiǎn)介4.2分布式文件系統(tǒng)HDFS為了獲得高吞吐量的數(shù)據(jù)訪問,HDFS上的應(yīng)用主要采用流式數(shù)據(jù)訪問方式,即邊收集數(shù)據(jù)邊處理數(shù)據(jù)。因此,HDFS適用于批量數(shù)據(jù)處理,而非用戶交互式數(shù)據(jù)處理。4采用流式數(shù)據(jù)訪問3具有故障檢測(cè)和快速自動(dòng)恢復(fù)功能

HDFS系統(tǒng)包含了成百上千個(gè)存儲(chǔ)節(jié)點(diǎn),并且這些節(jié)點(diǎn)都是一些廉價(jià)的計(jì)算機(jī)。HDFS的特點(diǎn)4.2.1HDFS簡(jiǎn)介4.2分布式文件系統(tǒng)HDFS5支持移動(dòng)計(jì)算如果將應(yīng)用程序請(qǐng)求的計(jì)算在其操作的數(shù)據(jù)附近執(zhí)行,而不是將數(shù)據(jù)移動(dòng)到運(yùn)行應(yīng)用程序的位置,可以極大地減少網(wǎng)絡(luò)擁塞并提高系統(tǒng)的整體吞吐量,從而提高計(jì)算效率,尤其是當(dāng)數(shù)據(jù)文件很大時(shí)提升效果更加明顯。HDFS的特點(diǎn)4.2.1HDFS簡(jiǎn)介4.2分布式文件系統(tǒng)HDFSHDFS的體系結(jié)構(gòu)4.2.1HDFS簡(jiǎn)介4.2分布式文件系統(tǒng)HDFSHDFS的體系結(jié)構(gòu)1block在計(jì)算機(jī)中,每個(gè)物理磁盤都包含大量磁盤數(shù)據(jù)塊。磁盤數(shù)據(jù)塊是磁盤讀寫的最小單位,并且當(dāng)文件系統(tǒng)進(jìn)行文件讀寫時(shí)只能操作整數(shù)倍磁盤數(shù)據(jù)塊大小的數(shù)據(jù)。2NameNodeNameNode管理著HDFS文件系統(tǒng)的命名空間(namespace),其實(shí)就是HDFS的目錄結(jié)構(gòu)。4.2.1HDFS簡(jiǎn)介4.2分布式文件系統(tǒng)HDFSNameNode①文件名、目錄名及其層級(jí)關(guān)系文件目錄的所有者及其權(quán)限②③每個(gè)文件由哪些數(shù)據(jù)塊組成數(shù)據(jù)塊到DataNode的映射信息,如數(shù)據(jù)塊存放在哪些DataNode上、每個(gè)DataNode上保存了哪些數(shù)據(jù)塊等。④4.2.1HDFS簡(jiǎn)介4.2分布式文件系統(tǒng)HDFSHDFS的體系結(jié)構(gòu)34SecondaryNameNodeDataNodeSecondaryNameNode(NameNode的輔助者)可以解決edits文件過大的問題,縮短N(yùn)ameNode的重啟時(shí)間,它主要用于對(duì)fsimage和edits進(jìn)行定期合并。DataNode上存儲(chǔ)著HDFS文件的真實(shí)數(shù)據(jù),且一個(gè)DataNode可以存儲(chǔ)多個(gè)block。每個(gè)block會(huì)在多個(gè)DataNode上存儲(chǔ)副本,但每個(gè)DataNode上只存儲(chǔ)一個(gè)block副本。DataNode負(fù)責(zé)為客戶端或NameNode提供數(shù)據(jù)的檢索和讀寫服務(wù),并通過“心跳”(Heartbeats)定期向NameNode發(fā)送自己的block列表信息。4.2.2HDFS簡(jiǎn)HDFS的運(yùn)行機(jī)制介4.2分布式文件系統(tǒng)HDFS1.副本機(jī)制為了保證集群的容錯(cuò)性和可用性,HDFS采用了數(shù)據(jù)冗余存儲(chǔ)方式,即一個(gè)數(shù)據(jù)可以保存多個(gè)副本,并且這些副本會(huì)分別存儲(chǔ)在不同的DataNode上。HDFS數(shù)據(jù)冗余存儲(chǔ)示意圖4.2.2HDFS簡(jiǎn)HDFS的運(yùn)行機(jī)制介4.2分布式文件系統(tǒng)HDFS2.心跳機(jī)制DataNode通過“心跳”(Heartbeats)將block信息報(bào)告給NameNode,這里的“心跳”是一種形象化描述,指的是不間斷地發(fā)送一個(gè)自定義結(jié)構(gòu)體(“心跳包”或“心跳幀”)來證明自己節(jié)點(diǎn)的有效性。NameNode啟動(dòng)后,會(huì)等待所有DataNode的“心跳”,而DataNode啟動(dòng)后,會(huì)主動(dòng)連接NameNode,并在一定間隔(默認(rèn)為3s)主動(dòng)向NameNode發(fā)送一個(gè)“心跳”,報(bào)告自己的狀態(tài)信息,然后NameNode通過這個(gè)“心跳”向DataNode下達(dá)命令。4.2.2HDFS簡(jiǎn)HDFS的運(yùn)行機(jī)制介4.2分布式文件系統(tǒng)HDFS3.HA(高可用性)機(jī)制Hadoop2.x允許運(yùn)行主(active)、備(standby)兩個(gè)NameNode,從而可以在NameNode節(jié)點(diǎn)出現(xiàn)故障或維護(hù)時(shí),快速啟用備用狀態(tài)的NameNode節(jié)點(diǎn),以確保集群正常運(yùn)行。4.2.2HDFS簡(jiǎn)HDFS的運(yùn)行機(jī)制介4.2分布式文件系統(tǒng)HDFS3.HA(高可用性)機(jī)制standbyNameNodestandbyNameNode作為備用。一旦activeNameNode發(fā)生故障,standbyNameNode可以快速切換并恢復(fù)故障。activeNameNode負(fù)責(zé)HDFS集群的所有操作。4.2.2HDFS簡(jiǎn)HDFS的運(yùn)行機(jī)制介4.2分布式文件系統(tǒng)HDFS4.安全模式當(dāng)NameNode啟動(dòng)時(shí),集群會(huì)自動(dòng)進(jìn)入安全模式,在該模式下,NameNode會(huì)檢查block的完整性。安全模式可以保證數(shù)據(jù)塊的安全性,它是Hadoop集群的一種保護(hù)模式。安全模式還是一種只讀模式,在該模式下,用戶既不能對(duì)命名空間進(jìn)行任何修改,也不能創(chuàng)建、復(fù)制、追加和刪除數(shù)據(jù),但是可以執(zhí)行查看目錄及文件、下載文件等操作。4.2.2HDFS簡(jiǎn)HDFS的運(yùn)行機(jī)制介4.2分布式文件系統(tǒng)HDFS4.安全模式強(qiáng)制退出安全模式的命令4.2.3HDFS的工作流程4.2分布式文件系統(tǒng)HDFS01啟動(dòng)流程在安全模式下,NameNode需要處理以下兩件事:

(1)等待每個(gè)DataNode的“心跳”以獲取所有block狀態(tài)報(bào)告,并通過“心跳”來標(biāo)記DataNode的存活狀態(tài)。然后,NameNode將接收到的各DataNode發(fā)送的block狀態(tài)報(bào)告與其元數(shù)據(jù)對(duì)比,以判斷各DataNode的數(shù)據(jù)塊是否正常。

(2)在內(nèi)存中加載fsimage,然后通過將fsimage和edits合并生成一個(gè)新的fsimage,同時(shí)創(chuàng)建一個(gè)新的edits;合并完成后刪除舊的fsimage和edits,并將新的fsimage和edits重命名4.2.3HDFS的工作流程4.2分布式文件系統(tǒng)HDFS02讀流程客戶端讀取HDFS文件時(shí),首先會(huì)訪問NameNode以確認(rèn)是否可以讀取該文件,待確認(rèn)成功后,客戶端獲得該文件的block及DataNode信息,然后執(zhí)行HDFS的讀操作來獲取數(shù)據(jù)。在讀取數(shù)據(jù)結(jié)束時(shí),需關(guān)閉文件輸入流。4.2.3HDFS的工作流程4.2分布式文件系統(tǒng)HDFSHDFS數(shù)據(jù)的讀流程4.2.3HDFS的工作流程4.2分布式文件系統(tǒng)HDFS1客戶端調(diào)用DistributedFileSystem對(duì)象的open()方法。2DistributedFileSystem向NameNode發(fā)送RPC請(qǐng)求,NameNode會(huì)檢查讀取文件是否存在,以及當(dāng)前客戶端是否具有讀取該文件的權(quán)限。3客戶端調(diào)用DFSInputStream的read()方法,DFSInputStream會(huì)在之前的排序結(jié)果中選擇一個(gè)最優(yōu)的DataNode節(jié)點(diǎn)建立數(shù)據(jù)連接,并開始讀取數(shù)據(jù)信息。4.2.3HDFS的工作流程4.2分布式文件系統(tǒng)HDFS4數(shù)據(jù)信息返回給客戶端。當(dāng)數(shù)據(jù)信息讀取完畢后,DFSInputStream關(guān)閉與DataNode的連接。5DFSInputStream連接下一個(gè)數(shù)據(jù)塊的最優(yōu)DataNode節(jié)點(diǎn),讀取數(shù)據(jù)并返回給客戶端。6當(dāng)所有數(shù)據(jù)都讀取完畢后,客戶端會(huì)調(diào)用DFSInputStream的close()方法關(guān)閉文件輸入流。4.2.3HDFS的工作流程4.2分布式文件系統(tǒng)HDFS03寫流程客戶端將數(shù)據(jù)寫入到HDFS文件時(shí),首先需要向NameNode確認(rèn)寫數(shù)據(jù)的操作權(quán)限及文件是否存在(若存在,是否覆蓋),待確認(rèn)成功后,客戶端在NameNode上創(chuàng)建寫入文件的元數(shù)據(jù)信息,并返回可存儲(chǔ)數(shù)據(jù)的block及DataNode信息,然后根據(jù)返回信息執(zhí)行副本復(fù)制過程。4.2.3HDFS的工作流程4.2分布式文件系統(tǒng)HDFSHDFS數(shù)據(jù)的寫流程4.2.3HDFS的工作流程4.2分布式文件系統(tǒng)HDFS123客戶端調(diào)用DistributedFileSystem對(duì)象的create()方法。DistributedFileSystem向NameNode發(fā)送RPC請(qǐng)求,NameNode會(huì)根據(jù)要?jiǎng)?chuàng)建的文件是否已經(jīng)存在和客戶端是否有權(quán)限進(jìn)行創(chuàng)建等執(zhí)行檢查。客戶端調(diào)用DFSOutputStream的write()方法來寫入數(shù)據(jù)DFSOutputStream將收到的數(shù)據(jù)分成一個(gè)個(gè)block大小的數(shù)據(jù)包,并放到一個(gè)數(shù)據(jù)隊(duì)列(dataqueue)中。4.2.3HDFS的工作流程4.2分布式文件系統(tǒng)HDFS456對(duì)于每個(gè)block,NameNode會(huì)分配與副本系數(shù)相等數(shù)量的DataNode來存儲(chǔ)block副本。每個(gè)DataNode完成數(shù)據(jù)存儲(chǔ)后,會(huì)向客戶端發(fā)送“確認(rèn)包”(ackpacket)。客戶端接受響應(yīng)后,會(huì)將對(duì)應(yīng)的數(shù)據(jù)包從數(shù)據(jù)隊(duì)列中刪除。當(dāng)所有數(shù)據(jù)都寫入完畢后,客戶端會(huì)調(diào)用DFSOutputStream的

close()方法關(guān)閉文件輸出流。7客戶端調(diào)用complete()方法通知NameNode文件寫入完成。4.2.3HDFS的工作流程4.2分布式文件系統(tǒng)HDFS04刪除流程1、使用HDFS命令刪除文件。2、使用JavaAPI刪除文件。①客戶端向NameNode發(fā)送刪除操作的RPC請(qǐng)求。②NameNode收到客戶端的刪除請(qǐng)求后,會(huì)檢查要?jiǎng)h除的文件是否存在,以及該客戶端是否具有刪除文件的權(quán)限。待確認(rèn)后,再將刪除操作更新到edits和fsimage文件。③NameNode更新結(jié)束后,會(huì)返回給客戶端一個(gè)確認(rèn)信號(hào),表示刪除成功。HDFS編程基本操作,首先通過命令行接口操作HDFS的文件和目錄,然后通過JavaAPI訪問并操作HDFS。(掃描二維碼見詳細(xì)步驟)4.2.4實(shí)戰(zhàn)演練——HDFS編程基本操作4.2分布式文件系統(tǒng)HDFS03分布式數(shù)據(jù)庫HBaseHBase是一個(gè)面向列、高性能、高可靠、可伸縮的分布式存儲(chǔ)系統(tǒng),它可在廉價(jià)計(jì)算機(jī)上搭建起大規(guī)模的結(jié)構(gòu)化存儲(chǔ)集群。HBase是對(duì)GoogleBigtable的開源實(shí)現(xiàn),不同之處在于,HBase是以HDFS為文件存儲(chǔ)系統(tǒng),以HadoopMapReduce為海量數(shù)據(jù)處理框架,以ZooKeeper為協(xié)同服務(wù)工具。4.3分布式數(shù)據(jù)庫HBase4.3分布式數(shù)據(jù)庫HBase4.3.1HBase簡(jiǎn)介HBase是Hadoop生態(tài)系統(tǒng)中的結(jié)構(gòu)化存儲(chǔ)工具,HDFS為它提供了高可靠的底層存儲(chǔ)支持,HadoopMapReduce為它提供了高性能的海量數(shù)據(jù)處理能力(如可以實(shí)現(xiàn)上億條記錄的毫秒級(jí)別的查詢等),而ZooKeeper作為協(xié)調(diào)工具,則為它提供了穩(wěn)定服務(wù)和失敗恢復(fù)機(jī)制。4.3分布式數(shù)據(jù)庫HBase4.3.1HBase簡(jiǎn)介HBase特點(diǎn)1它彌補(bǔ)了Hadoop不能進(jìn)行實(shí)時(shí)數(shù)據(jù)處理的缺陷,是一種非關(guān)系型數(shù)據(jù)庫(NoSQL數(shù)據(jù)庫),因此不能保證關(guān)系型數(shù)據(jù)庫的原子性、一致性、隔離性和持久性。2它采用了稀疏矩陣的存儲(chǔ)方式,對(duì)于空值(null)數(shù)據(jù)的存儲(chǔ)并不占用存儲(chǔ)空間。3它可以通過增加節(jié)點(diǎn)的方式進(jìn)行線性擴(kuò)展,使得可以在用廉價(jià)計(jì)算機(jī)構(gòu)建的集群上管理超大規(guī)模的稀疏表。4.3分布式數(shù)據(jù)庫HBase4.3.2Hbase的數(shù)據(jù)模型HBase是一個(gè)類似于Bigtable的分布式數(shù)據(jù)庫,它是一個(gè)稀疏的、長(zhǎng)期存儲(chǔ)的(存在HDFS上)、多維度的、排序的映射表。HBase的數(shù)據(jù)都是字符串,沒有類型。HBase的邏輯視圖4.3分布式數(shù)據(jù)庫HBase4.3.2Hbase的數(shù)據(jù)模型行鍵以字節(jié)數(shù)組來存儲(chǔ),它沒有特定的數(shù)據(jù)類型,可以是任意字符串,但最大長(zhǎng)度為64KB。行鍵在定義表結(jié)構(gòu)時(shí),必須預(yù)先定義列族,并且不可以隨意修改。列族

HBase表中的列在定義表時(shí)不需要定義,因?yàn)樗皇窃獢?shù)據(jù)的一部分,只需在插入數(shù)據(jù)時(shí)再指定。列通過行鍵和列可以確定一個(gè)存儲(chǔ)單元(cell),它是HBase中最小的操作單元。時(shí)間戳4.3分布式數(shù)據(jù)庫HBase4.3.3Hbase的工作原理面對(duì)海量數(shù)據(jù),HBase可采用主/從(master/slave)的方式進(jìn)行分布式部署,一般采用HDFS作為底層數(shù)據(jù)存儲(chǔ)。HBase的表包含的行的數(shù)量通常很大,無法存儲(chǔ)在一臺(tái)機(jī)器上,根據(jù)需要按行鍵的值對(duì)表中的行進(jìn)行分區(qū),每個(gè)行區(qū)間構(gòu)成一個(gè)分區(qū),并成為Region,它包含了位于這個(gè)區(qū)間的所有數(shù)據(jù)。4.3分布式數(shù)據(jù)庫HBase4.3.3Hbase的工作原理Hbase的體系結(jié)構(gòu)4.3分布式數(shù)據(jù)庫HBase4.3.3Hbase的工作原理01Client(客戶端)客戶端包含訪問HBase的接口,可做一些本地緩存,如借助ZooKeeper服務(wù)器從主服務(wù)器HBaseMaster獲取Region位置信息,并從Region(HRegion)服務(wù)器上讀取數(shù)據(jù)。4.3分布式數(shù)據(jù)庫HBase4.3.3Hbase的工作原理02Master(HMaster)管理運(yùn)行不同的Region服務(wù)器,也為客戶端操作HBase的所有元數(shù)據(jù)提供接口,同時(shí)負(fù)責(zé)RegionServer的故障處理和Region的切分。在HBase集群中可以有多個(gè)Master,實(shí)現(xiàn)集群的高可用,同時(shí)Master也負(fù)責(zé)對(duì)表的操作。4.3分布式數(shù)據(jù)庫HBase4.3.3Hbase的工作原理03Region和Region服務(wù)器Region是HBase中分布式存儲(chǔ)和負(fù)載均衡的最小單元,即不同的Region可以分布在不同的Region服務(wù)器上,但同一個(gè)Region是不會(huì)拆分到多個(gè)Region服務(wù)器上的。Region服務(wù)器的功能是管理Region,負(fù)責(zé)Region的切分和合并。同時(shí),Region服務(wù)器也是HBase中最核心的模塊,負(fù)責(zé)維護(hù)分配給自己的Region,并響應(yīng)用戶的讀寫請(qǐng)求。4.3分布式數(shù)據(jù)庫HBase4.3.3Hbase的工作原理04Store(HStore)Region雖然是分布式存儲(chǔ)的最小單位,但并不是存儲(chǔ)的最小單元。Region由一個(gè)或多個(gè)Store組成,每個(gè)Store保存一個(gè)列族;每個(gè)Store又由一個(gè)MemStore和0至多個(gè)StoreFile組成。4.3分布式數(shù)據(jù)庫HBase4.3.3Hbase的工作原理05HLog當(dāng)用戶提交寫請(qǐng)求時(shí),數(shù)據(jù)會(huì)先寫入MemStore,當(dāng)MemStore超過了當(dāng)前閾值才會(huì)被放入StoreFile中,但是這期間一旦主機(jī)停電,之前MemStore緩存中的數(shù)據(jù)就會(huì)全部丟失。因此,HBase需要使用HLog來應(yīng)對(duì)這種突然情況。4.3分布式數(shù)據(jù)庫HBase4.3.3Hbase的工作原理06ZooKeeper服務(wù)器ZooKeeper服務(wù)器通常由多臺(tái)機(jī)器構(gòu)成集群來提供穩(wěn)定、可靠的協(xié)同服務(wù)。每個(gè)Region服務(wù)器都需要到ZooKeeper中進(jìn)行注冊(cè),ZooKeeper會(huì)實(shí)時(shí)監(jiān)控每個(gè)Region服務(wù)器的狀態(tài)并通知給Master,當(dāng)某個(gè)Region服務(wù)器發(fā)生故障時(shí),ZooKeeper會(huì)將故障通知給Master。安裝和啟動(dòng)HBase(掃描二維碼見詳細(xì)步驟)4.3.4實(shí)戰(zhàn)演練——安裝并使用HBase數(shù)據(jù)庫4.3分布式數(shù)據(jù)庫HBaseHBase表和數(shù)據(jù)操作(掃描二維碼見詳細(xì)步驟)4.3.4實(shí)戰(zhàn)演練——安裝并使用HBase數(shù)據(jù)庫4.3分布式數(shù)據(jù)庫HBase04數(shù)據(jù)倉庫Hive4.4.1Hive簡(jiǎn)介4.4數(shù)據(jù)倉庫HiveHive是一個(gè)基于Hadoop的數(shù)據(jù)倉庫框架,它使用SQL語句讀、寫和管理大型分布式數(shù)據(jù)集。Hive可以將SQL語句轉(zhuǎn)化為MapReduce(或Spark、Tez)任務(wù)執(zhí)行,大大降低了Hadoop的使用門檻,減少了開發(fā)MapReduce程序的時(shí)間成本。4.4.1Hive簡(jiǎn)介4.4數(shù)據(jù)倉庫HiveHive是Hadoop的頂級(jí)項(xiàng)目之一,也是Hadoop生態(tài)系統(tǒng)中的第一個(gè)SQL框架。它提供了一種類SQL的數(shù)據(jù)查詢語言——HiveQL(Hive查詢語言),并且通常被用來對(duì)歷史數(shù)據(jù)進(jìn)行挖掘與分析。4.4.1Hi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論