守着金山討飯吃,乍聽有些難以想象,但很多企業正遭遇這樣的窘況。html
數據被譽爲「新石油」,如何管理並洞悉數據的價值,是企業將來發展的核心競爭力。進入大數據時代,數據規模與日俱增,若是沒有一款性能強大的數據倉庫,企業不只難以抵擋海量數據帶來的各類挑戰,還會在瞬息萬變的市場環境中迷失方向。sql
而有些企業在面對海量數據時卻能從容應對,他們又有哪些制勝法寶?今天,就讓咱們一塊兒回顧下,美團、京東、搜狐等企業,如何應對大數據帶來的各類挑戰。數據庫
美團——節約計算資源,提高開發效率apache
做爲國內領先的生活服務電子商務平臺,美團每時每刻都須要處理大量的訂單及商品信息。而在2017年年末,美團已經維護了Kylin和Druid兩個開源系統,Kylin主要知足離線固化多維分析的需求,Druid主要知足實時多維分析的需求。架構
但因爲Kylin和Druid都是基於預計算的系統,沒有保留明細數據,沒法進行明細查詢。爲此,美團於2018年初,開始調研當時開源的ROLAP系統,並進行落地。併發
美團當初主要調研了SQL on Hadoop、TiDB、SnappyData、ClickHouse和Doris等系統,這些都是優秀的開源系統,且都有其實用場景,選型主要從功能、架構、性能、易用性、運維成本等幾個維度來分析。app
爲何沒有選擇這些系統的簡要說明運維
經過綜合對比,美團技術團隊最終選擇Apache Doris(Incubating)。對用戶而言,Apache Doris(Incubating)功能強大,易用性好;對於平臺側而言,Apache Doris(Incubating)易運維、易擴展和高可用:高併發
美團點評2018年Doris服務現狀工具
變化維表的Join是外賣業務很典型的一個應用,爲了知足個別歷史數據查詢的需求,就必須重刷幾百天的歷史。這帶來大量計算資源的浪費,且數據冗餘比較嚴重,開發效率低下。
在應用Apache Doris(Incubating)以後,只須要按天同步事實表和維表,查詢現場Join就能夠。不須要天天重刷歷史數據,開發效率提高明顯。在保持查詢性能不變的前提下,Apache Doris(Incubating)在導入速度和存儲效率上都有了很大的提高。
京東——圓滿完成618大促期間的報表業務
每一年的618大促,都是對京東技術團隊的一次「大閱兵」。京東廣告平臺有上百張報表,每日百億級別的聚合結果增量,須要保證查詢效率與實時性的統一。
過去主要的開源解決方案是SQL on Hadoop 生態,但Hadoop方案總體依賴模塊過多,對業務團隊來講,運維成本高;若是使用公司大數據平臺提供的Hadoop環境,不免與其餘團隊共用,查詢效率與穩定性難以保證,對查詢延遲要控制在毫秒級的報表需求更是沒法知足;若是自建Hadoop環境,本身維護,又會出現運維壓力太大的問題。
經過多方對比選型,京東最終選擇了Apache Doris(Incubating),主要有如下幾個關鍵優點:
在618大促期間,Doris提供了很是穩定的線上服務。在線進行了穩定的schema change,全程無事故。在導入方面,支撐100億行/日的增量,導入峯值達到2000w/分鐘,秒級導入延遲。
在查詢方面,支撐了4000w+的每日查詢,TP99僅爲150ms。大促期間QPS峯值3000+,壓測階段峯值達到1w+。
搜狐——開發流程極大簡化,數據查詢很是方便
做爲四大門戶之一,搜狐在國內是家喻戶曉的名字。搜狐智能媒體,主要是對搜狐主站的文章進行管理、展現和推薦。其數據業務分爲兩部分:一是傳統的BI業務,包括數據報表、多維分析、數據挖掘等;另外一部分主要是和文章相關,包括文章搜索、DMP、打標籤等。
根據業務須要,數據處理計算範型主要分爲兩大部分:Batch層和實時處理層,實際上就是目前典型的Lambda架構。爲此,搜狐團隊但願找到一個開源工具能夠知足交互式查詢和實時數據統計。
搜狐對主流開源產品作了比較
經過綜合對比,Apache Doris(Incubating)最終走進了搜狐團隊的視野,顯著優點以下:
根據搜狐現有業務須要,統計每5分鐘粒度的PV UV彙總數據;統計每一個5分鐘時間點的當日累計PV UV;查詢當日及歷史30天內數據,做爲對比;查詢須要秒級響應;數據延遲要求控制在5分鐘內;原始數據約2000萬/5分鐘;業務需求特色-統計分析維度固定:a/b/c/d ; a/b/c。
過去原始方案是經過Spark Streaming + Redis + MongoDB來實現的。但該方案存在諸多問題:如針對每一個查詢維度組合,生成一個Spark處理任務,對用戶後續的需求不能很好知足;Redis壓力很大,導入任務運行不穩定,常常延遲;流程複雜,依賴多個系統,調了很長時間都難以穩定下來;時間維度只能使用Processing Time,沒法使用實踐真實發生的時間Event Time,數據計算沒法保證準確性等等。
在將其遷移到Doris後,查詢時就簡單不少,只需導入一份數據,就能夠支持多種維度組合查詢。目前,根據業務狀況,批量導入約10萬行/秒,總共兩千萬行數據能夠快速導入,線上使用以來未遇到延遲問題;聚合後數據800萬行/天,單日查詢延遲約2秒。開發流程極大簡化,數據查詢獲得巨大提高。
以上就是美團、京東、搜狐等大廠在數據處理方面的實踐運用。
自2008年第一個版本發佈至今,從過去只爲解決百度鳳巢報表的專用系統,已經成長爲目前國內惟一的分析型數據庫孵化項目,Apache Doris (incubating) 已經陪伴全部用戶走過了12個年頭。一路走來,Apache Doris (incubating)初心未改。
Apache Doris (incubating)官網,點擊進入>>