成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

這樣“撩”大數據,小白都能看懂!

大數據
話說當下技術圈的朋友,一起聚個會聊個天,如果不會點大數據的知識,感覺都融入不了圈子。

話說當下技術圈的朋友,一起聚個會聊個天,如果不會點大數據的知識,感覺都融入不了圈子。

[[287007]] 

圖片來自 Pexels

為了以后聚會時讓你有聊有料,接下來就跟隨我的講述,一起與大數據混個臉熟吧,不過在“撩”大數據之前,還是先揭秘一下研發這些年我們都經歷了啥?

01

緣起:應用系統架構的從 0 到 1

揭秘:研發這些年我們都經歷了啥?

①大道至簡。生活在技術圈里,大家靜下來想想,無論一個應用系統多龐大、多復雜,無非也就是由一個漂亮的網站門面+一個丑陋的管理模塊+一個悶頭干活的定時任務三大板塊組成。

我們負責的應用系統當然也不例外,起初設計的時候三大模塊綁在一起(All in One),線上跑一個 Tomcat 輕松就搞定,可謂是像極了一個大泥球。

 

②衍化至繁。由于網站模塊、管理平臺、定時任務三大模塊綁定在一起,開發協作會比較麻煩,時不時會有代碼合并沖突出現。

線上應用升級時,也會導致其他模塊暫時不能使用,例如如果修改了一個定時任務的配置,可能會導致網站、管理平臺的服務暫時不能用。

面對諸多的不便,就不得不對 All in One 的大泥球系統進行拆解。

 

隨著產品需求的快速迭代,網站 Web 功能逐漸增多,我們起初設計時雄心勃勃(All in One 的單體架構),以為直接按模塊設計疊加實現就好了,誰成想系統越發顯得臃腫(想想也是走彎路啦!)。

所以不得不改變實現思路,讓模塊服務下沉,分布式思想若現——讓原來網站 Web 一個系統做的事,變成由子系統分擔去完成。

 

應用架構的演變,服務模塊化拆分,隨之而來的就是業務日志、業務數據散落在各處。

隨著業務的推廣,業務量逐日增多,沉淀的數據日益龐大,在業務層面、運維層面上的很多問題,逐漸開始暴露:

  • 在業務層面上,面對監管機構的監管,整合提取散落在各地的海量數據稍顯困難;海量數據散落,想做個統計分析報表也非常不易。
  • 在運維層面上,由于缺少統一的日志歸檔,想基于日志做快速分析也比較困難;如果想從散落在各模塊的日志中,進行調用鏈路的分析也是相當費勁。

面對上述問題,此時一個碩大的紅色問號出現在我們面前,到底該如何解決?

 

面對結構化的業務數據,不妨先考慮采用國內比較成熟的開源數據庫中間件 Sharding-JDBC、MyCat 看是否能夠解決業務問題。

面對日志數據,可以考慮采用 ELK 等開源組件。如果以上方案或者能嘗試的方式都無法幫我們解決,嘗試搬出大數據吧。

 

那到底什么時候需要用大數據呢?大數據到底能幫我們解決什么問題呢?注意,前方高能預警,門外漢“撩”大數據的正確姿勢即將開啟。

02

邂逅:一起撬開大數據之門

槽點:門外漢“撩”大數據的正確姿勢。

與大數據的邂逅,源于兩個頭痛的問題。第一個問題是海量數據的存儲,如何解決?第二個問題是海量數據的計算,如何解決?

 

面對這兩個頭痛的問題,不得不提及谷歌的“三駕馬車”(分布式文件系統 GFS、MapReduce 和 BigTable)。

谷歌“三駕馬車”的出現,奠定了大數據發展的基石,毫不夸張地說,沒有谷歌的“三駕馬車”就沒有大數據,所以接下來很有必要逐一認識。

大家都知道,谷歌搜索引擎每天要抓取數以億計的網頁,那么抓取的海量數據該怎么存儲?

 

谷歌痛則思變,重磅推出分布式文件系統 GFS。面對谷歌推出的分布式文件系統 GFS 架構,如 PPT 中示意,參與角色著實很簡單。

