閱讀更多

4頂
0踩

企業架構

轉載新聞 常用的幾種大數據架構剖析

2018-04-12 10:37 by 副主編 jihong10102006 評論(0) 有52728人瀏覽
數據分析工作雖然隱藏在業務系統背后,但是具有非常重要的作用,數據分析的結果對決策、業務發展有著舉足輕重的作用。隨著大數據技術的發展,數據挖掘、數據探索等專有名詞曝光度越來越高,但是在類似于Hadoop系列的大數據分析系統大行其道之前,數據分析工作已經經歷了長足的發展,尤其是以BI系統為主的數據分析,已經有了非常成熟和穩定的技術方案和生態系統,對于BI系統來說,大概的架構圖如下:

可以看到在BI系統里面,核心的模塊是Cube,Cube是一個更高層的業務模型抽象,在Cube之上可以進行多種操作,例如上鉆、下鉆、切片等操作。大部分BI系統都基于關系型數據庫,關系型數據庫使用SQL語句進行操作,但是SQL在多維操作和分析的表示能力上相對較弱,所以Cube有自己獨有的查詢語言MDX,MDX表達式具有更強的多維表現能力,所以以Cube為核心的分析系統基本占據著數據統計分析的半壁江山,大多數的數據庫服務廠商直接提供了BI套裝軟件服務,輕易便可搭建出一套Olap分析系統。不過BI的問題也隨著時間的推移逐漸顯露出來:
  • BI系統更多的以分析業務數據產生的密度高、價值高的結構化數據為主,對于非結構化和半結構化數據的處理非常乏力,例如圖片,文本,音頻的存儲,分析。
  • 由于數據倉庫為結構化存儲,在數據從其他系統進入數據倉庫這個東西,我們通常叫做ETL過程,ETL動作和業務進行了強綁定,通常需要一個專門的ETL團隊去和業務做銜接,決定如何進行數據的清洗和轉換。
  • 隨著異構數據源的增加,例如如果存在視頻,文本,圖片等數據源,要解析數據內容進入數據倉庫,則需要非常復雜等ETL程序,從而導致ETL變得過于龐大和臃腫。
  • 當數據量過大的時候,性能會成為瓶頸,在TB/PB級別的數據量上表現出明顯的吃力。
  • 數據庫的范式等約束規則,著力于解決數據冗余的問題,是為了保障數據的一致性,但是對于數據倉庫來說,我們并不需要對數據做修改和一致性的保障,原則上來說數據倉庫的原始數據都是只讀的,所以這些約束反而會成為影響性能的因素。
  • ETL動作對數據的預先假設和處理,導致機器學習部分獲取到的數據為假設后的數據,因此效果不理想。例如如果需要使用數據倉庫進行異常數據的挖掘,則在數據入庫經過ETL的時候就需要明確定義需要提取的特征數據,否則無法結構化入庫,然而大多數情況是需要基于異構數據才能提取出特征。
在一系列的問題下,以Hadoop體系為首的大數據分析平臺逐漸表現出優異性,圍繞Hadoop體系的生態圈也不斷的變大,對于Hadoop系統來說,從根本上解決了傳統數據倉庫的瓶頸的問題,但是也帶來一系列的問題:
  • 從數據倉庫升級到大數據架構,是不具備平滑演進的,基本等于推翻重做。
  • 大數據下的分布式存儲強調數據的只讀性質,所以類似于Hive,HDFS這些存儲方式都不支持update,HDFS的write操作也不支持并行,這些特性導致其具有一定的局限性。
基于大數據架構的數據分析平臺側重于從以下幾個維度去解決傳統數據倉庫做數據分析面臨的瓶頸:
  • 分布式計算:分布式計算的思路是讓多個節點并行計算,并且強調數據本地性,盡可能的減少數據的傳輸,例如Spark通過RDD的形式來表現數據的計算邏輯,可以在RDD上做一系列的優化,來減少數據的傳輸。
  • 分布式存儲:所謂的分布式存儲,指的是將一個大文件拆成N份,每一份獨立的放到一臺機器上,這里就涉及到文件的副本,分片,以及管理等操作,分布式存儲主要優化的動作都在這一塊。
  • 檢索和存儲的結合:在早期的大數據組件中,存儲和計算相對比較單一,但是目前更多的方向是在存儲上做更多的手腳,讓查詢和計算更加高效,對于計算來說高效不外乎就是查找數據快,讀取數據快,所以目前的存儲不單單的存儲數據內容,同時會添加很多元信息,例如索引信息。像類似于parquet和carbondata都是這樣的思想。
