開發與維運

阿里雲實時大數據解決方案,助力企業實時分析與決策

性能高1倍,價格低3/4!數據庫實時同步新選擇!

實時分析決策的第一步就需要將數據實時同步到大數據計算引擎,DataWorks數據集成採用自研高性能引擎,在相同的機器規格情況下,RDS實時同步性能最高為其他數據同步方案的2倍,而價格可低至其1/4。通過DataWorks數據集成,企業可以進行高效、低成本、穩定的實時數據同步。

DataWorks數據集成可以追溯到2011年的DataX1.0和2.0版本,隨後3.0版本正式對外提供服務,再後來公有云、專有云、阿里內部功能三版合一,建立了Data Integration 服務。在2019年,DataWorks數據集成完成了商業化,獨享資源組上線,按量付費、包年包月的付費方式也成功面向了用戶。在2020年,全增量實時同步解決方案正式發佈。

在全增量實時同步解決方案系統中,可以從MySql、Oracle、IBM DB2、SQL server、POLARDB等關係型數據庫中全量離線同步到MaxCompute、Hologres、Elasticsearch、Kafka、DataHub等大數據產品中,再實現實時抽取關係型數據庫的變更信息,同步到大數據產品中。像MaxCompute這種離線數倉,可以通過同步到Log表、拆分至Delta表、Merge到Base表,最後再寫入MaxCompute這樣的方式做實時增量同步。
image.png
DataWorks數據集成可以通過實時庫監控抽取從關係型數據庫(MySQL、Oracle、PolarDB等)抽取數據,再採取消息訂閱的方式匯聚實時消息流數據,匯聚起來的數據可以去做一些數據處理,包括數據過濾、字符串替換和以後將會支持的Groovy函數,這也是一個比較標準的ETL流程。處理好的數據可以多路輸出到不同數據源,再配合上實時運維監控和告警系統,就形成了整庫全增量的解決方案,讓實時同步具備從整庫全量同步到整庫實時增量同步再到大數據自動增量融合這樣的完整鏈路。另外,實時同步的架構是高可用的,DataWorks數據集成在管控層和執行層都做了備用機器結構,如果調度或者數據傳輸鏈路斷了,可以緊急地切換到另一條鏈路,保證任務的穩定執行。

數據集成的實時同步技術自帶髒數據收集機制,在整個ETL的鏈路中,無論是讀取端還是寫入端不支持的數據,都可以通過插件中心的能力收集並輸出到用戶配置的目標端,包括本地日誌、Loghub、MaxCompute等,為數據的再處理提供支持。

在大數據上雲解決方案中,通過數據集成將離線和實時的數據分別通過離線引擎(EMR、MaxCompute)和實時引擎(MaxCompute交互式分析(Hologres)、Flink)去做數據處理,然後匯聚到DataWorks中做數據開發和數據服務,包括機器學習PAI平臺去做模型開發等,最後開放給數據應用去使用,包括QuickBI、DataV、Tableau等。

基於上雲解決方案,建立了多種場景化解決方案,包括智能實時數倉解決方案、實時監控大屏解決方案、數據湖解決方案,其中比較典型的智能實時數倉解決方案,適用於電商、遊戲、社交等互聯網行業大規模數據實時查詢場景:

第一步:數據採集–通過DataWorks數據集成(批量+實時)、DataHub(實時)進行統一數據採集接入。

第二步:基於DataWorks完成數據全鏈路研發,包括數據集成、數據開發&ETL 、轉換及KPI計算等開發,以及數據作業的調度、監控、告警等。DataWorks提供數據開發鏈路的安全管控的能力,以及基於DataWorks的數據服務模塊提供統一數據服務API能力。

第三步:實時數據按實際業務需求使用Flink中進行實時ETL(可選),結果入庫MaxCompute交互式分析(Hologres)構建實時數據倉庫、應用集市,並提供海量數據的實時交互查詢和分析。Hologres提供實時離線聯邦查詢。

第四步:基於阿里QuickBI進或第三方數據分析工具如Tableau行數據可視化,以及構建各業務板塊數據服務門戶應用。