主要分為:

  • GFS Master(主服務器)
  • GFS Chunkserver(塊存儲服務器)
  • GFS Client(客戶端)

不過對于首次接觸這個的你,可能還是一臉懵 ,大家心莫慌,接下來容我抽象一下。

 

GFS Master 我們姑且認為是古代的皇上,統籌全局,運籌帷幄。主要負責掌控管理所有文件系統的元數據,包括文件和塊的命名空間、從文件到塊的映射、每個塊所在的節點位置。

說白了,就是要維護哪個文件存在哪些文件服務器上的元數據信息,并且定期通過心跳機制與每一個 GFS Chunkserver 通信,向其發送指令并收集其狀態。

GFS Chunkserver 可以認為是宰相,因為宰相肚子里面能撐船,能夠海納百川。主要提供數據塊的存儲服務,以文件的形式存儲于 Chunkserver 上。

GFS Client 可以認為是使者,對外提供一套類似傳統文件系統的 API 接口,對內主要通過與皇帝通信來獲取元數據,然后直接和宰相交互,來進行所有的數據操作。

為了讓大家對 GFS 背后的讀寫流程有更多認識,獻上兩首歌謠:

 

到這里,大家應該對分布式文件系統 GFS 不再陌生,以后在飯桌上討論該話題時,也能與朋友交涉兩嗓子啦。

不過這還只是了解了海量數據怎么存儲,那如何從海量數據存儲中,快速計算出我們想要的結果呢?

 

面對海量數據的計算,谷歌再次創新,推出了 MapReduce 編程模型及實現。

MapReduce 主要是采取分而治之的思想,通俗地講,主要是將一個大規模的問題,分成多個小規模的問題,把多個小規模問題解決,然后再合并小規模問題的結果,就能夠解決大規模的問題。

也有人說 MapReduce 就像光頭強的鋸子和錘子,世界上的萬事萬物都可以先鋸幾下,然后再錘幾下,就能輕松搞定,至于鋸子怎么鋸,錘子怎么錘,那就是個人的手藝了。

這么解釋不免顯得枯燥乏味,我們不妨換種方式,走進生活真實感受 MapReduce。

 

斗地主估計大家都玩過,每次開玩之前,都會統計一副牌的張數到底夠不夠,最快的步驟莫過于:分幾份給大家一起數,最后大家把數累加,算總張數,接著就可以愉快地玩耍啦......

這不就是分而治之的思想嗎?!不得不說架構思想來源于人們的生活!

再舉個不太貼切的例子來感受 MapReduce 背后的運轉流程,估計很多人掰過玉米,每當玉米成熟的季節,地主家就開始忙碌起來。

 

首先地主將一畝地的玉米分給處于空閑狀態的長工來處理;專門負責掰玉米的長工領取任務,開始掰玉米操作(Map 操作),并把掰好的玉米放到在麻袋里(緩沖區),麻袋裝不下時,會被裝到木桶中(溢寫)。

木桶被劃分為藍色的生玉米木桶、紅色的熟玉米木桶(分區),地主通知二當家來“收”屬于自己的那部分玉米。

二當家收到地主的通知后,就到相應的長工那兒“拿回”屬于自己的那部分玉米(Fetch 操作),二當家對收取的玉米進行處理(Reduce 操作),并把處理后的結果放入糧倉。

一個不太貼切的生活體驗+一張畫得不太對的丑圖=苦澀難懂的技術,也不知道這樣解釋,你了解了多少?

不過如果以后再談大數據,知道 MapReduce 這個詞的存在,那這次的分享就算成功(哈哈)。

MapReduce 解決了海量數據的計算問題,可謂是力作,但谷歌新的業務需求一直在不斷出現。

眾所周知,谷歌要存儲爬取的海量網頁,由于網頁會不斷更新,所以要不斷地針對同一個 URL 進行爬取,那么就需要能夠存儲一個 URL 不同時期的多個版本的網頁內容。

谷歌面臨很多諸如此類的業務場景,面對此類頭痛的需求,該怎么辦?

