在當(dāng)今社會(huì)各行各業(yè)都離不開(kāi)大數(shù)據(jù)了,可想而知大數(shù)據(jù)的重要性。但是對(duì)我們來(lái)講大數(shù)據(jù)這個(gè)詞只是簡(jiǎn)單的一個(gè)商業(yè)用語(yǔ),和商業(yè)智能一樣我們無(wú)法具象的描述它,科學(xué)定義大數(shù)據(jù)其實(shí)是指無(wú)法在一定時(shí)間范圍內(nèi)用常規(guī)軟件工具進(jìn)行捕捉、管理和處理的數(shù)據(jù)集合,大數(shù)據(jù)的四大元素有Redis、傳統(tǒng)數(shù)據(jù)庫(kù)、HBase、Hive?,F(xiàn)實(shí)中,我們?cè)诖髷?shù)據(jù)相關(guān)行業(yè)的面試中也經(jīng)常會(huì)被問(wèn)到這個(gè)問(wèn)題,今天我們來(lái)簡(jiǎn)單了解一下大數(shù)據(jù)的四大元素和區(qū)別。
大數(shù)據(jù)的四大元素Redis、傳統(tǒng)數(shù)據(jù)庫(kù)、HBase、Hive的區(qū)別。
1、Redis:分布式緩存以內(nèi)存為基礎(chǔ),強(qiáng)調(diào)緩存,支持?jǐn)?shù)據(jù)持久化、事務(wù)操作、NoSQL型鍵/值數(shù)據(jù)庫(kù),支持列表、集合等更豐富的類(lèi)型。
2、HBase:HBase是基于HDFS的數(shù)據(jù)庫(kù)系統(tǒng),提供高可靠性的列存儲(chǔ)和實(shí)時(shí)讀寫(xiě)。它介于Nosql和關(guān)系數(shù)據(jù)庫(kù)之間,只通過(guò)主鍵和主鍵的范圍來(lái)檢索數(shù)據(jù),只支持單行事務(wù)。主要用于存儲(chǔ)非結(jié)構(gòu)化和半結(jié)構(gòu)化的松散數(shù)據(jù)。
3、關(guān)系數(shù)據(jù)庫(kù):有mysql,Oracle,SqlServer等等。支持事務(wù)操作,屬于寫(xiě)模式,即寫(xiě)數(shù)據(jù)時(shí)檢查。是數(shù)據(jù)庫(kù)對(duì)于具體業(yè)務(wù)的日常在線操作,通常涉及到幾條記錄的查詢和修改。支持完善的sql函數(shù),可以對(duì)少量數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析。
4、Hive:Hive是基于Hadoop的數(shù)據(jù)倉(cāng)庫(kù)工具,可以將結(jié)構(gòu)化數(shù)據(jù)文件映射到數(shù)據(jù)庫(kù)表。并提供一個(gè)簡(jiǎn)單的sql函數(shù),可以將sql轉(zhuǎn)換成mr任務(wù)運(yùn)行。由于sql學(xué)習(xí)成本低,沒(méi)有必要開(kāi)發(fā)非常適合數(shù)據(jù)倉(cāng)庫(kù)統(tǒng)計(jì)分析的mr應(yīng)用程序。
大數(shù)據(jù)的四大元素區(qū)別可以分為兩類(lèi):關(guān)系數(shù)據(jù)和Hive是支持SQL引擎的數(shù)據(jù)庫(kù);Redis和Hbase是NoSQL類(lèi)型的Key/vale數(shù)據(jù)庫(kù),支持簡(jiǎn)單的行和列操作,但不支持SQL引擎。在SQL數(shù)據(jù)庫(kù)中,關(guān)系數(shù)據(jù)庫(kù)更側(cè)重于事務(wù)操作,屬于寫(xiě)模式,支持的數(shù)據(jù)少,索引延遲低;而Hive更側(cè)重于查詢分析操作,屬于讀取模式,不支持高索引延遲,支持大量數(shù)據(jù),所以是為數(shù)據(jù)倉(cāng)庫(kù)設(shè)計(jì)的。K/V數(shù)據(jù)庫(kù)中,Redis讀寫(xiě)性能較高,一般幾十微秒,而Hbase是幾毫秒;Redis不僅支持K/V操作,還支持List、Set等更豐富的類(lèi)型;Redis存儲(chǔ)在內(nèi)存中,所以數(shù)據(jù)量小,Hbase的存儲(chǔ)遠(yuǎn)遠(yuǎn)超過(guò)內(nèi)存的大小。HBase適合大數(shù)據(jù)的持久存儲(chǔ),Redis更適合緩存。
當(dāng)然除了es和solr,還有很多類(lèi)似的存儲(chǔ)服務(wù)。需要先回答兩種存儲(chǔ)服務(wù)的概念,然后根據(jù)不同的核心功能和特點(diǎn)回答兩者的區(qū)別。組合在項(xiàng)目中的運(yùn)用在哪種場(chǎng)景下,使用哪種技術(shù)。傳統(tǒng)數(shù)據(jù)庫(kù)用于實(shí)時(shí)業(yè)務(wù)事務(wù)處理,Redis用于高性能要求的實(shí)時(shí)緩存,Hive可用于離線統(tǒng)計(jì)查詢,HBase可用于歷史數(shù)據(jù)固化和快速查詢,當(dāng)然也可以一起用。
綜上所述,大家了解了大數(shù)據(jù)的四大元素的區(qū)別,如果您想了解更多關(guān)于大數(shù)據(jù)的的相關(guān)信息,請(qǐng)您繼續(xù)關(guān)注中培偉業(yè)。