總的來說,目前圍繞Hadoop體系的大數據架構大概有以下幾種:

傳統大數據架構

?之所以叫傳統大數據架構,是因為其定位是為了解決傳統BI的問題,簡單來說,數據分析的業務沒有發生任何變化,但是因為數據量、性能等問題導致系統無法正常使用,需要進行升級改造,那么此類架構便是為了解決這個問題。可以看到,其依然保留了ETL的動作,將數據經過ETL動作進入數據存儲。

優點:簡單,易懂,對于BI系統來說,基本思想沒有發生變化,變化的僅僅是技術選型,用大數據架構替換掉BI的組件。

缺點:對于大數據來說,沒有BI下如此完備的Cube架構,雖然目前有kylin,但是kylin的局限性非常明顯,遠遠沒有BI下的Cube的靈活度和穩定度,因此對業務支撐的靈活度不夠,所以對于存在大量報表,或者復雜的鉆取的場景,需要太多的手工定制化,同時該架構依舊以批處理為主,缺乏實時的支撐。

適用場景:數據分析需求依舊以BI場景為主,但是因為數據量、性能等問題無法滿足日常使用。

流式架構

在傳統大數據架構的基礎上,流式架構非常激進,直接拔掉了批處理,數據全程以流的形式處理,所以在數據接入端沒有了ETL,轉而替換為數據通道。經過流處理加工后的數據,以消息的形式直接推送給了消費者。雖然有一個存儲部分,但是該存儲更多的以窗口的形式進行存儲,所以該存儲并非發生在數據湖,而是在外圍系統。

優點:沒有臃腫的ETL過程,數據的實效性非常高。

缺點:對于流式架構來說,不存在批處理,因此對于數據的重播和歷史統計無法很好的支撐。對于離線分析僅僅支撐窗口之內的分析。

適用場景:預警,監控,對數據有有效期要求的情況。

Lambda架構

Lambda架構算是大數據系統里面舉足輕重的架構,大多數架構基本都是Lambda架構或者基于其變種的架構。Lambda的數據通道分為兩條分支:實時流和離線。實時流依照流式架構,保障了其實時性,而離線則以批處理方式為主,保障了最終一致性。什么意思呢?流式通道處理為保障實效性更多的以增量計算為主輔助參考,而批處理層則對數據進行全量運算,保障其最終的一致性,因此Lambda最外層有一個實時層和離線層合并的動作,此動作是Lambda里非常重要的一個動作,大概的合并思路如下:

優點:既有實時又有離線,對于數據分析場景涵蓋的非常到位。

缺點:離線層和實時流雖然面臨的場景不相同,但是其內部處理的邏輯卻是相同,因此有大量榮譽和重復的模塊存在。

適用場景:同時存在實時和離線需求的情況。

Kappa架構

? Kappa架構在Lambda 的基礎上進行了優化,將實時和流部分進行了合并,將數據通道以消息隊列進行替代。因此對于Kappa架構來說,依舊以流處理為主,但是數據卻在數據湖層面進行了存儲,當需要進行離線分析或者再次計算的時候,則將數據湖的數據再次經過消息隊列重播一次則可。

優點:Kappa架構解決了Lambda架構里面的冗余部分,以數據可重播的超凡脫俗的思想進行了設計,整個架構非常簡潔。

缺點:雖然Kappa架構看起來簡潔,但是施難度相對較高,尤其是對于數據重播部分。

適用場景:和Lambda類似,改架構是針對Lambda的優化。

Unifield架構