谷歌重磅打造了一款類似以“URL+contents+time stamp”為 key,以“html 網頁內容”為值的存儲系統,于是就有了 BigTable 這個鍵值系統的存在(本文不展開詳述)。

 

至此,兩個頭痛的問題就算解決了。面對海量數據存儲難題,谷歌推出了分布式文件系統 GFS、結構化存儲系統 BigTable;面對海量數據的計算難題,谷歌推出了 MapReduce。

不過靜下來想想,GFS 也好、MapReduce 也罷,無非都是秉承了大道至簡、一人掌權、其他人辦事、人多力量大的設計理念。

另外畫龍畫虎難畫骨,建議閑暇之余也多些思考:為什么架構要這么設計?架構設計的目標到底是如何體現的?

 

基于谷歌的“三駕馬車”,出現了一大堆開源的輪子,不得不說谷歌的“三駕馬車”開啟了大數據時代。

了解了谷歌的“三駕馬車”的設計理念后,再去看這些開源的輪子,應該會比較好上手。

好了,門外漢“撩”大數據就聊到這兒吧,希望通過上文的分享能夠了解幾個關鍵詞:大道至簡、衍化至繁、谷歌三駕馬車(GFS、MapReduce、BigTable)、痛則思變、開源輪子。

03

白頭:番外篇

扯淡:不妨換一種態度。

本文至此也即將接近尾聲,最后是番外篇~

首先,借用日本劍道學習心訣“守、破、離”,希望我們一起做一個精進的人。

 

最后,在有限的時間內要多學習,不要停下學習的腳步,在了解和使用已經有的成熟技術之時,更要多思考,開創適合自己工作場景的解決方案。

作者:許賽賽

簡介:宜信支付結算部支付研發團隊高級工程師

 

責任編輯:武曉燕 來源: 野指針
相關推薦

2017-02-22 15:04:52

2022-07-04 08:31:42

GitOpsGit基礎設施

2020-03-31 10:36:07

數據平臺架構

2019-10-08 10:10:52

中臺 IT后臺

2020-01-21 10:16:15

Kubernetes教程容器

2020-12-01 09:03:22

分庫分表MySQL

2018-11-19 08:34:22

Hadoop架構HDFS

2018-11-21 09:40:57

熔斷實踐AOP

2018-11-21 15:40:08

HTTP協議前端

2019-10-30 13:30:29

Python區塊鏈編程語言

2020-09-28 14:25:39

HTTPS加密算法

2024-11-01 05:10:00

2020-06-22 08:07:48

Spring依賴場景

2021-09-27 13:50:13

Python裝飾器函數

2019-09-05 11:14:12

監控系統拓撲圖

2023-01-26 00:22:01

分布式架構大文件

2019-01-22 09:37:47

紅黑樹數據二叉樹

2018-03-06 10:38:23

云計算大數據人工智能

2018-05-24 22:58:26

大數據分布式計算統計

2021-09-01 10:13:07

數據庫面試節點
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩在线精品 | 亚洲精品免费视频 | 国产成人高清视频 | 免费av毛片 | 国产一级片免费视频 | 欧美日韩国产在线观看 | 欧美久久一区 | 91久久精品一区二区二区 | 成人免费影院 | 亚洲精品国产偷自在线观看 | 在线视频a| 欧美一级高清片 | 久久亚洲一区 | 古装三级在线播放 | 国产成人精品视频在线观看 | 第四色影音先锋 | 91超碰在线| 久色网| 81精品国产乱码久久久久久 | 九九天堂网 | 日韩欧美中文在线 | 欧美日韩中文字幕在线播放 | 精品熟人一区二区三区四区 | 欧美日韩在线一区二区三区 | 日日天天 | 国产色在线| 日韩欧美三级电影 | 久热精品免费 | 一级二级三级在线观看 | 狠狠狠干 | 国产精品久久久久久久久图文区 | 精品国产网 | 国产高清一二三区 | 欧美日韩免费一区二区三区 | 亚洲国产精品一区二区三区 | 国产一区免费视频 | 亚洲国产精品成人 | 日本啊v在线 | 一区二区三区韩国 | 四虎影院免费在线播放 | 亚洲免费在线 |