該方案將阿里雲實時數倉全套鏈路與離線數倉無縫打通。滿足一套存儲,兩種計算(實時計算和離線計算)的高性價比組合。

基於Hologres和Flink的實時數據分析方案

數據集成將數據同步過來以後,我們需要實時的數據倉庫將這些數據更好地應用起來。剛才簡單介紹了實時數倉的解決方案,接下來我們向大家詳細介紹基於Hologres和Flink的實時數據分析方案。
MaxCompute交互式分析(Hologres)提出實時數倉“服務分析一體化”的概念,讓一個大數據引擎既能滿足 OLAP的實時洞察分析又能滿足KV式的高QPS點查特徵服務的需求,將實時分析和服務做到很好的融合,極大的簡化了實時數倉架構的複雜度,助力客戶實時的分析與決策。

隨著數字化轉型的快速推進,數據量呈現爆發式的增長,而對數據計算的要求越來越高,低延時、低資源消耗、高效率、高精準度等。 如何從這些海量的歷史數據和每日實時增量數據中快速彙總分析、挖掘出業務價值已成為業務最基本的需求。

在這個過程中,很多公司推出了批處理、實時計算,但離線批量數倉和實時分析具有不可調和性,離線數倉滿足不了業務時效性的要求,而絕對的實時數倉也不切實際,“近實時”才有意義,而實時分析、近實時的分析構建離不開實時數倉系統的構建。

企業在實時數倉建設過程中應用最廣泛的當屬Labmda架構,它一定程度上解決了大部分企業數字化建設初期的業務問題,但是隨著業務的快速發展、數據量的暴漲和業務需求的變化,Lambda架構的問題也就逐步凸顯,主要包括幾個方面:
1)數據在不同的系統中存儲多份,空間浪費,數據一致性的問題難以解決;
2)整個數據鏈路由多種引擎和系統組合而成,開發和維護成本高,學習成本高;
3)從使用上來說,離線加工,實時加工以及統一數據服務層等處理過程中均使用不同的加工語言和接口,使用起來並不容易;
4)學習成本非常高,增大了應用成本。
因此架構簡化、成本優化、數據統一、學習門檻低、適應業務敏捷、自助式分析趨勢成為了迫切的需求,企業期望有一款全新的大數據產品,可以滿足實時寫入、實時計算、實時洞察需求;能做到實時離線一體化,減少數據移動,業務技術解耦支持自助式分析,從而簡化整個業務系統架構。

在這樣的背景下,Hologres推出了HSAP理念。 HSAP是指Hybrid Serving & Analytical Processing,是既能支持高QPS的點查場景實時寫入和查詢,又能將複雜的多維分析場景在一套體系裡面完成。HSAP相當於數據倉庫+在線數據服務,是兩者的超集。企業需要統一實時數據和離線數據的存儲,提供高效的查詢服務,支持高QPS的查詢,支持複雜的分析以及聯邦查詢和分析,並且能夠直接對接前端應用,做到即席分析,統一數據服務,減少數據移動。Hologres作為以HSAP理念開發的產品, 隸屬於阿里自研大數據品牌MaxCompute,支持PB級數據高併發、低延遲的分析和服務,支持實時數倉、大數據交互式分析等場景。其核心特點是分析服務一體化、以實時為中心進行設計、存儲計算分離架構、兼容PG生態。
image.png
Hologres在全鏈路實時數倉建設場景,與Flink做了深度的融合,同時支持Flink的sink表、source表、維表。業務上可以基於Flink進行實時ETL清洗、轉換,將明細數據、輕度彙總數據以及業務彙總數據存儲在Hologres,再通過Hologres實時查詢並輸出數據至第三方分析工具進行實時分析。

MaxCompute+Hologres可以構建秒級交互式分析,MaxCompute數倉可以通過Hologres直接加速查詢,無需數據移動,並對接BI分析工具,實現實時分析離線數據。也支持MaxCompute數據快速導入Hologres構建索引,提供更高QPS、更快查詢響應的查詢服務。