?以上的種種架構都圍繞海量數據處理為主,Unifield架構則更激進,將機器學習和數據處理揉為一體,從核心上來說,Unifield依舊以Lambda為主,不過對其進行了改造,在流處理層新增了機器學習層。可以看到數據在經過數據通道進入數據湖后,新增了模型訓練部分,并且將其在流式層進行使用。同時流式層不單使用模型,也包含著對模型的持續訓練。

優點:Unifield架構提供了一套數據分析和機器學習結合的架構方案,非常好的解決了機器學習如何與數據平臺進行結合的問題。

缺點:Unifield架構實施復雜度更高,對于機器學習架構來說,從軟件包到硬件部署都和數據分析平臺有著非常大的差別,因此在實施過程中的難度系數更高。

適用場景:有著大量數據需要分析,同時對機器學習方便又有著非常大的需求或者有規劃。

總結

以上幾種架構為目前數據處理領域使用比較多的幾種架構,當然還有非常多其他架構,不過其思想都會或多或少的類似。數據領域和機器學習領域會持續發展,以上幾種思想或許終究也會變得過時。
  • 大小: 81.5 KB
  • 大小: 43.9 KB
  • 大小: 42 KB
  • 大小: 57.2 KB
  • 大小: 189.1 KB
  • 大小: 52.6 KB
  • 大小: 65 KB
來自: 白發川
4
0
評論 共 0 條 請登錄后發表評論

發表評論

您還沒有登錄,請您登錄后再發表評論

