日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

收藏!一张图帮你快速建立大数据知识体系

發布時間:2024/9/3 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 收藏!一张图帮你快速建立大数据知识体系 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介:?對海量數據進行存儲、計算、分析、挖掘處理需要依賴一系列的大數據技術,而大數據技術又涉及了分布式計算、高并發處理、高可用處理、集群、實時性計算等,可以說是匯集了當前 IT 領域熱門流行的 IT 技術。本文對大數據技術知識體系進行劃分,共分為基礎技術、數據采集、數據傳輸、數據組織集成、數據應用、數據治理,進行相關的闡述說明,并列出目前業界主流的相關框架、系統、數據庫、工具等。(文末福利:下載大數據知識體系圖)

前言

最早提出“大數據”時代到來的是全球知名咨詢公司麥肯錫,麥肯錫稱:“數據,已經滲透到當今每一個行業和業務職能領域,成為重要的生產因素。人們對于海量數據的挖掘和運用,預示著新一波生產率增長和消費者盈余浪潮的到來。”數據,讓一切有跡可循,讓一切有源可溯。我們每天都在產生數據,創造大數據和使用大數據,只是,你,仍然渾然不知。

企業組織利用相關數據和分析可以幫助它們降低成本、提高效率、開發新產品、做出更明智的業務決策等等。大數據的價值,遠遠不止于此,大數據對各行各業的滲透,大大推動了社會生產和生活,未來必將產生重大而深遠的影響。

具體展開圖(點擊“閱讀原文”可下載),詳細內容請看下文:

一 大數據基礎技術

數據分片路由

在大數據的背景下,數據規模已經由 GP 跨越大屏 PB 的級別,單機明顯已經無法存儲與處理如此規模的數據量,只能依靠大規模集群來對這些數據進行存儲和處理。對于海量的數據,通過數據分片(Shard/Partition)來將數據進行切分到不同機器中去,分片以后,如何能夠找到某一條記錄。這就是數據的分片和路由。

數據復制 & 一致性

在大數據的存儲系統中,為了增加系統的可靠性,往往會將同一份數據存儲多個副本。數據是如何復制?以及數據復制后帶來的一致性問題如何的解決?

大數據常用算法與數據結構

對于大數據或者大規模的分布式系統來說,如何能夠高效快速地進行海量數據的處理非常關鍵,而采用合適的數據結構和算法對于達成此目標至關重要。

二 數據采集

大數據的采集處于大數據生命周期的第一個環節,從數據采集的類型看不僅僅要涵蓋基礎的結構化數據,半結構化數據,以及非結構化數據音頻、視頻、圖像等。常見的數據采集方式包括系統日志采集、網絡數據采集、設備數據采集。

系統日志采集

系統日志采集主要是對數據庫、系統、服務器等運行狀態,行為事件等數據抓取。

  • 埋點:瀏覽器(PC)打點、無線客戶端、服務端打點。
  • 數據采集框架:Chukwa、Splunk Forwarder、Flume、Fluentd、Logstash、Scribe。

網絡數據采集

網絡數據采集是指通過爬蟲或者公開 API 等方式從網站獲取數據。數據的內容可以是文本、視屏、圖片數據等。

爬蟲技術:Nutch、Heritrix、Scrapy、WebCollector。

設備數據采集

設備數據采集主要是指針對一些物理設備的數據采集,常見的如傳感器,探針。

三 數據傳輸

經過采集的數據通過數據通道被傳輸存儲。集中存儲的數據源的數據發生變化也能通過數據通道盡快地通知對數據敏感的相應應用或者系統構建,使得它們能夠盡快的捕獲數據的變化。

數據傳輸包含如下相關技術:消息隊列、數據同步、數據訂閱、序列化。

消息隊列

消息隊列是涉及大規模分布式系統時候經常使用的中間件產品,主要解決日志搜集,應用耦合,異步消息,流量削鋒等問題實現高性能,高可用,可伸縮和最終一致性架構。

數據同步

在數據倉庫建模中,未經任何加工處理的原始業務層數據,我們稱之為 ODS (Operational Data Store) 數據。在互聯網企業中,常見的 ODS 數據有業務日志數據(Log)和業務 DB 數據(DB)兩類。對于業務 DB 數據來說,從 MySQL 等關系型數據庫的業務數據進行采集,然后導入到數據倉庫中,是進一個重要環節。如何準確、高效地把 MySQL 數據同步到數據倉庫中?一般常用的解決方案是批量取數并 Load。數據同步解決各個數據源之間穩定高效的數據同步功能。

數據訂閱

數據訂閱功能旨在幫助用戶獲取實時增量數據,用戶能夠根據自身業務需求自由消費增量數據,例如實現緩存更新策略、業務異步解耦、異構數據源數據實時同步及含復雜 ETL 的數據實時同 步等多種業務場景。

