初步踏入大資料時代

2021-09-24 08:21:36 字數 2774 閱讀 5265

概念:短時間內快速產生大量多種多樣的有價值的資訊

大資料可以概括為5個v

資料量大(volume)

型別多(variety)

價值(value)

真實性(veracity)

垂直擴充套件

在垂直擴充套件模型中,想要增加系統負荷就意味著要在系統現有的部件上下工夫,即通過提高系統部件的能力來實現。例如,假設你現在負責一批木材採伐的操作

在這個例子中,我們假設有3輛卡車,每輛車一次可以運25根木材,計算花費1小時的情況下可以運送到指定地點等待處理的木材數量。通過這些數字我們可以算出我們系統最大的負荷量:

3輛卡車 * 25根木材 * 1小時=75根木材/小時

如果我們選擇垂直擴充套件模型,那麼我們將怎麼做來使我們每小時可以處理150根木材?我們需要至少做以下兩件事中的一件:

使每輛卡車的運輸量增加一倍(50棵樹每小時),或者使每輛卡車的運輸時間減半(每輛卡車30分鐘)。

3輛卡車 * 50棵樹 * 1小時 = 150棵樹/每小時

或者3輛卡車 * 25棵樹 * 30分鐘 = 150棵樹/每小時

我們沒有增加系統的成員數,但是我們通過增加系統成員的生產效率來獲得期望的負荷量

橫向擴充套件

簡單廉價的伺服器或者pc端就可以

在水平擴充套件模型中,我們不是通過增加單個系統成員的負荷而是簡單的通過增加更多的系統成員來實現。也就是說,在以上運送木材的例子中,通過增加卡車的數量來運送木材。因此,當我們需要將負荷從75棵樹每小時增加到150棵樹每小時,那麼只需要增加3輛卡車。

6輛卡車 * 25棵樹 * 1小時 = 150棵樹/每小時

假如我們已經選擇了垂直擴充套件方式,那麼我們想要每小時處理150棵被砍伐的樹時需要怎麼做呢?我們需要做到以下兩方面之一:要麼使每輛卡車的運輸量翻倍(50棵木材一次),要麼使每輛開車的運輸時間減半(30分鐘)。

3輛卡車 * 50棵樹 * 1小時 = 150棵樹/每小時

或者3輛卡車 * 50棵樹 * 30分鐘 = 150棵樹/每小時

在這個例子中,系統每個成員的生產力依然沒變,我們通過增加更多的卡車來提高系統的能力。

namenode與datenode的關係

namenode 老闆

掌控全域性 管理datenode的資訊 管理元資料

接收秘書的請求 進行讀寫操作

與datenode之間進行相應的通訊

datenode 員工

工作的------儲存資料

匯報自己的情況

接收秘書的乙個安排

寫操作(1).有乙個大檔案

(2).client會將大檔案進行切塊 大檔案的大小預設/128m=block塊數

(3)向namenode進行匯報

讀操作(1)namenode會向client傳送乙個請求,client接收到請求之後,會向namenode去申請節點資訊(blockid)

(2)namenode會向client傳送一些節點資訊

(3)client獲取到節點資訊之後去datenode上拿取資料-----jiujinyuanze

讀寫擴充套件

讀操作擴充套件

如 果你的系統讀操作非常多,那麼通過關係型資料庫如mysql或者postgresql來垂直擴充套件資料儲存是乙個不錯的 選擇。結合你的關係型資料庫通過使用 memcached或者cdn來構建乙個健壯的快取系統,那麼你的系統將非常容 易擴充套件。在這種模式中,如果資料庫超負荷執行,那麼將更多的資料放入快取中 來緩解系統的讀壓力。當沒有更多的資料往快取中放時,可以更換更快的資料儲存硬體或者買更多核的處理器來獲取更多的執行通道。摩爾定律使通過這種方法來垂 直擴充套件變得和購買更好的硬體一樣簡單。

寫操作擴充套件

如 果你的系統寫操作非常多,那麼你可能更希望考慮使用可水平擴充套件的資料儲存方式,比如riak,cassandra或者hbase。和大多數關係型資料管理 系統不同,這種資料儲存隨著增長增加更多的節點。由於你的系統大部分時間是在寫入,所以快取曾並不能像在讀操作比較頻繁的系統中起到那麼大作用。很多寫頻 繁的系統一開始使用垂直擴充套件的方式,但是很快發現並不能根本解決問題。為什麼?因為硬碟數和處理器數在某一點達到平衡,在這個邊界上再增加乙個處理器或者 乙個硬碟都會是每秒鐘的i/o運算元成指數性增長。相反,如果對寫頻繁的系統採取水平擴充套件策略,那麼你將達到乙個拐點,在這個拐點之後如果在增加乙個節點 都遠比使用更多的硬碟來的實惠。

集群內提交 在提交的節點上放置block

集群外提交 選擇乙個負載不高的節點進行存放

放置在與第乙個備份不同機架的任意節點上

放置在第二個機架的不同節點上

namenode返回給client一些datenode的資訊

client會和這些datenode形成乙個管道,並且將block切割成乙個個ackpackage(64k)

datenode會從管道中拿取相應的資料進行儲存

當儲存完成之後,datenode會向namenode進行匯報

大資料時代

大資料 巨量資料 big data 指的是需要新處理模式才能具有更強的決策力,洞察力和流程優化能力的海量 高增長率和多樣化的資訊資產。4v特點 volume 大量 velocity 高速 variety 多樣 value 價值 資料倉儲,英文名稱為data warehouse,可簡寫為dw或dwh。...

大資料時代

不斷的從 發現這個很具廣告特色的語句,他們總是鼓吹大資料時代的來臨,好像如果你沒抓住他,你就要立馬落後別人好幾條馬路。各種公司企業對他們的產品也宣稱產品是大資料時代不可或缺的科技 乙個錢學森相當於10個王牌師。國內到處充斥著浮躁,不管是大學還是業界,大家都想賺點錢一夜暴富然後過上高富帥的生活。大資料...

大資料之大資料時代

下面,開啟第一講 大資料之大資料時代 講大資料一定脫離不開乙個大的背景。下面先從大資料背景講起。縱觀整個it發展史,也不過短短幾十年,在這幾十年裡,我們這個資訊化社會經歷了三次大的資訊化浪潮。第一次浪潮是在上個世紀90年代前,1980年前後,pc機進入市場,ibm公司制定了全球的pc標準,即一台電腦...