1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        騰訊大數(shù)據(jù)總體架構(gòu)圖,首次對外公開!

        共 5406字,需瀏覽 11分鐘

         ·

        2022-08-18 20:53

        在公眾號后臺回復(fù): JGNB ,可獲取杰哥原創(chuàng)的 PDF 手冊。 「數(shù)倉寶貝庫」,帶你學(xué)數(shù)據(jù)!

        導(dǎo)讀: 騰訊作為國內(nèi)體量最大的互聯(lián)網(wǎng)公司之一,業(yè)務(wù)涵蓋用戶日常生活的方方面面,面對 如此巨大 業(yè)務(wù)數(shù)據(jù)量,如果不能對數(shù)據(jù)進行專業(yè)化處理并高效有序地存、管、用,如果不能使數(shù)據(jù)產(chǎn)生應(yīng)有的價值,那么數(shù)據(jù)資產(chǎn)將會成為數(shù)據(jù)垃圾,成為社會和企業(yè)的負擔(dān)。


        大數(shù)據(jù)平臺作為騰訊底層的基礎(chǔ)設(shè)施之一,每天必須處理千萬級規(guī)模的離線數(shù)據(jù)任務(wù)及十萬億級別的實時計算,否則無法滿足業(yè)務(wù)每天數(shù)以億計的數(shù)據(jù)分析計算的需求。


        本文主 要介紹騰訊大數(shù)據(jù)的構(gòu)建理念和總體架構(gòu)。



        01 騰訊大數(shù)據(jù)的構(gòu)建理念


        項目立項的時候我們曾有過激烈討論,是自主研發(fā)還是使用開源,“To be, or not to be: that is the question”。當時業(yè)務(wù)需求比較迫切,2009年上半年,QQ空間引入了“開心農(nóng)場”業(yè)務(wù),開啟了瘋狂增長的模式,業(yè)務(wù)部門的同事看著幾乎是垂直的增長曲線笑逐顏開,我們看著曲線卻笑不出來。如何能快速構(gòu)建全新的數(shù)據(jù)倉庫,滿足業(yè)務(wù)快速增長的計算需求,我們在努力尋找答案。


        在2008~2009年,開源在國內(nèi)還沒大行其道,很多程序員都有一種偏見,覺得使用開源都是沒什么技術(shù)含量的。幾乎所有的程序員心里都有一個夢想和追求,希望能自己實現(xiàn)一套頂尖的系統(tǒng),從而在中國乃至世界的軟件行業(yè)揚名立萬。但是盤點了業(yè)務(wù)的需求以及對比了那時候團隊能力和所能調(diào)配的人力之后,我們發(fā)現(xiàn)實現(xiàn)這么一套系統(tǒng),無異于登天。完全自主研發(fā)新一代的數(shù)據(jù)倉庫是難以攀爬的珠峰。


        此路不通,只能改走開源路線。其實開源有很多好處,它有著豐富的社區(qū)資源和社區(qū)生態(tài),有著龐大的各路代碼貢獻者,使用開源的系統(tǒng),相當于利用了全世界的資源,利用了全世界的程序員的智慧。使用開源項目,能快速搭建適應(yīng)業(yè)務(wù)需求的平臺。


        但開源對于我們來說也并不容易。首先,技術(shù)棧不一樣,我們原來是C/C++技術(shù)棧,是做計費系統(tǒng)的,而大數(shù)據(jù)開源基本以Java為主,需要從頭去學(xué),幸好語言的差異并不是很難克服,我們邊學(xué)習(xí)邊招聘有大數(shù)據(jù)經(jīng)驗的開發(fā)者,慢慢地做了起來;另外,大數(shù)據(jù)生態(tài)是很龐大的,每一個項目都不足以達到企業(yè)級的需求,每一個項目都要進行大量的優(yōu)化,才能符合我們可用性方面的需求。


        從最初的蹣跚學(xué)步到現(xiàn)在,騰訊大數(shù)據(jù)走過了十余年,歷經(jīng)三代技術(shù)演進。 第一代是 “拿來主義” ,拿來就用,但部分系統(tǒng)比如HDFS(Hadoop Distributed File System, Hadoop分布式文件系統(tǒng))、Hive等因為性能、功能不能滿足需求,我們對核心模塊進行了定制化的優(yōu)化; 第二代是 有限自主研發(fā)的階段 ,我們對部分核心平臺進行參考性的自主研發(fā),重構(gòu)實時采集系統(tǒng),同時對底層實時計算引擎Storm使用Java進行重寫等;第三代是純自主研發(fā)的階段, 第三代的核心平臺—高性能分布式機器學(xué)習(xí)平臺Angel ,是騰訊和北大等高校聯(lián)合研發(fā),具有完全知識產(chǎn)權(quán)。


        我們一直是開源的受益者,從Hadoop到Spark到Storm……我們的發(fā)展離不開社區(qū),我們?nèi)跣〉臅r候依賴開源社區(qū),我們成長后又積極回饋社區(qū)。其實早在2014年,我們就把騰訊自己的Hive版本進行開源,它對Oracle語法兼容等特性廣受歡迎。我們第三代最核心的高性能分布式機器學(xué)習(xí)平臺Angel在2017年就開源了,2018年還進一步捐獻給Linux基金會。2019年,我們一口氣開源了四大平臺:實時數(shù)據(jù)采集平臺TubeMQ(捐獻給Apache社區(qū))、資源管理平臺TKEStack、分布式數(shù)據(jù)庫TBase以及騰訊版本的OpenJDK—Kona JDK。我們有幾十個項目的PMC和提交者及更大量的貢獻者,每天都為社區(qū)貢獻代碼。


        通過開源進行技術(shù)上的協(xié)同,可聚攏人才,一個好的項目能吸引很多優(yōu)秀的開發(fā)者,有利于形成一個優(yōu)良的技術(shù)生態(tài),有利于推動技術(shù)進步。這也是我們選擇開源的原因。


        來自開源、回饋開源、堅持開源,這可以說是騰訊大數(shù)據(jù)平臺十年發(fā)展的技術(shù)理 念。另外一個技術(shù)理念是: 一切要為業(yè)務(wù)所用 。


        我們固執(zhí)地認為,技術(shù)如果不能為業(yè)務(wù)所用,那它就是毫無價值的。我們自主研發(fā)的Angel項目,出發(fā)點也是因為當時開源社區(qū)里面沒有符合我們業(yè)務(wù)需求的機器學(xué)習(xí)平臺,自主研發(fā)是因為對業(yè)務(wù)有價值,而不是因為它在技術(shù)上很有挑戰(zhàn)性以及我們要證明自己技術(shù)很牛。Angel自2017年開源后有超過一百多個公司和組織使用,包括華為、小米、OPPO、新浪微博、拼多多等,發(fā)揮了Angel在騰訊以外的價值。



        02 騰訊大數(shù)據(jù)的總體架構(gòu)


        如前所述,騰訊大數(shù)據(jù)十余年的發(fā)展,經(jīng)歷了三代的技術(shù)演變,如圖1所示。

        d5f00edfa03b99d09dab672350232d31.webp

        ▲圖1 騰訊大數(shù)據(jù)三代技術(shù)演變


        第一代架構(gòu)從2009~2011年,以承載離線計算任務(wù)為主 ,如圖2所示。


        TDW主要以Hadoop為基礎(chǔ)構(gòu)建,我們主要做了兩方面的優(yōu)化: 其一擴大了集群規(guī) 模,包括增強了集群拓展性,優(yōu)化了調(diào)度性能,增強了容災(zāi)能力,通過差異化存儲降低了存儲成本; 其二是利用周邊生態(tài)降低應(yīng)用門檻 ,建設(shè)配套的調(diào)度與開發(fā)平臺,兼容Oracle的語法,以及集成PostgreSQL數(shù)據(jù)庫以提升小數(shù)據(jù)量的分析性能。第一代平臺總結(jié)起來就是,技術(shù)上主要滿足離線計算需求,技術(shù)挑戰(zhàn)主要在不斷擴展和優(yōu)化集群規(guī)模,單集群規(guī)模從幾十臺到幾百臺,再到幾千臺不斷突破。


        2462ce170243d06dde97a415bcc5ac24.webp

        圖2 第一代離線計算平臺架構(gòu)


        第二代架構(gòu)從2012~2014年,在承載離線計算的基礎(chǔ)上,擴展了平臺能力,支持實時計算的需求 ,如圖3所示。

        6b6fe657fe5a57808a2ce1a7fc354fd5.webp

        圖3 第二代實時計算平臺架構(gòu)


        在第一代離線計算平臺基礎(chǔ)之上,我們?nèi)诤蟂torm和Spark構(gòu)建了第二代實時計算平臺。主要的演進如下。

        1) 集成Spark ,離線計算比Hadoop性能更高。

        2) 引入Storm ,支持秒級/毫秒級的流式計算任務(wù)。

        3) 建設(shè)了實時采集系統(tǒng)TDBank ,數(shù)據(jù)采集實現(xiàn)從天級(T+1)到秒級的飛躍。

        4) 支持資源和任務(wù)調(diào)度方面 ,平臺支持離線與在線混合部署,任務(wù)容器化,資源管理的維度支持CPU、內(nèi)存,以及網(wǎng)絡(luò)與I/O,進一步提升了平臺輕量化、敏捷性與靈活性,極大提升了平臺利用率,降低了成本。


        第三代架構(gòu)從2015~2019年,在通用大數(shù)據(jù)計算外,開始支持機器學(xué)習(xí)、深度學(xué)習(xí)等AI場景,Big Data與AI在平臺層面逐步融合 ,如圖4所示。


        e319ab381217ad05d882310f5f5e9027.webp

        圖4 第三代機器學(xué)習(xí)計算平臺


        在第二代實時計算平臺基礎(chǔ)上,自主研發(fā)了機器學(xué)習(xí)平臺Angel,并以Angel為核心構(gòu)建第三代機器學(xué)習(xí)計算平臺生態(tài)。主要演進如下。


        1)我們與北京大學(xué)合作, 自主研發(fā)了高性能分布式機器學(xué)習(xí)平臺 。該平臺支持十億至百億維度模型,支持數(shù)據(jù)并行及模型并行,支持在線訓(xùn)練。同時,它除了支持傳統(tǒng)的機器學(xué)習(xí)之外,還擴展支持深度學(xué)習(xí)、圖計算等功能,具有全棧的AI能力。它具有友好的編程接口、豐富的算法庫,并在上層構(gòu)建了一站式開發(fā)運營環(huán)境,支持業(yè)界多種流行計算框架。Angel于2017年6月全面開源,2018年捐獻給Linux基金會,2019年12月20日從Linux基金會旗下AI領(lǐng)域頂級基金會—LF AI基金會(Linux Foundation Artificial Intelligence Foundation)正式畢業(yè),成為中國首個從LF AI基金會畢業(yè)的開源項目,意味著Angel得到全球技術(shù)專家的認可,成為世界頂級的AI開源項目之一。


        2) 資源管理層面,除了CPU,還支持GPU、FPGA等異構(gòu)設(shè)備 。我們是國內(nèi)比較早實現(xiàn)GPU虛擬化且技術(shù)比較領(lǐng)先的(見我們在IEEE ISPA2018發(fā)布的論文“GaiaGPU: Sharing GPUs in Container Clouds”)。


        3) 大數(shù)據(jù)與數(shù)據(jù)庫緊密結(jié)合 ,使用基于PostgreSQL的分布式數(shù)據(jù)庫PGXZ(后改名為TBase,并于2019年對外開源),支持HTAP(Hybrid Transaction and Analytical Processing,混合事務(wù)和分析處理),使得TDW更好地支持OLTP(On-Line Transaction Processing,聯(lián)機事務(wù)處理過程)的計算。


        截至2019年,騰訊大數(shù)據(jù)走過十年,并且還在不斷演進中,我們正在探尋下一代計算平臺之路,我們在探索批流融合,我們在探索云原生大數(shù)據(jù),我們也在嘗試AI、大數(shù)據(jù)及云計算結(jié)合和軟硬件結(jié)合,我們還在研究數(shù)據(jù)湖和隱私計算等前沿技術(shù)……大數(shù)據(jù)、人工智能和云計算,正在成為支撐業(yè)務(wù)發(fā)展的基礎(chǔ)設(shè)施,下一代,會更精彩。


        本文摘編 《騰訊大數(shù)據(jù)構(gòu)建之道》,經(jīng)出版方授權(quán)發(fā)布。(書號:9787111710769)轉(zhuǎn)載請保留文章來源。


        推薦語 :騰訊官方出品!騰訊大數(shù)據(jù)構(gòu)建之道首次對外披露!騰訊大數(shù)據(jù)平臺十年磨一劍,踐行“科技向善”落地方案。

        推薦閱讀:

        MySQL 高級 | 用存儲過程、定時器、觸發(fā)器來解決數(shù)據(jù)分析問題


        建議收藏!Python 讀取千萬級數(shù)據(jù)自動寫入 MySQL 數(shù)據(jù)庫


        用 Python 批量提取 PDF 的表格數(shù)據(jù),保存為 Excel


        Spark查詢太慢?試試這款MPP數(shù)據(jù)庫吧!


        我擦,數(shù)據(jù)被我給刪沒了。

        b6009bc3eeaa4bc8f45069b84215030d.webp

        瀏覽 102
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            日日夜夜拍 | www色色网 | ktv偷拍视频一区二区 | 中文字幕第七页 | 爆操小骚逼视频 | 欧美熟妇在线观看 | 91免费精品视频 | 婷婷五月免费视频 | 又爽 又黄 免费网站97动漫 | A片视频免费 |