序列化

序列化 (Serialization)是將對象的狀態信息轉換為可以存儲或傳輸的形式的過程。數據序列化用于模塊通訊時,將對象序列化為通信流,高效的傳輸到另一個模塊,并提供反序列化還原數據。對于大數據傳輸場景下序列化的性能、大小也直接影響了數據傳輸的性能。

四 數據組織集成

數據存儲

大數據存儲面向海量、異構、大規模結構化非結構化等數據提供高性能高可靠的存儲以及訪問能力,通過優化存儲優化存儲基礎設施、提供高性能。高吞吐率、大容量的數據存儲方案,解決巨大數據量的存儲問題,同時為大規模數據分析、計算、加工提供支撐。

物理存儲

隨著主機、磁盤、網絡等技術的發展,數據存儲的方式和架構也在一直不停改變。

根據服務器類型,我們將存儲的分類分為:

  • 封閉系統的存儲(封閉系統主要指大型機)
  • 開放系統的存儲(開放系統指基于 Windows、UNIX、Linux 等操作系統的服務器)

開放系統的存儲分為:

  • 內置存儲
  • 外掛存儲

外掛存儲根據連接的方式分為:

  • 直連式存儲(Direct-Attached Storage,簡稱 DAS)
  • 網絡化存儲(Fabric-Attached Storage,簡稱 FAS)

網絡化存儲根據傳輸協議又分為:

  • 網絡接入存儲(Network-Attached Storage,簡稱 NAS)
  • 存儲區域網絡(Storage Area Network,簡稱 SAN)

針對不同的應用場景,選擇的分布式存儲方案也會不同,因此有了對象存儲、塊存儲、文件系統存儲。

分布式文件/對象存儲系統

分布式存儲系統面向海量數據的存儲訪問與共享需求,提供基于多存儲節點的高性能,高可靠和可伸縮性的數據存儲和訪問能力,實現分布式存儲節點上多用戶的訪問共享。

目前業界比較流行的分布式存儲系統如下:HDFS、OpenStack Swift、Ceph、GlusterFS、Lustre、AFS、OSS。

分布式關系型數據庫

隨著傳統的數據庫技術日趨成熟、計算機網絡技術的飛速發展和應用范圍的擴大,以分布式為主要特征的數據庫系統的研究與開發受到人們的注意。關系型數據庫也是建立在關系模型基礎上的數據庫,借助于集合代數等數學概念和方法來處理數據庫中的數據。由于集中式關系型數據庫系統的不足(性能、擴展性),分布式關系型數據庫目前越來越多。

目前業界比較流行的分布式關系型數據庫如下:DRDS、TiDB、GreenPlum、Cobar、Aurora、Mycat。

分析型數據庫

分析數據庫是面向分析應用的數據庫,與傳統的數據庫不同,它可以對數據進行在線統計、數據在 線分析、隨即查詢等發掘信息數據價值的工作,是數據庫產品一個重要的分支。

目前業界比較流行的分析型數據庫如下:Kylin、AnalyticDB、Druid、Clickhouse、Vertica、MonetDB、InfiniDB、LucidDB。

搜索引擎

大數據時代,如何幫助用戶從海量信息中快速準確搜索到目標內容,就需要搜索引擎。大數據搜索引擎是一個提供分布式,高性能、高可用、可伸縮的搜索和分析系統。

目前常見的搜索引擎技術如下:Elasticsearch、Solr、OpenSearch。

圖數據庫

圖數據庫源起歐拉和圖理論,也可稱為面向/基于圖的數據庫,對應的英文是 Graph Database。圖形數據庫是 NoSQL 數據庫的一種類型,它應用圖形理論存儲實體之間的關系信息。圖形數據庫是一種非關系型數據庫,它應用圖形理論存儲實體之間的關系信息。最常見例子就是社會網絡中人與人之間的關系。圖數據庫的基本含義是以“圖”這種數據結構存儲和查詢數據,而不是存儲圖片的數據庫。它的數據模型主要是以節點和關系(邊)來體現,也可處理鍵值對。它的優點是快速解決復雜的關系問題。

目前業界比較流行的圖數據庫如下:Titan、Neo4J、ArangoDB、OrientDB、MapGraph、ALLEGROGRAPH。

列存儲數據庫

列式數據庫是以列相關存儲架構進行數據存儲的數據庫,主要適合于批量數據處理和即時查詢。相對應的是行式數據庫,數據以行相關的存儲體系架構進行空間分配,主要適合于大批量的數據處理,常用于聯機事務型數據處理。

目前業界比較流行的列存儲數據庫如下:Phoenix、Cassandra、Hbase、Kudu、Hypertable。

