大資料核心技術---map技術
彭文偉前言:
大資料處理關鍵技術一般包括:大資料採集、大資料預處理、大資料儲存及管理、大資料分析及挖掘、大資料展現和應用(大資料檢索、大資料視覺化、大資料應用、大資料安全等)。而以上這些關鍵技術都離不開底層的應用技術,鍵值對map的效能。
對於c++程式來說 map的使用無處不在。影響程式效能的瓶頸也往往是map的效能。尤其在大資料情況下,以及業務關聯緊密而無法實現資料分發和並行處理的情況。map的效能就成了最關鍵的技術。
一、大資料採集技術
在電信行業和資訊保安行業的工作經歷,我是和底層大資料採集打交道,尤其資訊保安行業資料最複雜,都離不開map。
比如:ip表、mac表,**號碼表、網域名稱解析表、身份證號碼表的查詢、病毒木馬的特徵碼的雲查殺等等。
stl庫的map採用二分查詢,效能最差。google的雜湊map效能和記憶體目前是最優的,但是有重複碰撞的機率。現在大資料 基本上不用有碰撞機率的map。
當然,這些情況可以使用併發的形式來解決,但是對於網路資料報每秒高達2萬以上的情況,以及業務關聯緊密無法分發的情況,大資料就只能本地化處理。
比如電信信令的sccp層的組包流程,網路協議的tcp和ip層的組包流程。這些必須靠map本地化來完成。
二、大資料預處理技術
資料庫的關聯功能是效能超慢的,因此想要實現大資料分析的實時性,預處理是很關鍵的步驟,我在電信時,處理的是將乙個通話流程完整的關聯起來,實現**通話過程的實時性關聯,如果將上億條資料放到資料庫中做關聯,客戶的體驗效果可想而知。
要保證每秒幾萬個信令資料報能全部處理完成,就必須使用高效的map技術,對相同業務id的信令資料進行插入,查詢以及完成關聯後從map表中刪除。
三、大資料儲存及管理技術
針對web2.0的頻繁應用,key-value的資料庫具有非常高效的讀寫效能,尤其在大資料情況下。map型的資料庫沒有關係型資料庫那麼複雜的結構,效能優越。
介紹:pwwmap是一種全新演算法概念的map技術。它包含三種map。
memmap,hashmap適合用於大資料採集和預處理分析,diskmap適合做nosql資料庫。
1、memmap 支援插入,修改,刪除,查詢等日常操作。適合任何場合下使用。採用獨特的索引技術,效能和記憶體比stl庫的map高百倍以上。效能和google的雜湊map相差無幾,且無碰撞機率。
2、hashmap 僅僅支援查詢。適合高速查詢的場合。效能比目前的google雜湊演算法快100倍。而且無碰撞機率。
3、diskmap 支援插入,修改,刪除,查詢等日常操作,類似nosql資料庫的功能。其資料量高達百億,查詢效能依舊強勁。對比google的leveldb技術,優勢明顯。而且其採用模板形式支援各種資料型別,不僅僅是string型別的資料。
程式使用pwwmap 最直接的效益就是 原來需要十個伺服器解決的方案 現在只需要乙個伺服器。
hadoop為什麼是大資料開發的核心技術?
當今世界,科技進步日新月異,網際網路 雲計算 大資料等現代資訊科技深刻改變著人類的思維 生產 生活 學習方式,深刻展示了世界發展的前景。未來的網際網路就是大資料和雲計算的天下,不管你是否認同,大資料時代已經來臨,並將深刻地改變著我們的工作和生活。學習大資料技術,是時代的召喚,是社會對高薪技術人才的渴...
什麼是大資料技術
大資料時代,資料的應用已經滲透到各行各業,大資料技術為企業業務分析和行業發展帶來了新的思維角度,將會充分激發資料對社會發展的影響和推動。資料處理關鍵技術一般包括 大資料採集 大資料預處理 大資料儲存及管理 大資料分析及挖掘 大資料展現和應用 大資料檢索 大資料視覺化 大資料應用 大資料安全等 首先,...
為什麼說K R是技術寫作的典範
其實,我已經不記得自己是第幾次重讀這本 the c programming language 了,但每次讀都不禁感嘆,技術書竟然也可以寫得如此精煉,完美,儼然是一副美麗的畫卷。能從此書進入浪漫而嚴謹的黑客世界不能不說是一 種榮幸。因此這本書一直我向初學者們推薦的首選書籍。但凡寫過技術文章的人都知道,...