盧永周
(中國(guó)電信防城港分公司 廣西防城港 538000)
大數(shù)據(jù)時(shí)代數(shù)據(jù)庫(kù)技術(shù)研究
盧永周
(中國(guó)電信防城港分公司 廣西防城港 538000)
本文從介紹大數(shù)據(jù)時(shí)代常用的各類(lèi)數(shù)據(jù)庫(kù)入手,分析各種數(shù)據(jù)庫(kù)技術(shù)的原理以及機(jī)制,探討各類(lèi)數(shù)據(jù)庫(kù)的適用場(chǎng)景,研究數(shù)據(jù)庫(kù)常用組合模式。
大數(shù)據(jù);數(shù)據(jù)庫(kù);技術(shù)
從目前通信業(yè)界數(shù)據(jù)規(guī)模來(lái)看,PB級(jí)匯總數(shù)據(jù)、10PB級(jí)明細(xì)數(shù)據(jù)屢見(jiàn)不鮮,數(shù)據(jù)存儲(chǔ)規(guī)模大;涉及批處理、流處理、結(jié)構(gòu)化數(shù)據(jù)復(fù)雜關(guān)聯(lián)處理等多種數(shù)據(jù)處理技術(shù);出現(xiàn)大數(shù)據(jù)簡(jiǎn)單高并發(fā)低時(shí)延查詢(xún)、大數(shù)據(jù)復(fù)雜關(guān)聯(lián)查詢(xún)、即席查詢(xún)/自定義查詢(xún)、挖掘探索等數(shù)據(jù)共享為混合負(fù)載的情況;單一的大數(shù)據(jù)技術(shù)無(wú)法滿(mǎn)足要求。
基于上述背景,采用多技術(shù)協(xié)同進(jìn)行大數(shù)據(jù)處理是當(dāng)前主流方式。本文就從目前業(yè)界IT系統(tǒng)主流使用的數(shù)據(jù)庫(kù)技術(shù)進(jìn)行分析研究,淺析各類(lèi)不同數(shù)據(jù)庫(kù)技術(shù)以及適用場(chǎng)景。
大數(shù)據(jù)時(shí)代的到來(lái)使得數(shù)據(jù)庫(kù)技術(shù)在學(xué)界和業(yè)界的各個(gè)層面有了空前的迅速發(fā)展,令數(shù)據(jù)庫(kù)的理念、技術(shù)和平臺(tái)隨著應(yīng)用的變化而有了新的內(nèi)涵;對(duì)數(shù)據(jù)庫(kù)課程的教學(xué)體系進(jìn)行改革,勢(shì)在必行。作為高校數(shù)據(jù)庫(kù)系列課程最具基礎(chǔ)性、重要性且受益范圍最廣的本科數(shù)據(jù)庫(kù)課程體系改革,就凸顯出必要性與迫切性。
從數(shù)據(jù)庫(kù)的基本理念看,傳統(tǒng)的數(shù)據(jù)庫(kù)課程教學(xué)以嚴(yán)格的結(jié)構(gòu)化數(shù)據(jù)(即能夠按照關(guān)系模型組織起來(lái)的數(shù)據(jù))為對(duì)象,基于關(guān)系數(shù)據(jù)模型的理論和概念,講授數(shù)據(jù)管理的方法和技術(shù)。按照所謂的80-20規(guī)則,世界上20%的結(jié)構(gòu)化數(shù)據(jù)主要是事務(wù)數(shù)據(jù),產(chǎn)生80%的價(jià)值;80%的數(shù)據(jù)為非結(jié)構(gòu)化數(shù)據(jù),包括新型應(yīng)用中的用戶(hù)生成數(shù)據(jù),它們無(wú)法存儲(chǔ)到關(guān)系數(shù)據(jù)庫(kù)中。隨著數(shù)據(jù)采集、存儲(chǔ)技術(shù)和云計(jì)算的迅速發(fā)展,大量非結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)和處理已成為可能。非結(jié)構(gòu)化數(shù)據(jù)具有長(zhǎng)尾現(xiàn)象,80%的非結(jié)構(gòu)化數(shù)據(jù)產(chǎn)生的20%價(jià)值越來(lái)越受到關(guān)注。為了適應(yīng)這種變化,數(shù)據(jù)庫(kù)課程體系中應(yīng)該增加對(duì)海量非結(jié)構(gòu)化數(shù)據(jù)的管理與分析技術(shù)。
從數(shù)據(jù)庫(kù)的支撐技術(shù)看,傳統(tǒng)的數(shù)據(jù)庫(kù)課程教學(xué)針對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)這一核心內(nèi)容,主要講授基于ER模型的工程化方法、基于數(shù)據(jù)依賴(lài)和規(guī)范化的理論方法以及查詢(xún)處理與優(yōu)化、事務(wù)機(jī)制。然而,以數(shù)據(jù)為中心的應(yīng)用已經(jīng)發(fā)生了實(shí)質(zhì)性的變化,從數(shù)據(jù)查詢(xún)到Web搜索、電子商務(wù)及個(gè)性化推薦等,傳統(tǒng)的事務(wù)處理機(jī)制已經(jīng)不能適應(yīng)互聯(lián)網(wǎng)應(yīng)用的新需求,針對(duì)異構(gòu)海量數(shù)據(jù)、支持分析處理的分布式數(shù)據(jù)處理技術(shù)越來(lái)越受到關(guān)注。數(shù)據(jù)庫(kù)課程體系中除了具有經(jīng)典的SQL數(shù)據(jù)管理技術(shù)外,還應(yīng)增加NoSQL數(shù)據(jù)管理技術(shù)。應(yīng)運(yùn)而生的NoSQL,泛指一切與傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)或關(guān)系對(duì)象數(shù)據(jù)庫(kù)不同的技術(shù),包括非關(guān)系數(shù)據(jù)模型、非ACID事務(wù)模型、分析型和搜索型應(yīng)用、大規(guī)模集群上的DBMS等概念。
從數(shù)據(jù)庫(kù)的實(shí)踐平臺(tái)看,傳統(tǒng)的數(shù)據(jù)庫(kù)課程教學(xué)主要使用SQLServer、DB2或Oracle這類(lèi)商用關(guān)系型DBMS,以及相應(yīng)的非結(jié)構(gòu)化數(shù)據(jù)操作和應(yīng)用。然而,當(dāng)前結(jié)構(gòu)化與非結(jié)構(gòu)化數(shù)據(jù)同等重要地位以及SQL與NoSQL共存的客觀現(xiàn)狀,使傳統(tǒng)的DBMS作為數(shù)據(jù)庫(kù)課程實(shí)踐平臺(tái)顯現(xiàn)出明顯的不足。因此,數(shù)據(jù)庫(kù)課程體系中的實(shí)踐平臺(tái)除了經(jīng)典的關(guān)系型DBMS,還應(yīng)增加開(kāi)源系統(tǒng)及相應(yīng)的開(kāi)發(fā)平臺(tái)。此外,由于集中式部署很難適應(yīng)互聯(lián)網(wǎng)大規(guī)模應(yīng)用對(duì)擴(kuò)展性的要求,源自阿里巴巴的“去IOE”運(yùn)動(dòng)(棄用IBM的小型機(jī)、Oracle數(shù)據(jù)庫(kù)及EMC存儲(chǔ)),也作為目前保證國(guó)家金融和財(cái)政等領(lǐng)域安全及反壟斷的一場(chǎng)技術(shù)革命。雖然仍有爭(zhēng)議存在,但是代表著大數(shù)據(jù)時(shí)代的分布式架構(gòu)和開(kāi)源系統(tǒng)替代集中式架構(gòu)和商用系統(tǒng)是必然的趨勢(shì)。
從數(shù)據(jù)的處理種類(lèi)、數(shù)據(jù)的存儲(chǔ)方案角度將目前業(yè)界使用的主流數(shù)據(jù)庫(kù)分為 Share disk(如 RDB)、Share nothing(如 MPP)、HADOOP三大類(lèi)。
RDB:這里指?jìng)鹘y(tǒng)關(guān)系型數(shù)據(jù)庫(kù)產(chǎn)品和數(shù)據(jù)倉(cāng)庫(kù)產(chǎn)品,主要適用于高可用、高并發(fā)、低時(shí)延、強(qiáng)事務(wù)型應(yīng)用場(chǎng)景,通常采用share disk架構(gòu),橫向擴(kuò)展能力受限于與硬件相關(guān)的體系架構(gòu)設(shè)計(jì)。產(chǎn)品舉例:Teradata、Oracle Exadata、IBM puredata等。
MPP:這里指基于分布式多節(jié)點(diǎn)獨(dú)立計(jì)算的數(shù)據(jù)庫(kù)產(chǎn)品,適用于并發(fā)量不大、大數(shù)據(jù)量批處理的應(yīng)用場(chǎng)景。通常采用share nothing架構(gòu),以多數(shù)據(jù)副本實(shí)現(xiàn)高可用性,基于X86部署、橫向擴(kuò)展性較高。
Share Disk:共享存儲(chǔ)能夠被所有計(jì)算節(jié)點(diǎn)訪問(wèn),所有計(jì)算節(jié)點(diǎn)共享IO通道。
Sharenothing:計(jì)算資源和存儲(chǔ)資源能夠分開(kāi),CPU使用獨(dú)立的IO通道來(lái)訪問(wèn)存儲(chǔ),所有的內(nèi)存訪問(wèn)都是本地訪問(wèn)。
HADOOP:Apache開(kāi)源項(xiàng)目,適用于PB級(jí)數(shù)據(jù)的存儲(chǔ)與并行計(jì)算,以多數(shù)據(jù)副本實(shí)現(xiàn)高可用性,基于X86部署,開(kāi)源,橫向擴(kuò)展性高。
4.1 RDB
RDB屬于一種關(guān)系型數(shù)據(jù)庫(kù),對(duì)于數(shù)據(jù)共享支撐好,需要采用熱備技術(shù)實(shí)現(xiàn)高可靠性;支持較復(fù)雜的數(shù)據(jù)關(guān)聯(lián)模型,但要關(guān)聯(lián)的數(shù)據(jù)量增加時(shí),性能快速下降;依靠存儲(chǔ)過(guò)程、自定義函數(shù)支持大數(shù)據(jù)計(jì)算,計(jì)算開(kāi)銷(xiāo)大。未經(jīng)過(guò)索引、預(yù)計(jì)算、優(yōu)化處理的情況下,復(fù)雜關(guān)聯(lián)查詢(xún)響應(yīng)時(shí)間至少在幾分鐘級(jí)甚至更長(zhǎng),以至于系統(tǒng)不能用。基于索引和其他優(yōu)化手段的情況下,有可能將響應(yīng)時(shí)間控制在幾分鐘級(jí)以下,但成本太高,可能導(dǎo)致系統(tǒng)整體性能?chē)?yán)重下降,并發(fā)能力也隨之降低。支持復(fù)雜的SQL查詢(xún),使用索引技術(shù)保障查詢(xún)高性能;多表復(fù)雜關(guān)聯(lián)性能高,并發(fā)能力強(qiáng);關(guān)系依賴(lài)的結(jié)構(gòu)對(duì)快速加載有相當(dāng)?shù)募s束,具體速度依賴(lài)單點(diǎn)X86的IO,X86場(chǎng)景下單點(diǎn)加載性能低。常規(guī)配置情況下,加載能力約15MB/秒上下支持BI工具。擴(kuò)容時(shí)可以獨(dú)立計(jì)算節(jié)點(diǎn)或存儲(chǔ)節(jié)點(diǎn),計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)的綁定關(guān)系,支持在線的數(shù)據(jù)再平衡,減少時(shí)間窗口,支持業(yè)務(wù)不中斷的擴(kuò)容。硬件傳統(tǒng)采用小型機(jī),成本高(也可用X86服務(wù)器);軟件成本適中。開(kāi)發(fā)成本低。但是擴(kuò)展性較差,不支持在線擴(kuò)展。
4.2 MPP
MPP也是一種關(guān)系型數(shù)據(jù)庫(kù),對(duì)于數(shù)據(jù)共享支撐好;通過(guò)多點(diǎn)的數(shù)據(jù)備份機(jī)制保障系統(tǒng)高可靠性;支持復(fù)雜的SQL查詢(xún),查詢(xún)性能高;主從架構(gòu)的Share Nothing通過(guò)HA機(jī)制保障高可用性,當(dāng)前業(yè)務(wù)服務(wù)會(huì)中斷。無(wú)主架構(gòu)的Share Nothing支持業(yè)務(wù)服務(wù)連續(xù)性。MPP擴(kuò)容時(shí)計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)需要同步擴(kuò)容(增加機(jī)器),擴(kuò)容時(shí)因?yàn)樾枰獢?shù)據(jù)的再平衡,產(chǎn)生大量的數(shù)據(jù)遷移,擴(kuò)容時(shí)間窗口要求較大,擴(kuò)容期間需要暫停業(yè)務(wù)服務(wù)。硬件采用X86服務(wù)器,成本低;軟件成本較高;支持?jǐn)U展,開(kāi)發(fā)成本中等。
4.3 HADOOP
HADOOP通過(guò)多點(diǎn)的數(shù)據(jù)備份機(jī)制保障系統(tǒng)高可靠性;但是HADOOP存儲(chǔ)結(jié)構(gòu)和計(jì)算結(jié)構(gòu)與應(yīng)用的關(guān)系密切,沒(méi)有通用的模型支撐,與集成廠家的開(kāi)發(fā)軟件緊密耦合,不利于數(shù)據(jù)的開(kāi)放共享,并發(fā)能力低。硬件采用X86服務(wù)器,成本低;軟件采購(gòu)成本低;開(kāi)源技術(shù),可能需要采購(gòu)第三方廠家支持,但有一定的風(fēng)險(xiǎn);數(shù)據(jù)不需要格式化轉(zhuǎn)換,集群支持分布式并行寫(xiě)入,并發(fā)寫(xiě)入速度快,其主要取決網(wǎng)絡(luò)帶寬,可達(dá)到Gbps,單節(jié)點(diǎn)數(shù)據(jù)加載能力可達(dá)到100Mbit/s。
大數(shù)據(jù)的關(guān)聯(lián)能力弱;適合非低延遲數(shù)據(jù)處理;計(jì)算資源可動(dòng)態(tài)管理;大數(shù)據(jù)的計(jì)算模型較復(fù)雜;基于hive技術(shù)復(fù)雜關(guān)聯(lián)查詢(xún),同等情況下約50s~1min;基于Hbase及二級(jí)索引結(jié)構(gòu)的優(yōu)化處理,常規(guī)查詢(xún)響應(yīng)時(shí)間將會(huì)有明顯下降,至少可以到10~20s以?xún)?nèi)。需要通過(guò)自定義二級(jí)索引支持復(fù)雜查詢(xún),對(duì)開(kāi)發(fā)者技能要求較高;系統(tǒng)內(nèi)不適合多表復(fù)雜關(guān)聯(lián);支持?jǐn)U展,開(kāi)發(fā)成本高。存儲(chǔ)方面的優(yōu)勢(shì)在于,分布式存儲(chǔ)的備份策略提高系統(tǒng)可靠性與數(shù)據(jù)安全性。分布式存儲(chǔ)特性:任何一個(gè)節(jié)點(diǎn)失效,不影響HDFS服務(wù);HDFS可以自動(dòng)完成副本的復(fù)制,誤刪除可恢復(fù),存儲(chǔ)機(jī)器宕機(jī)或永久損壞,Master節(jié)點(diǎn)可自動(dòng)恢復(fù)數(shù)據(jù)在通信熱點(diǎn)大數(shù)據(jù)時(shí)代數(shù)據(jù)庫(kù)技術(shù)研究14新節(jié)點(diǎn)上。數(shù)據(jù)多副本,一般建議1:2。
當(dāng)前,整個(gè)社會(huì)處于大數(shù)據(jù)時(shí)代,為了更好的提高數(shù)據(jù)處理效率,更低的節(jié)約數(shù)據(jù)處理平臺(tái)的成本,研究不同數(shù)據(jù)庫(kù)技術(shù)以及數(shù)據(jù)庫(kù)組合模式成為趨勢(shì)“混搭結(jié)構(gòu)”構(gòu)建數(shù)據(jù)管理和共享平臺(tái)將成為必然趨勢(shì)。
[1]辛晃,易興輝,陳震宇.基于Hadoop+MPP架構(gòu)的電信運(yùn)營(yíng)商網(wǎng)絡(luò)數(shù)據(jù)共享平臺(tái)研究[J].電信科學(xué),2014(4):94~95.
[2]音 春.大數(shù)據(jù)時(shí)代數(shù)據(jù)庫(kù)技術(shù)研究[J].通信熱點(diǎn),2015(3):231~233.
[3]李戰(zhàn)懷,王國(guó)仁,周傲英.從數(shù)據(jù)庫(kù)視角解讀大數(shù)據(jù)的研究進(jìn)展與趨勢(shì)[J].計(jì)算機(jī)工程與科學(xué),2013,35(10):172~173.
TP311.1
A
1004-7344(2016)02-0278-02
2015-12-30
盧永周(1977-),男,工程師,大學(xué)本科,主要從事IT維護(hù)、網(wǎng)絡(luò)維護(hù)、軟件開(kāi)發(fā)工作。