文檔數據庫

文檔型數據庫是 NoSQL 中非常重要的一個分支,它主要用來存儲、索引并管理面向文檔的數據或者類似的半結構化數據。

目前業界比較流行的文檔型數據庫如下:MongoDb、CouchDB、OrientDB、MarkLogic。

鍵值存儲數據庫

目前業界比較流行的鍵值存儲數據庫如下:Redis、Memcached、Tair。

數據計算

大數據計算主要完成海量數據并行處理、分析挖掘等面向業務需求。大數據計算通過將海量的數據分片,多個計算節點并行化執行,實現高性能、高可靠的數據處理,同時提供分布式任務管理和調度的支撐。針對不同的數據處理需求,主要有大規模批量處理、流式計算、圖計算、即席分析等多種計算。

流式計算(Streaming compute)

流式計算:利用分布式的思想和方法,對海量“流”式數據進行實時處理。流式計算更加強調計算數據流和低時延。這邊所謂的流數據( streaming data)是一種不斷增長的,無限的數據集。

流式計算是否等于實時計算?習慣上實時和流式等價,但其實這種觀點并不完全正確。數據的發生的時間和處理時間有可能是不一致的,只能說流式計算是一種低延遲的計算方式。

注意:本文將微批處理和流處理混在一起。

業界常見的流式計算框架:Storm、Flink、Yahoo S4、Kafka Stream、Twitter Heron、Apache Samza、Spark Streaming。

大規模批量計算(batch compute)

大規模批量計算是對存儲的靜態數據進行大規模并行批處理的計算。批量計算是一種批量、高時延、主動發起的計算。習慣上我們認為離線和批量等價,但其實是不準確的。離線計算一般是指數據處理的延遲。這里有兩方面的含義第一就是數據是有延遲的,第二是是時間處理是延遲。在數據是實時的情況下,假設一種情況:當我們擁有一個非常強大的硬件系統,可以毫秒級的處理 Gb 級別的數據,那么批量計算也可以毫秒級得到統計結果。

業界常見的大規模批量計算框架:Tez、MapReduce、Hive、Spark、Pig、大數據的編程模型 Apache Beam。

即席查詢分析 (ad-hoc query)

大數據進行即席查詢分析近兩年日益成為關注領域。即席查詢(Ad Hoc)是用戶根據自己的需求,靈活的選擇查詢條件,系統能夠根據條件快速的進行查詢分析返回結果。即席查詢和分析的計算模式兼具了良好的時效性與靈活性,是對批處理,流計算兩大計算模式有力補充。大規模批量計算解決了大數據量批處理的問題,而即席查詢分析則解決了適合商業智能分析人員的便捷交互式分析的問題。

業界常見的框架:Impala、Hawq、Dremel、Drill、Phoenix、Tajo、Presto、Hortonworks Stinger。

全量計算 & 增量計算

很多大數據的任務中,數據是一個增量收集和更新的過程,這時候對于數據的處理可以使是全量加上增量計算的方式。增量計算只對部分新增數據進行計算來極大提升計算過程的效率,可應用到數據增量或周期性更新的場合。典型例子就是搜索引擎的周期性索引更新。

相關基礎知識:Lambda 架構、Kappa 架構、IOTA 架構。

業界常見框架:Microsoft Kineograph、Galaxy、Google Percolator、Druid。

圖計算

圖計算是一類在實際應用中非常常見的計算類型。許多大數據都是以大規模圖或網絡的形式呈現,如社交網絡、傳染病傳播途徑、交通事故對路網的影響許多非圖結構的大數據,也常常會被轉換為圖模型后進行分析。圖數據結構很好地表達了數據之間的關聯性。要處理規模巨大的圖數據,傳統的單機處理方式已經無力處理,必須采用大規模機器集群構成的并行數據庫。

相關基礎知識:GAS 編程模型、BSP 模型、節點為中心編程模型、計算范型。

業界常見框架:Pregel、GraphChi、Spark GraphX、PowerGrah、Apache Giraph、Apache Hama。

分布式協調系統

大規模分布式系統中需要解決各種類型的協調需求,例如當當系統中加入一個進程或者物理機,如何自動獲取參數和配置,當進程和物理機發生改變如何通知其他進程;單主控服務發生癱瘓,如何能夠從備份中選取新的主控服務。分布式協調系統適用于大型的分布式系統,可以提供 統一命名服務、狀態同步服務、集群管理、分布式應用配置項的管理等服務。

業界常見框架:Chubby、阿里 Diamond、阿里 ConfigServer、zookeeper、Eureka、Consul。

集群資源管理和調度

資源管理調度的本質是集群、數據中心級別的資源統一管理和分配,以提高效率。其中,多租戶、彈性計算、動態分配是資源管理系統要核心解決問題。