Holgores+Flink+MaxCompute可以實現“實時、離線、分析、服務一體化方案”。冷數據存儲在MaxCompute中,熱數據存儲在Hologres中。
同時通過與達摩院向量引擎庫Proxima的深度集成,可應用於實時推薦場景,實時推薦依賴特徵查詢、實時指標計算、向量檢索召回,Hologres向量查詢功能與Proxima深度整合可以提供高性能的向量查詢服務,再加Flink和PAI,可以應用於實時個性化推薦、圖像、視頻及人臉等,提高廣告留存率。

目前Hologres已經在多個客戶及場景使用,進行大數據分析與決策。
1) 小紅書之前自建了一個較大規模的ClickHouse集群,但是運轉一段時間後,ClickHouse的弊端凸顯,比如成本高、查詢慢、不穩定、集群運維複雜。採用了Hologres後,獲得存儲計算分離的架構,輕鬆存儲了15天數據,並且可以快速查詢7天甚至15天數據,查詢性能有大幅度提升;還有主鍵去重(insert or ignore),上游failover無影響,免運維等優勢,客戶滿意度非常高。

2)菜鳥智能物流引擎原來採用Flink+HBase+OLAP的方案,該架構數據導入時間長、資源浪費、數據孤島等問題嚴重嚴重困擾了業務同學,採用Hologres後,整個鏈路2億記錄數據處理速度端到端優化到3分鐘,開發效率大幅提升,整體硬件成本下降60%。

3)阿里巴巴客戶體驗事業部(CCO)之前使用的DataHub+Flink+OLAP+Lindorm數倉方案,存在任務重複建設、數據存儲冗餘、元數據管理、加工鏈路複雜等痛點。而今年雙11,Hologres助力CCO構建集實時化、自助化、系統化於一體的用戶體驗實時數倉,完美助力雙11場景,支持上千+服務大屏,削峰30%,整體節約成本近30%。Flink實時寫入TPS峰值100w+/s,寫入延遲穩定500us內,雙11當天查詢latency平均142ms,99.99%的查詢在200ms以內。

基於ELK的低成本實時日誌監控分析

我們的實時數據除了存儲在大數據引擎中,還有很多非結構化的日誌數據,通過阿里雲的Elasticsearch,用全託管的方式提供低成本的冷熱存儲方案,輕鬆助力企業搭建統一的雲上全觀測運維監控平臺,實現海量數據的實時監控分析,提高自動化運維管理效率。

企業大數據IT運維經歷了從單純的運維工具到運維平臺,再到自動化運維和故障預防式運維,到現在朝著智能化運維的方向進化。但現有的大數據運維分析手段依舊存在著原子工具繁多,上手成本高、工具之間的銜接困難,Monitoring(監控)、Logging(日誌)、Tracing(定位追蹤)無法互相依存發揮更大價值、真實業務中收益完全取決於使用者的架構能力等明顯問題。
全觀測場景下運維監控的痛點都是趨同的,比如日誌/指標獲取手段不一,獲取成本高、日誌/指標格式化挑戰大、運維伸縮能力,峰值穩定性、海量數據長週期存儲成本高、時序系統異常分析困難,日誌分析工具檢索性能瓶頸、可擴展性需求高等。為解決這些問題,Elasticsearch應運而生。開源Elasticsearch是一個基於Lucene的實時分佈式的搜索與分析引擎,遵從Apache開源條款。它提供了一個分佈式服務,可以提供快速的近乎於準實時的存儲、查詢和分析超大數據集。因其查詢速度快、使用簡單,通常被用來構建複雜查詢特性。