相關推薦

  • 常用的幾種大數據架構剖析

    數據分析工作雖然隱藏在業務系統背后,但是具有非常重要的作用,數據分析的結果對決策、業務發展有著舉足輕重的作用。隨著大數據技術的發展,數據挖掘、數據探索等專有名詞曝光度越來越高,但是在類似于Hadoop系列的大數據分析系統大行其道之前,數據分析工作已經經歷了長足的發展,尤其是以BI系統為主的數據分析,已經有了非常成熟和穩定的技術方案和生態系統,對于BI系統來說,大概的架構圖如下:可以看到在BI系統里

  • 這5種必知的大數據處理框架技術,你的項目到底應該使用其中的哪幾種

    數據是收集、整理、處理大容量數據集,并從中獲得見解所需的非傳統戰略和技術的總稱。雖然處理數據所需的計算能力或存儲容量早已超過一臺計算機的上限,但這種計算類型的普遍性、規模,以及價值在最近幾年才經歷了大規模擴展。 本文將介紹大數據系統一個最基本的組件:處理框架。處理框架負責對系統中的數據進行計算,例如處理從非易失存儲中讀取的數據,或處理剛剛攝入到系統中的數據數據的計算則是指從

  • 對比解讀五種主流大數據架構數據分析能力

    ? ? 數據分析工作雖然隱藏在業務系統背后,但是具有非常重要的作用,數據分析的結果對決策、對業務發展有著舉足輕重的作用。 隨著大數據技術的發展,數據挖掘、數據探索等專有名詞的曝光度越來越高,但是在類似于Hadoop系列的大數據分析系統大行其道之前,數據分析工作已經歷了長足的發展,尤其是以BI系統為主的數據分析,已經有了非常成熟和穩定的技術方案和生態系統,對于BI系統來說,大概的架構圖如下:

  • 深度解密 5 類大數據架構及實現

    前幾天讀到白發川的一篇文章《對比解讀五種主流大數據架構數據分析能力》,文中詳細總結了各類數據架構的應用以及原理。作為一名在數據倉庫耕耘多年的技術人員,對于其中的一些技術細節還是破解興趣的,所以隨著作者的思路寫下了我對主流數據架構的理解(如無特殊說明,以下涉及到這篇文章一律用《主流大數據架構》來代替)。 作者的原文地址如下: https://mp.weixin.qq.com/s?__biz=MzI

  • Lambda架構已死,去ETL化的IOTA才是未來

    ?2018-04-11?郭煒?Analysys易觀? ?原文:https://mp.weixin.qq.com/s/G08jCKZ4J2BZTuCpqKKS9g經過這么多年的發展,已經從大數據1.0的BI/Datawarehouse時代,經過大數據2.0的Web/APP過渡,進入到了IOT的大數據3.0時代,而隨之而來的是數據架構的變化。?▌Lambda架構?在過去Lambda數據架構成為每一個公

  • 數據架構流程

    數據處理分為三大類:? 第一類是從業務的角度,細分為查詢檢索、數據挖掘、統計分析、深度分析,其中深度分析分為機器學習和神經網絡。 第二類是從技術的角度,細分為Batch、SQL、流式處理、machine learning、Deep learning。 第三類是編程模型,細分為離線編程模型、內存編程模型、實時編程模型。 結合前文講述的數據源特點、分類、采集方式、存儲選型、數據分析、數...

  • 數據架構流程解析

    美團的技術架構圖 flume 可以采集文件,socket數據包等各種形式源數據,又可以將采集到的數據輸出到HDFS、hbase、hive、kafka隊列等眾多外部存儲系統中,一般的采集需求,通過對flume的簡單配置即可實現,Flume針對特殊場景也具備良好的自定義擴展能力,因此,flume可以適用于大部分的日常數據采集場景 sqoop sqoop是apache旗下一款“Hadoo

  • 五個頂級的大數據架構

      五個頂級的大數據架構   自從像AWS這樣的公共云產品開辟了大數據分析功能以來,小企業通過挖掘大量的數據做到只有大企業才能做到的事情,至今大約有10年時間。這些事情其中包括網絡日志、客戶購買記錄等,并通過按使需付費的方式提供低成本的商品集群。在這十年中,這些產品蓬勃發展,涵蓋了從實時(亞秒級延遲)流媒體式分析到用于分析批量模式工作的企業數據倉庫,而企業數據倉庫則可能需要數天或數周才能完成。  

  • 面試中的這些點,你get了嗎?

    一、前言 因為疫情的原因,小農從七月份開始找工作,到現在已經工作了一個多月了,剛開始找工作的時候,小農也擔心出去面試技能不夠,要懂的東西很多,自己也準備可能會面試一段時間,從找工作到入職花了十幾天,總共拿到了5份office,然后選擇了一家去入職了,因為項目需要上線了,所以小農最近一直在加班,平時會比較忙一點,剛好周末想著把這段時間的經歷寫出來,希望對找工作或者剛入職的同學,能有一點點的幫助吧 二、面試前的準備 磨刀不費砍材功,對于想要找工作的小伙伴們,面試前的準備肯定是少不了的,至于多久開始準備,如果.

  • Xmind破解版

    XMind 是一款非常實用的商業思維導圖軟件,應用全球最先進的Eclipse RCP 軟件架構,全力打造易用、高效的可視化思維軟件,強調軟件的可擴展、跨平臺、穩定性和性能,致力于使用先進的軟件技術幫助

  • Python數據清洗實戰入門

    本次課程主要以真實的電商數據為基礎,通過Python詳細的介紹了數據分析中的數據清洗階段各種技巧和方法。

  • 智鼎(附答案).zip

    并不是完整題庫,但是有智鼎在線2019年9、10、11三個月的試題,有十七套以上題目,普通的網申行測題足以對付,可以在做題時自己總結一些規律,都不是很難

  • 18款表白網頁源代碼(表白)

    18款表白網頁源代碼(表白),集合了經典款和合并3連款,直接可以發布到網站,來進行表白!!

  • [記錄十一] Vue(全家桶)+node+koa2+mysql+nginx+redis,博客全棧項目之nginx反向代理和vue前端api

    導語: 暑假在家閑著無事,就琢磨著做一個web博客練練手,現在已經做完了,把過程分享出來給大家看看,分享一下學習經驗。這是第十一篇,開始配置nginx反向代理和vue前端api編寫。 微信搜索 【web小館】,回復 ”全棧博客項目“,即可獲取 項目源碼和后續的實戰文章教程。 本文的目錄一,前后端分離跨域解決,nginx反向代理。1,安裝配置2,原理二,編寫前端api1,user.js2,home.js3,article.js 一,前后端分離跨域解決,nginx反向代理。 1,安裝配置 現在我們已經把前端

  • 切木板B.pdf

    五一數學建模比賽B題完整解法及論文。

  • Xshell6完美破解版,親測可用

    Xshell6破解版,親測可用,分享給大家。直接解壓即可使用

  • 三國殺武將張昌蒲技能計算器

    三國殺鐘媽算牌器。 為數學是體育老師教的殺友量身打造。 一鍵計算,多種組合,最大化收益。

  • 【答學員問】你們從培訓機構畢業后都找到什么工作?

    問題 知乎有人提問: 北大青鳥,火星時代,前鋒,達內,黑馬培訓過的學員能不能出來說說你們都找到了什么工作? 為什么那么多人說培訓機構不好? 先說結論: 無論哪個培訓機構,在畢業的時候都有至少80%以上找到了工作,有的班甚至百分百就業,而且薪資還很高。 [1] 銘記一個原理: 學習,工作和面試是三件不同的事情 培訓機構深知這一原理,或者他們一直在用這個原理,卻不自知。 我舉個例子: 小A在一個小區住了3年,小B昨天剛到這個小區。 小B來了之后就收集了小區各種資料,比如入住率是多少,哪一戶有人,哪一戶沒人,

  • 實用主義學Python(小白也容易上手的Python實用案例)

    3折秒殺! 系統掌握Python核心語法16點,輕松應對工作中80%以上的Python使用場景! 69元=72講+源碼+社群答疑+講師社群分享會  【哪些人適合學習這門課程?】 1)大學生,平時只學習了Python理論,并未接觸Python實戰問題; 2)對Python實用技能掌握薄弱的人,自動化、爬蟲、數據分析能讓你快速提高工作效率; 3)想學習新技術,如:人工智能、機器學習、深度學習等,這門課程是你的必修課程; 4)想修煉更好的編程內功,優秀的工程師肯定不能只會一門語言,Python語言功能強大、使用高效、簡單易學。 【超實用技能】 從零開始 自動生成工作周報 職場升級 豆瓣電影數據爬取 實用案例 奧運冠軍數據分析 自動化辦公:通過Python自動化分析Excel數據并自動操作Word文檔,最終獲得一份基于Excel表格的數據分析報告。 豆瓣電影爬蟲:通過Python自動爬取豆瓣電影信息并將電影圖片保存到本地。 奧運會數據分析實戰 簡介:通過Python分析120年間奧運會的數據,從不同角度入手分析,從而得出一些有趣的結論。 【超人氣老師】 二兩 中國人工智能協會高級會員 生成對抗神經網絡研究者 《深入淺出生成對抗網絡:原理剖析與TensorFlow實現》一書作者 阿里云大學云學院導師 前大型游戲公司后端工程師 【超豐富實用案例】 0)圖片背景去除案例 1)自動生成工作周報案例 2)豆瓣電影數據爬取案例 3)奧運會數據分析案例 4)自動處理郵件案例 5)github信息爬取/更新提醒案例 6)B站百大UP信息爬取與分析案例 7)構建自己的論文網站案例

  • 軟件測試2小時入門

    本課程內容系統、全面、簡潔、通俗易懂,通過2個多小時的介紹,讓大家對軟件測試有個系統的理解和認識,具備基本的軟件測試理論基礎。 主要內容分為5個部分: 1 軟件測試概述,了解測試是什么、測試的對象、原則、流程、方法、模型;  2.常用的黑盒測試用例設計方法及示例演示;  3 常用白盒測試用例設計方法及示例演示;  4.自動化測試優缺點、使用范圍及示例‘;  5.測試經驗談。

Global site tag (gtag.js) - Google Analytics 开心农场种蔬菜赚钱 陕西快乐10分走势图统计报表 广西快3间隔值统计表 好运彩 够力七星彩解梦 福建十一选五开奖信息 北京11选5一定牛走势图 福建快三玩法 华东i5选5带坐标走势图 大盘上证指数股吧 快乐双彩今晚开奖结果双色球 博彩网站推广 pc蛋蛋一样 2008年上证指数 快乐双彩走势图 学生炒股开户 今晚广东大乐透开奖结果