標籤:
poptest是國內唯一一家培養測試開發工程師的培訓機構,以學員能勝任自動化測試,效能測試,測試載入器開發等工作為目標。如果對課程感興趣,請大家諮詢qq:908821478,諮詢電話010-84505200。
首先簡單的看一下雲端運算與大資料的概念.
1)雲端運算:雲端運算本質上是一種計算資源集中分布和充分共用的效用計算模式,其中集中是為了計算資源的集約化管理,分布是便於擴充計算能力.集中分布式是針對雲端服務供應商的,充分共用是針對使用者,在雲端運算中,雖然對於每個雲使用者來說都擁有一台超級電腦,但本質上,這些使用者是充分共用了雲端服務商所提供的計算服務.而效用計算更多的是一種商業模式,就是使用者按所需服務來付費.
2)在前面的博文中,對大資料有個討論,簡單的說,大資料的特點就是資料量大(雖然很多人都把大資料定義在T層級以上,其實我覺得這是有問題的,大資料的大其實應該是個相對概念,是相對於當前的儲存技術和計算能力的),資料應用需求大,計算量大.資料量大是最基本的,需求大其實包含了需求的數量、多樣性和即時性.計算量大是因為資料量大和需求量大和演算法複雜(檢索,推薦,模式識別)所致.大資料的這種特點使得我們很難找到通用的處理模式來解決大資料所面臨的問題,我們只能針對不同的需求採用不同的處理方法,這也是大資料處理比較困難的癥結所在。無論是傳統的資料庫還是最近興起的NoSQL資料庫,在大資料存放區和處理方面其實都是有非常大的局限性的,所以分散式運算才在大資料處理中大興其道。Hadoop雖然提供了比較完整的一套處理模式,但相對於大資料所面臨的應用需求的多樣性而言,能處理的問題域也是十分有限的。
資料庫和資料倉儲的概念,大家google一下就可以了,接下來,我們看看它們之間的關係:
1)資料庫和資料倉儲都是資料的一種儲存方式,大資料處理更多的是一種需求(問題),而雲端運算是一種比較綜合的需求(問題)解決方案。
2)由於雲端運算本身的特性,天生就面臨大資料處理(儲存、計算等)問題,因為雲端運算的基本架構模式是C/S模式,其中S相對集中,而C是廣泛分布。所有使用者的資料和絕大部分的計算都是在S端完成的(資料量大,計算量大),加上使用者也天然具有多樣性(地區,文化,需求,個人化等),因此需求(也包括計算量)就非常大。
3)雲端運算當然會涉及到資料的儲存技術,但資料庫技術對於雲端運算來說要視具體的情況來分析:
A)對於IaaS而言,資料庫技術不是必需的,也不是必備的功能;
B)對於PaaS來說,資料庫功能應該是必備的功能
C)對於SaaS而言,必然會用到資料庫技術(包括傳統關聯式資料庫和NoSQL資料庫)。
而對於資料倉儲技術,並不是雲端運算所必需的,但由於雲資料的資訊價值極大,類似一座金礦,我想雲端服務商是不可能放過從這些金礦中提取金子的.
4)大資料首先所面臨的問題就是大資料的儲存問題,一般都會綜合運用各種儲存技術(檔案儲存體,資料庫儲存),當然,你完全用檔案儲存體或者資料庫儲存來解決,也是沒問題的。與雲端運算類似,資料倉儲技術不是必需的,但對於資料倉儲技術對於結構化資料進行淘金還是非常有用的,當然,你不用資料倉儲技術也可以,比如Hadoop模式。
在雲端運算和大資料處理中,最基礎的技術其實是分散式運算技術。而對於構建分散式運算而言,多線程,同步,遠程調用(RPC,RMI等),進程管理與通訊是其基本技術點。分散式運算編程是一種綜合性應用編程,不僅需要有基本的技術點,還需要一定的組織管理知識。
就目前來說,雲端運算和大資料處理其實都沒有形成一個統一的標準和定義,以上僅僅是我在工作和學習的過程中,對於這些東西的理解,也希望與大家一起來探討這類問題。當然,也希望我的回複對你們有所協助。
老李分享:大資料,資料庫,資料倉儲之間是什麼關係