大數(shù)據(jù),是指無(wú)法在可承受的時(shí)間范圍內(nèi)用常規(guī)軟件工具進(jìn)行捕捉、管理和處理的數(shù)據(jù)集合。大數(shù)據(jù)有譬如Hadoop等開(kāi)源大數(shù)據(jù)項(xiàng)目的,編程語(yǔ)言的,以下就大數(shù)據(jù)底層技術(shù)說(shuō)下。有四方面,其實(shí)也代表了部分通用大數(shù)據(jù)底層技術(shù):Z-Suite具有高性能的大數(shù)據(jù)分析能力,她完全摒棄了向上升級(jí)(Scale-Up),全面支持橫向擴(kuò)展(Scale-Out)。Z-Suite主要通過(guò)以下核心技術(shù)來(lái)支撐PB級(jí)的大數(shù)據(jù)。以下是小編為你整理的如何學(xué)習(xí)大數(shù)據(jù)基礎(chǔ) ?
跨粒度計(jì)算(In-DatabaseComputing) ?
Z-Suite支持各種常見(jiàn)的匯總,還支持幾乎全部的專業(yè)統(tǒng)計(jì)函數(shù)。得益于跨粒度計(jì)算技術(shù),Z-Suite數(shù)據(jù)分析引擎將找尋出*化的計(jì)算方案,繼而把所有開(kāi)銷較大的、昂貴的計(jì)算都移動(dòng)到數(shù)據(jù)存儲(chǔ)的地方直接計(jì)算,我們稱之為庫(kù)內(nèi)計(jì)算(In-Database)。這一技術(shù)大大減少了數(shù)據(jù)移動(dòng),降低了通訊負(fù)擔(dān),保證了高性能數(shù)據(jù)分析。 ?
并行計(jì)算(MPP Computing) ?
Z-Suite是基于MPP架構(gòu)的商業(yè)智能平臺(tái),她能夠把計(jì)算分布到多個(gè)計(jì)算節(jié)點(diǎn),再在指定節(jié)點(diǎn)將計(jì)算結(jié)果匯總輸出。Z-Suite能夠充分利用各種計(jì)算和存儲(chǔ)資源,不管是服務(wù)器還是普通的PC,她對(duì)網(wǎng)絡(luò)條件也沒(méi)有嚴(yán)苛的要求。作為橫向擴(kuò)展的大數(shù)據(jù)平臺(tái),Z-Suite能夠充分發(fā)揮各個(gè)節(jié)點(diǎn)的計(jì)算能力,輕松實(shí)現(xiàn)針對(duì)TB/PB級(jí)數(shù)據(jù)分析的秒級(jí)響應(yīng)。
?
列存儲(chǔ) (Column-Based) ?
Z-Suite是列存儲(chǔ)的?;诹写鎯?chǔ)的數(shù)據(jù)集市,不讀取無(wú)關(guān)數(shù)據(jù),能降低讀寫(xiě)開(kāi)銷,同時(shí)提高I/O 的效率,從而大大提高查詢性能。另外,列存儲(chǔ)能夠更好地壓縮數(shù)據(jù),一般壓縮比在5 -10倍之間,這樣一來(lái),數(shù)據(jù)占有空間降低到傳統(tǒng)存儲(chǔ)的1/5到1/10 。良好的數(shù)據(jù)壓縮技術(shù),節(jié)省了存儲(chǔ)設(shè)備和內(nèi)存的開(kāi)銷,卻大大了提升計(jì)算性能。 ?
內(nèi)存計(jì)算 ?
得益于列存儲(chǔ)技術(shù)和并行計(jì)算技術(shù),Z-Suite能夠大大壓縮數(shù)據(jù),并同時(shí)利用多個(gè)節(jié)點(diǎn)的計(jì)算能力和內(nèi)存容量。一般地,內(nèi)存訪問(wèn)速度比磁盤(pán)訪問(wèn)速度要快幾百倍甚至上千倍。通過(guò)內(nèi)存計(jì)算,CPU直接從內(nèi)存而非磁盤(pán)上讀取數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行計(jì)算。內(nèi)存計(jì)算是對(duì)傳統(tǒng)數(shù)據(jù)處理方式的一種加速,是實(shí)現(xiàn)大數(shù)據(jù)分析的關(guān)鍵應(yīng)用技術(shù)。 ?
? ?
大數(shù)據(jù)的發(fā)展史 ?
從技術(shù)上看,大數(shù)據(jù)[1]與云計(jì)算的關(guān)系就像一枚硬幣的正反面一樣密不可分。大數(shù)據(jù)必然無(wú)法用單臺(tái)的計(jì)算機(jī)進(jìn)行處理,必須采用分布式計(jì)算架構(gòu)。它的特色在于對(duì)海量數(shù)據(jù)的挖掘,但它必須依托云計(jì)算的分布式處理、分布式數(shù)據(jù)庫(kù)、云存儲(chǔ)和/或虛擬化技術(shù)。(在維克托·邁爾-舍恩伯格及肯尼斯·庫(kù)克耶編寫(xiě)的《大數(shù)據(jù)時(shí)代[4]》中大數(shù)據(jù)指不用隨機(jī)分析法(抽樣調(diào)查)這樣的捷徑,而采用所有數(shù)據(jù)的方法)大數(shù)據(jù)的4V特點(diǎn):Volume(大量)、Velocity(高速)、Variety(多樣)、Value(價(jià)值)。 ?
早在1980年,著名未來(lái)學(xué)家阿爾文·托夫勒便在《第三次浪潮》一書(shū)中,將大數(shù)據(jù)熱情地贊頌為第三次浪潮的華彩樂(lè)章。不過(guò),大約從2009年開(kāi)始,大數(shù)據(jù)才成為互聯(lián)網(wǎng)信息技術(shù)行業(yè)的流行詞匯。美國(guó)互聯(lián)網(wǎng)數(shù)據(jù)中心指出,互聯(lián)網(wǎng)上的數(shù)據(jù)每年將增長(zhǎng)50%,每?jī)赡瓯銓⒎环?,而目前世界?0%以上的數(shù)據(jù)是最近幾年才產(chǎn)生的。此外,數(shù)據(jù)又并非單純指人們?cè)诨ヂ?lián)網(wǎng)上發(fā)布的信息,全世界的工業(yè)設(shè)備、汽車、電表上有著無(wú)數(shù)的數(shù)碼傳感器,隨時(shí)測(cè)量和傳遞著有關(guān)位置、運(yùn)動(dòng)、震動(dòng)、溫度、濕度乃至空氣中化學(xué)物質(zhì)的變化,也產(chǎn)生了海量的數(shù)據(jù)信息。 ?
大數(shù)據(jù)的意義是由人類日益普及的網(wǎng)絡(luò)行為所伴生的,受到相關(guān)*、企業(yè)采集的,蘊(yùn)含數(shù)據(jù)生產(chǎn)者真實(shí)意圖、喜好的,非傳統(tǒng)結(jié)構(gòu)和意義的數(shù)據(jù) 。2013年5月10日,阿里巴巴集團(tuán)董事局主席馬云在淘寶十周年晚會(huì)上,將卸任阿里集團(tuán)CEO的職位,并在晚會(huì)上做卸任前的演講,馬云說(shuō),大家還沒(méi)搞清PC時(shí)代的時(shí)候,移動(dòng)互聯(lián)網(wǎng)來(lái)了,還沒(méi)搞清移動(dòng)互聯(lián)網(wǎng)的時(shí)候,大數(shù)據(jù)時(shí)代來(lái)了。 ?
從海量數(shù)據(jù)中提純出有用的信息,這對(duì)網(wǎng)絡(luò)架構(gòu)和數(shù)據(jù)處理能力而言也是巨大的挑戰(zhàn)。在經(jīng)歷了幾年的批判、質(zhì)疑、討論、炒作之后,大數(shù)據(jù)終于迎來(lái)了屬于它的時(shí)代。2012年3月22日,奧巴馬*宣布投資2億美元拉動(dòng)大數(shù)據(jù)相關(guān)產(chǎn)業(yè)發(fā)展,將大數(shù)據(jù)戰(zhàn)略上升為*戰(zhàn)略。奧巴馬*甚至將大數(shù)據(jù)定義為未來(lái)的新石油。 ?
大數(shù)據(jù)時(shí)代已經(jīng)來(lái)臨,它將在眾多領(lǐng)域掀起變革的巨浪。但我們要冷靜的看到,大數(shù)據(jù)的核心在于為客戶挖掘數(shù)據(jù)中蘊(yùn)藏的價(jià)值,而不是軟硬件的堆砌。因此,針對(duì)不同領(lǐng)域的大數(shù)據(jù)應(yīng)用模式、商業(yè)模式研究將是大數(shù)據(jù)產(chǎn)業(yè)健康發(fā)展的關(guān)鍵。我們相信,在*的統(tǒng)籌規(guī)劃與支持下,通過(guò)各地方*因地制宜制定大數(shù)據(jù)產(chǎn)業(yè)發(fā)展策略,通過(guò)國(guó)內(nèi)外IT龍頭企業(yè)以及眾多創(chuàng)新企業(yè)的積極參與,大數(shù)據(jù)產(chǎn)業(yè)未來(lái)發(fā)展前景十分廣闊。 ?
大數(shù)據(jù)就是互聯(lián)網(wǎng)發(fā)展到現(xiàn)今階段的一種表象或特征而已,沒(méi)有必要神話它或?qū)λ3志次分模谝栽朴?jì)算為代表的技術(shù)創(chuàng)新大幕的襯托下,這些原本很難收集和使用的數(shù)據(jù)開(kāi)始容易被利用起來(lái)了,通過(guò)各行各業(yè)的不斷創(chuàng)新,大數(shù)據(jù)會(huì)逐步為人類創(chuàng)造更多的價(jià)值。 ?
? ?
學(xué)習(xí)Python的網(wǎng)絡(luò)編程 ?
在我們這個(gè)時(shí)代 ,相信大多數(shù)是離不開(kāi)互聯(lián)網(wǎng)的,我們要學(xué)習(xí)網(wǎng)絡(luò)編程。一般了解一下三個(gè)方面就可以了。 ?
寫(xiě)出基本的TCP連接,知道編寫(xiě)TCP的各個(gè)步驟,例如創(chuàng)建socket、綁定port、端口復(fù)用等,對(duì)TCP稍微做了解,知道協(xié)議的每個(gè)字段,了解三次握手 ?
了解基本的服務(wù)器并發(fā)模型,例如多進(jìn)程、多線程、IO復(fù)
?
了解一些網(wǎng)絡(luò)庫(kù)例如twisted ?
Python高級(jí)進(jìn)階(一):Web方向 ?
在我們學(xué)習(xí)完成之前的基礎(chǔ)知識(shí)之后,我們就要開(kāi)始學(xué)習(xí)實(shí)戰(zhàn)項(xiàng)目了。我們可以使用Python編寫(xiě)一個(gè)博客網(wǎng)站。通過(guò)網(wǎng)站的編程知識(shí)的學(xué)習(xí)。我們可以充分鞏固我們之前所學(xué)的文件操作,數(shù)據(jù)庫(kù)編程以及網(wǎng)絡(luò)編程。是學(xué)習(xí)提高的好方法。一般Django框架是學(xué)習(xí)Python Web編程的*框架。 ?
Python高級(jí)進(jìn)階(二):人工智能方向 ?
Python在人工智能方向上的運(yùn)用是非常廣泛的。深度學(xué)習(xí)是我們需要掌握的,我們可以學(xué)習(xí)谷歌的開(kāi)源人工智能框架TensorFlow。以及Numpy這種工具可用來(lái)存儲(chǔ)和處理大型矩陣,是學(xué)習(xí)人工智能敲門(mén)磚。在掌握這些知識(shí)以后,我相信大家就可以根據(jù)自己的實(shí)際情況來(lái)進(jìn)入深入學(xué)習(xí)了。 ?
? ?
數(shù)據(jù)庫(kù)的優(yōu)化處理 ?
應(yīng)盡量避免在where子句中對(duì)字段進(jìn)行函數(shù)操作,這將導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描。如: ?
selectidfromtwheresubstring(name,1,3)=’abc’ -–name以abc開(kāi)頭的idselectidfromtwheredatediff(day,createdate,’2005-11-30′)=0 -–‘2005-11-30’ --生成的id ?
應(yīng)改為: ?
selectidfromtwherenamelike'abc%'selectidfromtwherecreatedate>='2005-11-30'andcreatedate<'2005-12-1' ?
不要在 where 子句中的“=”左邊進(jìn)行函數(shù)、算術(shù)運(yùn)算或其他表達(dá)式運(yùn)算,否則系統(tǒng)將可能無(wú)法正確使用索引。 ?
在使用索引字段作為條件時(shí),如果該索引是復(fù)合索引,那么必須使用到該索引中的*個(gè)字段作為條件時(shí)才能保證系統(tǒng)使用該索引,否則該索引將不會(huì)被使用,并且應(yīng)盡可能的讓字段順序與索引順序相一致。 ?
不要寫(xiě)一些沒(méi)有意義的查詢,如需要生成一個(gè)空表結(jié)構(gòu): ?
selectcol1,col2into#tfromtwhere1=0 ?
這類代碼不會(huì)返回任何結(jié)果集,但是會(huì)消耗系統(tǒng)資源的,應(yīng)改成這樣: ?
create table #t(…) ?
Update 語(yǔ)句,如果只更改1、2個(gè)字段,不要Update全部字段,否則頻繁調(diào)用會(huì)引起明顯的性能消耗,同時(shí)帶來(lái)大量日志。 ?