Elasticsearch構建在Elastic Stack開源生態矩陣中,包括Beats(輕量級數據採集工具)、Logstash(收集、過濾、傳輸數據的工具)、Elasticsearch、Kibana(靈活的可視化工具)。
Elastic Stack的能力基本解決了全觀測場景下的6個痛點:
1)Beats獲取日誌/指標,提供支持Autodiscover的Beats Agent,統一收集各類數據
2)擁有豐富的格式化日誌/指標手段,包括各個開源軟件、網絡格式的日誌/指標採模板,無需格式化,擁有實時數據加工處理的擴展組件,提供豐富的轉化UDF/Plugin
3)高穩定性保證:基於分佈式架構,保證集群的基礎吞吐和性能,跨機房部署、同城容災、場景化內核優化等
4)低成本:阿里雲ElasticStack提供熱-溫-冷-凍結四層數據存儲方式,使用特殊的存儲壓縮功能,大幅降低存儲成本。
5)提供日誌分析、監控、Tracing一站式能力,針對時序場景深入優化引擎,保證時序日誌監控和分析的性能。
6)擴展性:基於分佈式架構,以及靈活開放的RestAPI和Plugin框架,背後的開源社區也在為全新的技術棧提供豐富的對接手段

在此開源生態矩陣之上構建的ELK可以實現日誌、指標、APM、業務數據在一個平臺統一分析,建立統一的可視化視圖、對齊時間、過濾條件、統一的基於規則的監控和告警、統一的機器學習的智能監控和告警。可以對接Spark、Flink等開源處理工具進行更多格式化統一,最後存儲在Elasticsearch上提供給Kibana進行數據可視化監控告警,通過關聯分析和機器學習去充分利用分散在整個系統各層的數據,更好的發揮一些數據的價值。
image.png
Elasticsearch背後的商業公司Elastic和阿里雲於2017年開始戰略合作,在阿里雲上提供全託管Elastic Stack服務,100%兼容開源,免費提供X-Pack商業插件,即開即用,按需付費。同時深入功能與內核性能優化,提供更豐富的分析檢索能力,更安全、高可用服務。

相比開源自建,Elasticsearch有開箱即用免運維的優勢,企業可以零成本遷移上雲、同時擁有更強的功能與性能、TCO預估成本僅為自建的75%。

穩定性方面,流量洪峰到來時,阿里雲Elasticsearch自研限流Qos插件,實現索引級別的讀寫流控,當單個索引查詢/寫入壓力過大時,對指定索引,按照業務的優先級進行適當的降級,將流量控制在合適範圍內。

成本上,阿里雲ES提供全託管的彈性伸縮運維能力,避免低峰資源浪費,可通過購買彈性數據節點、控制檯配置定時擴縮容、根據業務流量動態擴縮容等方式實現。
另外,阿里雲Elasticsearch日誌增強版將計算存儲分離,使用 NFS 共享存儲作為節點底層存儲,利用主副分片,主分片可讀可寫,副分片只讀的方式,實現了存儲成本節約100%、寫入性能提升100%、秒級彈性擴縮容的收益。

阿里雲將於2021年1月推出阿里雲Elasticsearch時序寫入Serverless版,可大幅降低時序/日誌場景使用成本。用戶將無須關注ES集群寫入資源與寫入壓力,業務請求發生變化時,由雲端Serverless調配物理資源,按需使用,按量付費,超強彈性擴容能力,提供低成本的本地型計算和存儲節點,降低數據存儲成本。

在業務層面,好未來(前身學而思)作為Elasticsearch的阿里雲標杆客戶,直播雲業務支撐著百萬人線上課堂,支持師生互動,承諾不卡頓並支持500ms低延遲高清畫質。但是隨著監控指標越來越多,直播質量實時性保障困難。為保障客戶使用體驗,好未來還需要對一個大池子中的數據進行細粒度的數據權限分析,並且應對教育行業寒暑假高流量,強波動的情況。

Elasticsearch為好未來提供了豐富異構數據源採集能力、模版化的日誌解析處理能力、精確到字段級別的數據權限分割能力,支持用戶靈活自定義權限體系,與企業自有權限體系對接打通,以及平滑的伸縮功能,集群熱變更,對服務0影響等能力,滿足客戶在大流量場景下的實時直播質量監控與穩定性保障。

使用阿里雲Databricks數據洞察構建Hadoop生態的批流一體實時數倉

