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