本次名人堂專訪,我們有幸邀請到了來自阿里數據技術與產品部的墨冶(本名陳敏敏),他在阿里主要支持和負責零售通的數據業務,同時橫向負責集團五條To B業務線的數據技術,包含采集、計算、存儲一直到數據展示端的技術。墨冶老師參與撰寫和翻譯了《Storm技術內幕與大數據實踐》、《軟件設計之道》和《HBase應用架構》等書籍,曾擔任過多個全國、全球性IT技術會議中架構或大數據專場的出品人,也曾在一些500強企業先后就任過工程師、架構師、總監、公共數據部門的技術總負責人。
墨冶老師在大數據領域擁有豐富的閱歷與見識,也有深厚的實踐經驗。所以這次我們談論大數據的“星空”和“土地”,他無疑是最適合的人選之一。
大數據“星圖”繪制未半
今天,全球范圍內的數據量呈現出井噴式的增長,大數據技術在很多企業的業務場景中都有非常普遍的應用,也因此涌現出了很多的開源技術和工具。如此繁榮的業態容易給人造成一種整個大數據行業已經完全成熟的錯覺,其實不然,墨冶老師認為從數據量和數據類型上看,大數據還處于上半場。這片星空的星圖有待進一步完善。
“目前僅IOT的數據量全社會就有1.1萬億T,但大量的半結構和非結構化數據還未采集,隨著傳感器價格越來越便宜,物聯網的普及,5G的全面商用,數據應當會暴增。”
除了數據井噴現象仍將持續進行且愈演愈烈外,墨冶老師認為,實時計算框架、數據倉庫等技術也將不斷進化,未來幾年我們可能會看到以下三個重大變化:
1、半結構化\非結構的數據湖會逐步成熟。 在Google Trends上,Data Lake熱度已經超過Data Warehouse。支撐數據湖的幾個開源框架的社區也比較活躍,如Apache Atlas已經發布1.0.0版。佛羅斯特研究公司甚至認為數據湖最終會進化成Data Fabric,未來各種數據源會更加自動化、智能化、安全的采集到一個平臺,在統一平臺里提供可信的、360°視角的客戶和商業數據。
2、流和批處理技術統一開發模式。 Spark和Flink等實時計算框架,不僅上層的功能相互借鑒,從最近來看,架構設計上也相互參考,比如micro batch模式的Spark,規模提升后性能會存在一定問題,所以當前Spark也在開發類似Flink的Continuous Processing Mode。
3、ETL會更方便。 目前僅僅用SQL和UDF仍存在不少限制,如缺少關鍵的繼承、不支持遞歸等,隨著一些云廠商推出可視化數據清洗工具,以及處理語音、圖像、視頻的數據湖逐步完善,以后ETL更加可視化,很多甚至可以通過拖拽完成。
在這樣一個技術發展背景下,開源社區的力量是不容忽視的。墨冶老師認為,好的開源項目最好有一家對應的商業化公司,開發相應解決方案,完善外圍功能,幫助開源項目實現商業化,這樣對項目本身的發展會更加良性。同時,墨冶老師特別提到了上層功能標準化的重要性,特別是對于很多新技術,行業標準化會減少很多不必要的麻煩與成本。
“從編程語言的發展史來看,工具和平臺最終都會朝著降低大家理解世界的成本的方向發展,數據和智能應用的開發會越來越方便,門檻會越來越低,解放出更多的人從商業和業務角度思考問題。”墨冶表示。
在大數據之路上站穩扶好
很多企業都在開始搭建自己的大數據平臺,這既是時代趨勢使然,也是業務場景需要。但大數據平臺從技術選型、搭建到落地,整個過程一定是困難重重的。
設計大數據平臺時,墨冶老師建議,首先要考慮預算和交付周期。若預算緊、交付周期短,且團隊還不具備提交Patch或者二次開發的條件,那么可以先選擇部分組件用商業化;其次要評估應用場景的復雜度和數據量,以及保障要求的性能、容錯等非功能性需求,這些可以分幾個階段建設;最后是根據平臺如何設定配套管理流程、制度、規范等。
·常見的挑戰
確實,很多團隊在平臺建設初期會先選擇部分工具使用商用產品,等后期再根據業務需求將其替換到開源軟件,這的確是一個不錯的方式。但這樣一來,在后期進行過渡時,應用遷移將成為一個不小的挑戰。
再者,對于部分業務場景,現有的開源項目無法支撐。而且部分功能有時需要對正在使用中的開源項目進行二次開發,這可能會對平臺造成“傷筋動骨”般的影響,產生較大的麻煩。最后還應注意的問題是,數據存儲和處理分散、煙囪式數據開發,可能導致后期各個部門數據口徑不統一、維護成本高。
·如何應對
“業務發展到一定階段,老的報表平臺上指標口徑繁多,數據經常對不上,維護成本越來越高,問題逐步暴露了出來。”針對這些典型的問題與挑戰,墨冶老師以個人經驗為例,分享了一些應對辦法:
第一,自研自己的自主分析平臺和統一指標平臺,再結合OLAP的優缺點,選型Druid等OLAP做加速,方便自主分析和報表查詢。
第二,梳理各BU的指標,提取出公共的原子指標、衍生指標等,錄入統一指標平臺,統一指標口徑和指標服務。
第三,遷移工作中,自主分析平臺可以直接接入ETL加工后的表,也可以接入統一指標平臺,不用一套標準限制死,否則遷移工作會耗時很長,可以在過程中再慢慢進化。
·上云也是一個很好的選擇
云的靈活性、便利性是促使企業在云上搭建大數據平臺的一大原因,而且,云也可以提供更專業的大數據技術能力,對于一些技術水平尚缺的公司來說,上云可以說更具優勢。
“這方面國外比較好,國外超級獨角獸Airbnb、市值千億美金的Netflix都用別人的云。”墨冶老師表示,“專業的事情可以交給專業的公司來做,自己專注到業務增長上面。國內很多公司到了一點規模,還處于虧損狀態,就喜歡全部自建。我看到有些公司因為這塊壓力,拖累管理精力和成本而死掉。”
什么是優秀架構師的基本素養?
很多初入IT行業的年輕朋友致力于走上架構一途,但往往苦于不知該如何前行,難以拿捏方向。那么,要成為一名優秀的架構師應該具備哪些基本能力和素養呢?墨冶老師表示,自己接觸過的優秀架構師主要具備以下三方面的能力:
1、技術層面。 對分布式、高并發、高可擴展、性能優化等基本原理有一定了解,最好深入了解過一個框架。保持好奇心,有精力跟一條技術線的發展趨勢。
2、業務層面。 了解業務目標、策略和場景,知道盡可能全的業務場景,有助于設計好的產品。其中,業務流程的抽象能力對應用架構師就特別重要了。要知道,垂直領域的業務專家可是比技術架構師吃香,業務專家和老板基本無縫溝通,技術型架構師很多還是很吃力的,深入業務是一個優秀應用架構師必備的能力。
3、溝通、協同能力。 很多重要系統往往是跨團隊、跨大型組織的,要想成為一個優秀的架構師,必須具備在復雜組織下協調和推進能力,能求同存異,協同兄弟團隊把方案落下來,才能拿到結果。
2018中國系統架構師大會(SACC)即將盛大開幕,10月17日到19日,這一由IT168旗下ITPUB企業社區平臺主辦的技術盛會將走過第十個年頭。
作為SACC的重要參與者,墨冶老師親身見證了許多架構師的技術成長之路,他表示:“在技術日新月異的今天,每個人或多或少都有危機感,唯有持續充電,方能不被淘汰,SACC是一個挺好的平臺,對于架構師或者想成為架構師的朋友是個很好的充電機會,幫助自己捕捉到前沿技術發展趨勢,增加自己的寬度和深度。”