除了Hologres+Flink構建實時數倉,很多公司正在使用Hadoop生態引擎構建大數據分析平臺,並且已經在成熟地使用離線數據倉庫。阿里雲Databricks數據洞察可以基於Hadoop生態構建批流一體的實時數倉,對企業現有架構進行升級,滿足實時分析決策的要求。

企業基於Hadoop生態構建大數據平臺是總有些無法繞開的問題,比如:
1)想對作業調優,但是不懂內核,技術門檻高、運維人員缺乏
2)集群維護成本高、隨著時間的推移,HDFS上的數據存儲成本越來越高
3)需要同時處理流式數據和批數據,技術架構複雜,維護難,BUG多
4)對數據有增刪改需求,大數據下難以提供事務性保障
5)數據工程師和數據分析師有各自的環境,難以共享,協同工作。
而企業對應的解決方案基本是:購買專家服務/直接添加計算資源、使用全託管的雲計算服務、多引擎協同,一個處理流,一個處理批等方式,而這些方案通常需要多個產品來聯合完成。

企業希望能通過一個產品來完成這樣地數據分析訴求。拿到數據湖或者Kafka事件數據後,在流式分析分析和BI報表前,希望這中間能有一個引擎。這個引擎有支持存算分離的數據湖架構、又能同時處理流式數據和批量數據、還能支持數據增量寫入。所以阿里雲引入了Databricks數據洞察。Databricks數據洞察是阿里雲和databricks公司合作的一款產品。Databricks作為美國科技公司獨角獸,是Apache Spark背後的商業公司,在2020年Gartner發佈的數據科學和機器學習(DSML)平臺魔力象限報告中,位於領導者象限,在全球擁有5,000多個客戶和450多個合作伙伴。企業使用阿里雲Databricks數據洞察就可以構建Hadoop生態的批流一體實時數倉。
image.png
Databricks數據洞察在ETL和數據科學中有非常多的優勢,比較顯著的包括性能上跑標準測試集較開源最高有50倍提升、使用通用的數據存儲格式Parquet,可擴展性高,並且支持客戶自定義部署,滿足定製化需求、使用企業級Spark,完美兼容開源Spark,遷移基本不需要API級別的修改、提供Z-Order優化,讀取數據量減少95%,20倍性能提升、常用表和查詢緩存,30倍性能提升、PB級可擴展性、提供交互協作的Notebook,可以滿足數據工程師和科學家的編輯作業/共享結果的需求、將大數據和AI統一到一個平臺,底層共享數據。架構上Databricks是Delta架構下的數據湖分析,也是批流一體的實時數倉。

Databricks數據洞察已經開始為各行各業提供大數據實時分析與決策能力,在金融行業,企業需要利用數據和ML(Machine Learning)實現消費者移動應用app的產品快速迭代,去吸引更多的客戶。Databricks的notebook提供的數據共享能力和流批一體的數據架構,滿足了客戶處理和識別數百萬用戶的流式和批式數據的需求,並且接口統一。客戶APP參與度提高了4.5倍、數據處理事件從6小時縮短至6秒、用一個數據湖代替了原有的14+個數據庫,效能大幅提升。
在新零售行業,為了保障企業供應鏈數據實時採集、加速處理數據,為實時決策提供保障(快速檢測問題,減少經濟損失)。使用Databricks構建實時數倉後,數據延遲從2小時降低到15秒,並且由於數據鏈路精簡,業務代碼量也相應減少:Python代碼從565行減少到317行,YML配置從252行減少到23行。

大數據實時分析與決策是當下比較火熱的話題,企業希望技術能更快速地響應業務需求,阿里雲也希望通過產品化的能力,幫助企業更快更好的使用數據,及時響應企業的數據需求。

文章中提到的DataWorks數據集成,MaxCompute交互式分析(Hologres),實時計算Flink版,Elasticsearch,Databricks數據洞察等產品,都可以在阿里雲官網大數據欄目找到,如果有什麼問題也可以釘釘掃描群二維碼進行溝通。
image.png

Leave a Reply

Your email address will not be published. Required fields are marked *