管理調度框架:Omega、Brog、Mesos、Corona、Yarn、Torca。

管理和監控工具:Ambari、Chukwa、Hue。

工作流管理引擎

隨著企業的發展,他們的工作流程變得更加復雜,越來越多的有著錯綜復雜依賴關系的工作流需要增加監控,故障排除。如果沒有明確的血緣關系。就可能出現問責問題,對元數據的操作也可能丟失。這就是有向無環圖(DAG),數據管道和工作流管理器發揮作用的地方。

復雜的工作流程可以通過 DAG 來表示。DAG 是一種圖結構。信息必須沿特定方向在頂點間傳遞,但信息無法通過循環返回起點。DAG 的構建是數據管道,或者是一個進程的輸入成為下一個進程的輸入的順序進程。

構建這些管道可能會很棘手,但幸運的是,有幾個開源的工作流管理器可用于解決這個問題,允許程序員專注于單個任務和依賴關系。

業界常見框架:Oozie、Azkaban、Luigi、Airflow。

數據倉庫

隨著數據庫技術和管理系統的不斷發展和普及,人們已不再滿足于一般的業務處理。同時隨著數據量的不斷增大,如何能夠更好地利用數據,將數據轉化成商業價值,已經成為人們越來越關心的問題。

舉例來說,數據庫系統可以很好地解決事務處理,實現對數據的“增刪改查”等功能,但是卻不能提供很好的決策分析支持。因為事務處理首先考慮響應的及時性,多數情況都是在處理當前數據,而決策分析需要考慮的是數據的集成性和歷史性,可能對分析處理的時效性要求不高。所以為了提高決策分析的有效性和完整性,人們逐漸將一部分或者大部分數據從聯機事物處理系統中剝離出來,形成今天的數據倉庫系統。

數據挖掘

分析挖掘是通過算法從大數據紅提煉出具有價值的信息和知識的過程。以機器和算法為主導,充分發揮機器在數據分析挖掘中的效率和可靠性的優勢,提供對結構化數據以及文本、圖像、視頻和語言等非結構數據分析挖掘。數據分析挖掘包括一些通用的數據挖掘方法,也包括深度學習,機器學習,統計分析等。

數據測試

五 數據應用

大數據應用是整個大數據生命周期中最重要的一個環節之一。隨著大數據應用越來越廣泛,應用的行業也越來越低,每天都可以看到大數據的一些新奇的應用,從而幫助人們從中獲取到真正有用的價值。下面和大家介紹下大數據應用方面相關技術。

基本概念

數據服務

數據可視化

人類的眼睛是一對高帶寬巨量視覺信號輸入的并行處理器,擁有超強模式識別能力,配合超過 50% 功能用于視覺感知相關處理的大腦,使得人類通過視覺獲取數據比任何其他形式的獲取方式更好,大量視覺信息在潛意識階段就被處理完成,人類對圖像的處理速度比文本快 6 萬倍。

數據可視化正是利用人類天生技能來增強數據處理和組織效率。

數據共享

數據預警

應用部署

六 數據治理

過去的十年,我們經歷了數據量高速膨脹的時期,這些海量的、分散在不同角落的異構數據導致了數據資源的價值低、應用難度大等問題。如何將海量數據應用于決策、營銷和產品創新?如何利用大數據平臺優化產品、流程和服務?如何利用大數據更科學地制定公共政策、實現社會治理?所有這一切,都離不開大數據治理。可以說,在大數據戰略從頂層設計到底層實現的“落地”過程中,治理是基礎,技術是承載,分析是手段,應用是目的。這個時候數據治理體系建設可能不是一個選擇,而是唯一的出路。

數據治理相關概念

元數據管理

元數據 MetaData 狹義的解釋是用來描述數據的數據,廣義的來看,除了業務邏輯直接讀寫處理的那些業務數據,所有其它用來維持整個系統運轉所需的信息/數據都可以叫作元數據。比如數據表格的 Schema 信息,任務的血緣關系,用戶和腳本/任務的權限映射關系信息等等。

管理這些附加 MetaData 信息的目的,一方面是為了讓用戶能夠更高效的挖掘和使用數據,另一方面是為了讓平臺管理人員能更加有效的做好系統的維護管理工作。

數據質量

數據安全

沒有安全做保障,一切大數據應用都是空談。數據業務未來最大的挑戰就是如何安全落地。特別是隨著一些列數據安全的問題發生,對大數據的保護成為全球關注的熱點。各個企業特別是掌握了海量用戶信息的大型企業,有責任也有義務去保護數據的安全。

點擊文末“閱讀原文”,可下載完整大數據知識體系圖。


與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的收藏!一张图帮你快速建立大数据知识体系的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。