數(shù)據(jù)庫(kù)一體機(jī)與大數(shù)據(jù)技術(shù)區(qū)別何在

成都創(chuàng)新互聯(lián)專注于網(wǎng)站建設(shè)|網(wǎng)站建設(shè)維護(hù)|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計(jì)與制作經(jīng)驗(yàn),為許多企業(yè)提供了網(wǎng)站定制設(shè)計(jì)服務(wù),案例作品覆蓋成都陽(yáng)光房等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身制作品質(zhì)網(wǎng)站。
作為近期信息管理領(lǐng)域最為熱門的兩項(xiàng)技術(shù),數(shù)據(jù)庫(kù)一體機(jī)與大數(shù)據(jù)技術(shù)的硬件架構(gòu)基本相同,但軟件體系有著本質(zhì)的區(qū)別,這也導(dǎo)致了兩者擁有不同的特征表現(xiàn)。
隨著企業(yè)數(shù)據(jù)量的快速增長(zhǎng),以及用戶對(duì)服務(wù)水平要求的不斷提高,相當(dāng)長(zhǎng)的一段時(shí)間以來,傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)技術(shù)在生產(chǎn)實(shí)踐中表現(xiàn)出明顯的能力不足。如何以合理的成本獲得海量數(shù)據(jù)的高可用性已經(jīng)成為現(xiàn)代IT領(lǐng)域的重大挑戰(zhàn)。為了應(yīng)對(duì)這一挑戰(zhàn),近年來,IT市場(chǎng)中相繼出現(xiàn)了許多新的技術(shù)手段,其中最為引人注目的便是由主流數(shù)據(jù)庫(kù)廠商主導(dǎo)的數(shù)據(jù)庫(kù)一體機(jī)(例如Oracle ExaData以及IBM Netezza等),以及以開源力量為主的大數(shù)據(jù)技術(shù)。
不過,雖然數(shù)據(jù)庫(kù)一體機(jī)與大數(shù)據(jù)技術(shù)都是當(dāng)今的熱門話題,并都已經(jīng)被廣泛應(yīng)用,但卻有相當(dāng)一部分用戶仍然無法深入了解兩者之間的本質(zhì)區(qū)別與關(guān)系。同時(shí),很多用戶也在為如何在企業(yè)內(nèi)部對(duì)這兩者進(jìn)行正確定位而感到困惑。為此,本文特別對(duì)數(shù)據(jù)庫(kù)一體機(jī)(也可稱新一代主流關(guān)系型數(shù)據(jù)庫(kù))和大數(shù)據(jù)技術(shù)(例如Hadoop,主要指MapReduce與NoSQL)的相關(guān)技術(shù)特點(diǎn)進(jìn)行對(duì)比。
硬件與軟件
從本質(zhì)上來講,數(shù)據(jù)庫(kù)一體機(jī)與大數(shù)據(jù)技術(shù)的硬件架構(gòu)基本相同,同樣是采用x86服務(wù)器集群的分布式并行模式,以應(yīng)對(duì)大規(guī)模的數(shù)據(jù)與計(jì)算。但是,數(shù)據(jù)庫(kù)一體機(jī)的賣家們通常會(huì)對(duì)其產(chǎn)品的硬件體系進(jìn)行面向產(chǎn)品化的、系統(tǒng)性的整體調(diào)優(yōu),同時(shí)也會(huì)有各自的特色手段。比方說Oracle ExaData的Infiniband、Flash Cache,IBM Nettezza的FPGA(現(xiàn)場(chǎng)可編程邏輯門陣)等。[page] 數(shù)據(jù)庫(kù)一體機(jī)與大數(shù)據(jù)技術(shù)最為核心的區(qū)別是在軟件體系上。數(shù)據(jù)庫(kù)一體機(jī)的核心是SQL體系,這不只是指SQL解析,更重要的是指包括SQL優(yōu)化引擎、索引、鎖、事務(wù)、日志、安全以及管理等在內(nèi)的完整而龐大的技術(shù)體系。這一體系是成熟的、面向產(chǎn)品的。
大數(shù)據(jù)技術(shù)軟件體系中的MapReduce則提供了一個(gè)面向海量數(shù)據(jù)處理的分布式編程框架,使用者需要自行編制所需要的計(jì)算邏輯。MapReduce對(duì)數(shù)據(jù)的讀寫是批量連續(xù)的,而不是隨機(jī)的。而大數(shù)據(jù)技術(shù)的另一體系NoSQL則大都只是提供了海量數(shù)據(jù)的分布式存儲(chǔ),以及基于索引的快速讀取機(jī)制,為使用者提供的大多是編程API(雖然也有類SQL的語(yǔ)言,但其本質(zhì)并不是完整的SQL體系)。
由于SQL體系的復(fù)雜性與處理邏輯的整體關(guān)聯(lián)性,導(dǎo)致數(shù)據(jù)庫(kù)一體機(jī)在擴(kuò)展性上遠(yuǎn)不及大數(shù)據(jù)技術(shù)體系,雖然前者已經(jīng)在很大程度上改善了傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)垂直擴(kuò)展的瓶頸。MapReduce與NoSQL的單個(gè)集群往往可以擴(kuò)展到數(shù)千個(gè)節(jié)點(diǎn),而數(shù)據(jù)庫(kù)一體機(jī)如果在硬件上擴(kuò)展到這個(gè)規(guī)模,從軟件上來講,已經(jīng)是沒有意義的了。
特征與本質(zhì)
基于軟件體系的不同,導(dǎo)致了數(shù)據(jù)庫(kù)一體機(jī)和大數(shù)據(jù)技術(shù)有著不同的特征表現(xiàn)。數(shù)據(jù)庫(kù)一體機(jī)往往適合于存儲(chǔ)關(guān)系復(fù)雜的數(shù)據(jù)模型(例如企業(yè)核心業(yè)務(wù)數(shù)據(jù)),并且需要限制為基于二維表的關(guān)系模型。同時(shí),數(shù)據(jù)庫(kù)一體機(jī)適合進(jìn)行一致性與事務(wù)性要求高的計(jì)算,以及復(fù)雜的BI計(jì)算。
大數(shù)據(jù)技術(shù)則更適合于存儲(chǔ)較簡(jiǎn)單的數(shù)據(jù)模型,并且可以不受模式的約束。因而其可存儲(chǔ)管理的數(shù)據(jù)類型更加豐富。大數(shù)據(jù)技術(shù)還適合進(jìn)行一致性與事務(wù)性要求不高的計(jì)算(主要是指NoSQL的查詢操作),以及對(duì)超大規(guī)模海量數(shù)據(jù)的、批量的分布式并行計(jì)算(基于MapReduce)。
需要注意的是,NoSQL數(shù)據(jù)庫(kù)由于擺脫了繁瑣的SQL體系約束,其查詢與插入的效率比數(shù)據(jù)庫(kù)一體機(jī)更高。大數(shù)據(jù)技術(shù)比數(shù)據(jù)庫(kù)一體機(jī)所能處理的數(shù)據(jù)量也相對(duì)大些,這主要是因?yàn)槠浼嚎梢詳U(kuò)展得更大。
從本質(zhì)上講,MapReduce是對(duì)海量數(shù)據(jù)分布式計(jì)算領(lǐng)域的一個(gè)重要?jiǎng)?chuàng)新,但也只是在適合于并行處理的大規(guī)模批量處理問題上更占優(yōu)勢(shì),而對(duì)一些復(fù)雜操作,則不一定具有優(yōu)勢(shì)。NoSQL則可以看作是對(duì)傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)進(jìn)行簡(jiǎn)化的結(jié)果。由于NoSQL數(shù)據(jù)庫(kù)的設(shè)計(jì)思想只是提取出關(guān)系型數(shù)據(jù)庫(kù)的索引機(jī)制,并加了上分布式存儲(chǔ),把SQL體系中那些對(duì)“某些特殊問題”而言并不需要的東西統(tǒng)統(tǒng)刪去,由此實(shí)現(xiàn)了更優(yōu)秀的效率、擴(kuò)展性與靈活性。[page] 因此,我們可以明顯地看到,在實(shí)踐中,有很多問題(特別是流行的大數(shù)據(jù)問題),關(guān)系數(shù)據(jù)庫(kù)中的許多設(shè)計(jì)并不需要,這才是NoSQL發(fā)展壯大的根本立足點(diǎn)。
關(guān)系與協(xié)作
通過前面的分析,我們不難得出這樣的結(jié)論:大數(shù)據(jù)技術(shù)與數(shù)據(jù)庫(kù)一體機(jī)應(yīng)該是相輔相成,并非互相替代的。它們針對(duì)不同的應(yīng)用場(chǎng)景設(shè)計(jì),并相互補(bǔ)充與合作。具體來說,大數(shù)據(jù)技術(shù)可以實(shí)現(xiàn):
■處理企業(yè)內(nèi)海量的、模型簡(jiǎn)單、類型多樣的非結(jié)構(gòu)化與半結(jié)構(gòu)化數(shù)據(jù)(例如社會(huì)化數(shù)據(jù)、各種日志甚至圖片、視頻等),其處理結(jié)果可以被直接使用;
■以上處理結(jié)果也同時(shí)可以被當(dāng)成是新的輸入存儲(chǔ)到企業(yè)級(jí)數(shù)據(jù)倉(cāng)庫(kù)中,這時(shí)大數(shù)據(jù)機(jī)相當(dāng)于是面向大數(shù)據(jù)源的、新的ETL(提取-轉(zhuǎn)換-加載)手段;
■面向海量數(shù)據(jù)的、不太適合SQL的存儲(chǔ)或計(jì)算。
而數(shù)據(jù)庫(kù)一體機(jī)則應(yīng)該還是作為企業(yè)數(shù)據(jù)倉(cāng)庫(kù)的主流技術(shù),至少在很長(zhǎng)一段時(shí)間內(nèi)應(yīng)該是這樣。它負(fù)責(zé)存儲(chǔ)與計(jì)算最主要的、有重大價(jià)值的企業(yè)關(guān)鍵業(yè)務(wù)數(shù)據(jù)。
現(xiàn)存的誤區(qū)
有些人認(rèn)為,雖然大數(shù)據(jù)技術(shù)的原始開源狀態(tài)還不適合充當(dāng)企業(yè)級(jí)數(shù)據(jù)倉(cāng)庫(kù)主平臺(tái)的要求,但經(jīng)過開發(fā)、補(bǔ)充,應(yīng)該是可以的。其實(shí)這個(gè)觀點(diǎn)沒有錯(cuò)。但實(shí)際上,對(duì)開源的大數(shù)據(jù)技術(shù)進(jìn)行補(bǔ)充開發(fā),所要補(bǔ)充的正是大數(shù)據(jù)技術(shù)在原始設(shè)計(jì)上就去除了的、那些本屬于關(guān)系型數(shù)據(jù)庫(kù)體系的東西。
如果進(jìn)行這樣的補(bǔ)充開發(fā),企業(yè)不僅會(huì)面臨龐大的、難于估計(jì)的開發(fā)工作量,同時(shí)也難以像專業(yè)數(shù)據(jù)庫(kù)廠商那樣實(shí)現(xiàn)這些工作的理論化、產(chǎn)品化與體系化。雖然從純技術(shù)的角度上講,開發(fā)什么都有可能。但是如果企業(yè)真的準(zhǔn)備這樣做,是要開發(fā)另一個(gè)商業(yè)化的關(guān)系數(shù)據(jù)庫(kù)嗎?很明顯,這違背了大數(shù)據(jù)技術(shù)的設(shè)計(jì)初衷。
因?yàn)樗俣瓤臁D闵蟽|級(jí)數(shù)據(jù)的情況下NOSQL是比普通SQL效率更高,哪怕有索引。畢竟NOSQL的存儲(chǔ)空間使用是普通SQL三倍多。基本都用在索引方面了。
如果是全文搜索關(guān)鍵字,左右模糊等就更甩SQL幾條街了
因?yàn)樗饕唷M粭l個(gè)數(shù)據(jù),NOSQL占用空間是一般SQL數(shù)據(jù)庫(kù)的3-5倍。
你可以理解成NOSQL默認(rèn)開啟全字段索引和全文索引什么的。
其實(shí)在十萬級(jí)以下的數(shù)據(jù),只要SQL建好索引的情況并不比NOSQL慢。NOSQL主要是用于千萬上億級(jí)的時(shí)候。
當(dāng)前名稱:nosql索引機(jī)制,nosql的理論基礎(chǔ)
轉(zhuǎn)載來源:http://chinadenli.net/article31/dsgcjsd.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、網(wǎng)站內(nèi)鏈、建站公司、企業(yè)網(wǎng)站制作、App設(shè)計(jì)、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)