一、什么是大數據
一種規模大到在獲取、存儲、管理、分析方面大大超出了傳統數據庫軟件工具能力范圍的數據集合,具有海量的數據規模、快速的數據流轉、多樣的數據類型和價值密度低四大特征。大數據需要特殊的技術,以有效地處理大量的容忍經過時間內的數據。適用于大數據的技術,包括大規模并行處理(MPP)數據庫、數據挖掘、分布式文件系統、分布式數據庫、云計算平臺、互聯網和可擴展的存儲系統。
二、大數據的基本特征
數據量大(Volume):第一個特征是數據量大,包括采集、存儲和計算的量都非常大。
類型繁多(Variety):第二個特征是種類和來源多樣化。包括結構化、半結構化和非結構化數據,具體表現為網絡 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?日志、音頻、視頻、圖片、地理位置信息等等,多類型的數據對數據的處理能力提出了更高 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 的要求。
價值密度低(Value):第三個特征是數據價值密度相對較低,或者說是浪里淘沙卻又彌足珍貴。隨著互聯網以及物 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?聯網的廣泛應用,信息感知無處不在,信息海量,但價值 密度較低,如何結合業務邏輯并通 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?過強大的機器算法來挖掘數據價值,是大數據時代最需要解決的問題。
速度快時效高(Velocity):第四個特征數據增長速度快,處理速度也快,時效性要求高。
數據是在線的(Online)。數據是永遠在線的,是隨時能調用和計算的,這是大數據區別于傳統數據最大的特征。
三、大數據的數據單位
? ? ??按順序給出所有單位:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB。(進率2^10)
四、大數據的數據結構
? ??結構化數據:即行數據,存儲在數據庫里,可以用二維表結構來邏輯表達實現的數據
非結構化數據:非結構化數據是數據結構不規則或不完整,沒有預定義的數據模型,
不方便用數據庫二維邏輯表來表現的數據。包括所有格式的辦公文檔、
文本、圖片、XML, HTML、各類報表、圖像和音頻/視頻信息等等。
半結構化數據:指結構數據中,結構不規則的數據,由于結構變化很大也不能夠簡單的
建立一個表和他對應。如:聲音、圖像文件等之間的數據,HTML文檔就
屬于半結構化數據。它一般是自描述的,數據的結構和內容混在一起,
沒有明顯的區分。
五、大數據的計算模式
批處理計算?( ?MapReduce,Spark):最適合于完成大數據批處理的計算模式是MapReduce,首先,MapReduce對具有簡單數據關系、易于劃分的大規模數據采用“分而治之”的并行處理思想;然后將大量重復的數據記錄處理過程總結成Map和Reduce兩個抽象的操作;最后MapReduce提供了一個統一的并行計算框架,把并行計算所涉及到的諸多系統層細節都交給計算框架去完成,以此大大簡化了程序員進行并行化程序設計的負擔。
流式計算 ? (Scribe ,Flume,Storm,S4,SparkStreaming)流式計算是一種高實時性的計算模式,需要對一定時間窗口內應用系統產生的新數據完成實時的計算處理,避免造成數據堆積和丟失。
迭代計算 ( HaLoop ,iMapReduce,Twister,Spark)為了克服Hadoop MapReduce難以支持迭代計算的缺陷,工業界和學術界對Hadoop MapReduce進行了不少改進研究。HaLoop把迭代控制放到MapReduce作業執行的框架內部,并通過循環敏感的調度器保證前次迭代的Reduce輸出和本次迭代的Map輸入數據在同一臺物理機上,以減少迭代間的數據傳輸開銷;
交互式計算
圖計算 ? ?(Pregel,PowerGrapg,GraphX)
內存計算 (Dremel,Hana,redis)
六、大數據的工作流程
1、采集與預處理?
? ? ?從數據源采集的數據,需要通過數據融合、數據集成、數據整合,生成新的數據集,供后續查詢、分析、處理提供統一的數據視圖
2、存儲管理
?分布式文件系統
? ? ? 分布式數據庫(NEWSQL、NOSQL)
3、計算模式
?包括批處理、交互式處理、流式計算、迭代計算、圖計算、內存計算
4、分析與挖掘
5、可視化處理
七、CDH簡介
CDH首先是100%開源,基于Apache協議。基于Apache?Hadoop和相關projiect開發。可以做批量處理,交互式sql查詢和及時查詢,基于角色的權限控制。在企業中使用最廣的hadoop分發版本。?
? ? ??
八、分布式架構設計CAP的工作原理
● 一致性(C):在分布式系統中的所有數據備份,在同一時刻是否同樣的值。(等同于所有節點訪問同一份最新的數據副本),換句話就是說,任何時刻,所用的應用程序都能訪問得到相同的數據。
● 可用性(A):在集群中一部分節點故障后,集群整體是否還能響應客戶端的讀寫請求。(對數據更新具備高可用性),換句話就是說,任何時候,任何應用程序都可以讀寫數據。
● 分區容錯性(P):以實際效果而言,分區相當于對通信的時限要求。系統如果不能在時限內達成數據一致性,就意味著發生了分區的情況,必須就當前操作在C和A之間做出選擇,換句話說,系統可以跨網絡分區線性的伸縮和擴展。
想學習大數據或者想學習大數據的朋友,我整理了一套大數據的學習視頻免費分享給大家,從入門到實戰都有,大家可以加微信:Lxiao_28獲取,還可以入微信群交流!(備注領取資料,真實有效哦)。