大香大香伊人在钱线久久,亚洲日韩欧美国产高清αv,日本强伦姧人妻久久影片,亚洲国产成人欧美在线观看

網易首頁 > 網易號 > 正文 申請入駐

提效3倍、降本近半!順豐科技完成湖倉從Presto到Doris的架構演進

0
分享至


本文為順豐科技大數據分析平臺的架構演進實踐,其將原本使用的 Presto 查詢引擎替換成了 Doris,在內部可視化數據自助分析工具豐景臺場景廣泛應用。目前,順豐臨時查詢業務、豐景臺報表業務的 Presto 場景已經 100% 切換到 Doris 集群中,日均查詢量 100W+。并實現 P95 性能提升近 3 倍,硬件資源節省達 48% 的顯著收益。

而他們是怎么做的?我們將通過下文一探究竟。

本文為作者投稿,未經允許,禁止轉載。

作者 | 唐尚文,順豐科技 大數據平臺研發高級工程師

出品 | CSDN(ID:CSDNnews)

豐景臺是順豐科技自主研發的一款可視化數據自助分析工具,旨在提升數據分析師的工作效率,助力自助分析和業務決策。該產品支持多種豐富的圖表類型,用戶只需通過拖拽操作即可快速進行自助分析,實現數據可視化。目前,豐景臺已廣泛支撐順豐的物流收、轉、運、派等各個環節,該平臺處理的數據規模龐大,用戶數量眾多,對實時響應速度和穩定性有著較高要求。

最初,豐景臺使用 Presto 作為查詢引擎,面臨查詢速度慢、服務穩定性不足以及資源消耗成本高等問題。為解決這些問題,引入 Doris 替換 Presto,構建統一的數據分析平臺。目前,順豐臨時查詢業務、豐景臺報表業務的 Presto 場景已經 100% 切換到 Doris 集群中,日均查詢量 100W+。并實現 P95 性能提升近 3 倍,硬件資源節省達 48%。


使用 Presto 面臨挑戰

起初,豐景臺使用 Presto 作為查詢引擎來支撐業務。基于自研的 Presto On Yarn 模式,可以在租戶級別根據業務負載情況自動調整 Presto 集群的規模,或根據負載模式選擇不同的 Presto 子集群對查詢請求進行路由。


因豐景臺支撐的業務線眾多,查詢模式多樣化,且高峰期的 QPS 較高,涉及到的數據量龐大。同時,系統對查詢延遲有嚴格的保證需求。在使用 Presto 時遇到了以下問題:

  • 詢速度慢因 Presto 查詢優化器能力有限,無法提供很好的規則優化,尤其在處理復雜查詢時,查詢速度慢,無法滿足性能要求。

  • 服務穩定性差:Presto 缺乏內置的緩存機制,容易受到 HDFS IO 抖動的影響,影響服務的穩定性。引入外部緩存組件雖然可以緩解這一問題,但同時也會增加系統的復雜性。

  • 資源成本高:Presto 以萬核規模運行,需要大量的計算資源和硬件支持,整體資源成本高昂。

  • 適用場景有限:Presto 作為查詢引擎,但它不具備數據存儲的能力,當前只能分析存儲在 Hive 中的數據。更加實時的場景、半結構化分析的場景不好滿足。


為什么選擇 Apache Doris為解決上述痛點,順豐在 2024 年初開始調研下一代數據分析產品,旨在尋求一款高性能、功能豐富且適用場景廣泛的工具,以支持豐景臺及內部業務的各種數據分析需求。Apache Doris 在性能表現和資源成本等方面具有顯著優勢:
  • 查詢速度更快Doris 的查詢優化器(CBO)可有效支持復雜查詢,尤其是多表關聯查詢的優化,同時通過豐富的統計信息提升優化規則的準確性。此外,Doris 物化視圖能力能靈活應對數據加工和湖倉透明加速等場景。
  • 服務穩定性高Doris 提供內置的元數據和數據緩存能力,可有效降低遠端存儲(如 HDFS)抖動對查詢延遲的不穩定影響,同時降低系統維護的復雜度。
  • 湖倉統一及查詢加速Doris 作為湖倉加速引擎,可直接對 Hive、Iceberg 和 Paimon 在內的主流湖倉格式進行查詢加速,并能管理高性能的自有格式數據。憑借 Doris 單一引擎即可支撐日志分析、實時報表分析等多樣化場景的統一分析。
  • 彈性資源隔離Doris 提供節點級別的物理隔離和進程內的線程級別隔離,利用計算節點和計算組等功能,滿足順豐對多業務、多租戶及彈性擴縮容的需求。

Presto 到 Doris:湖倉建設實踐順豐科技自 2024 年中開始,逐步使用 Apache Doris 替換 Presto 所支持場景,構建統一的數據分析平臺。Doris 具備查詢和存儲的能力,既可以作為查詢引擎查詢數據湖 Hive 中數據,也作為數據倉庫存儲數據。這一升級,同時滿足數據倉庫和數據湖的需求,實現了查詢與存儲引擎的統一。在平臺升級過程中,順豐重點關注以下兩點:
  • 無感升級由于是線上業務的升級,需保證整個過程業務側無明顯感知。因此,需完善對 Presto 的語法支持、SQL 行為的兼容、集群切換方案和監控報警方面的能力。
  • 性能提升和穩定性保障基于 Doris 以更少的計算資源獲得更好的分析性能,同時保證整體服務的穩定性。
接下來核心圍繞以上兩點,詳細介紹架構迭代升級過程中的實踐、優化經驗和收獲。01 無感升級

Presto 和 Doris 兩套系統雖然都支持標準 SQL,但是在部分語法、函數語義和執行行為上存在細微差別。因此我們在前期涉及了周密的遷移驗證流程,在平臺側通過以下方案來確保架構的平滑升級:

  • 開發線上查詢模擬工具,自動收集線上查詢語句,并在測試環境進行回放和結果比對,驗證結果正確性。

  • 開發壓力測試工具模擬真實線上流量負載,檢查高峰、低谷期 Doris 集群的資源開銷、查詢延遲等,用于驗證穩定性和性能預期。

  • 搭建 Doris -> Presto 的雙跑和降級切換鏈路。可以按照比例將流量緩慢灰度到 Doris 集群。并且通過自定義路由規則,當遇到 Doris 不支持的函數、語法、SQL 行為時,系統自動將切換到 Presto 集群上,確保上游業務的平穩運行。


這些方案是整個升級和遷移項目的重要基石,為后續的性能表現、版本迭代提供了有力保障。

02 Presto SQL 方言兼容Doris 社區提供了 SQL Convertor 組件,靈活支持將 Hive、Trino/Presto、Spark、Clickhouse 等多種 SQL 方言轉換為 Doris SQL,幫助業務無感遷移到 Doris。在驗證階段,飛輪科技與順豐合作,完成了大量方言適配工作,顯著提升了 Presto SQL 方言的兼容性。

  • 語法改寫將 Presto SQL 語法等價改寫為 Doris SQL 語法。例如,在 Presto SQL 中,列名用雙引號包裹需轉換為反引號;或者為 Presto SQL 中的子查詢添加別名,以滿足 Doris SQL 對別名的強制要求等。
  • 函數簽名改寫:將 Presto 中與 Doris 行為相同但簽名不同的函數進行改寫。比如將 date_parse 函數改寫為 str_to_date 函數;或者調換 data_trunc 函數中的參數順序等。
  • 函數行為改寫:Doris 的大部分函數行為兼容 MySQL,如對非法參數的處理和返回值的精度等。如果直接修改這些函數的行為,會對其他用戶造成影響。因此額外補充了一些符合 Presto 行為的新函數,并通過 SQL Convertor 改寫,或使用 cast 轉換類型,以不影響原函數行為的情況下提升對 Presto 函數行為的兼容度。
  • 輸出格式改寫:針對 Array、Map、JSON 等復雜類型的字符串輸出,Doris 提供了相應的改寫規則。比如將 Doris 對 Map 類型的字符串表示由{"k1":null, "k2":"v3"}改寫為 {k1=NULL, k2=v3},確保用戶在進一步處理時獲得正確的語義。
  • 新增函數:新增大量 Doris 原本不支持的 Presto/Trino 函數,進一步提升 SQL 兼容性。

目前在順豐業務場景下,Presto SQL 兼容度可以達到97%,僅有少部分 SQL 需要業務方配合調整,后續將進一步加強兼容性,目標達到 99% 以上。

03 Parquet/ORC 性能優化

豐景臺場景存儲格式包括 Parquet、ORC 以及少量 Json 和 Text 數據格式。數據多樣性對優化工作帶來了挑戰。順豐與飛輪科技在以下方面合作,顯著提升了 Doris 對不同文件格式的訪問性能:

  • 復雜類型的延遲物化針對包含 Map、Array、Struct 等復雜類型的查詢,在 Parquet/ORC 讀取過程中提供延遲物化能力,顯著降低 IO 數量。


  • IO優化:通過調整 Merge IO 的閾值,緩解在不同查詢模式下 Merge IO 引發的讀放大問題,并顯著降低 IO 次數。

  • ORC Tiny Stripe 優化:針對包含大量小 Stripe(小于 8MB)的 ORC 文件,提供跨 Stripe 合并讀取能力,降低 IO 次數并提升文件讀取吞吐。

  • 數據格式兼容度提升:全面支持 Parquet/ORC/Text 在 snappy、lz4、zstd、gzip、lzo、bzip2、brotli 等多種壓縮格式下的讀取能力。并且提供enable_text_validate_utf8等可調選項,確保在非法值場景下(如非 UTF8 編碼的 Text 格式)行為和 Presto 一致。

這些優化顯著改善了 Doris 在文件格式讀取性能、穩定性和兼容性方面的表現。

04 HDFS IO 優化

豐景臺的數據由科技提供的 HDFS 統一存儲。由于 HDFS 在多個業務共享,業務高峰期可能出現 IO 抖動、延遲增大甚至超時等問題。針對 HDFS 特性,制定了多種改善 IO 的措施:

  • 文件對齊 Block 切分Doris 將大文件切分為多個文件分片,通過并行讀取提升效率。針對 HDFS 文件,Doris 根據 HDFS Block Size 對齊切分,避免分片任務跨 Block 讀取,降低對 Namenode 的訪問頻率,從而減少 HDFS 不穩定的影響。

  • HDFS Hedged Read 和 Read Timeout:HDFS 客戶端提供 Hedged Read 功能,當數據塊的讀取請求在預設時間內未響應時,會向其他數據節點發送額外請求,使用最快返回的數據塊,減少讀取延遲。此外,通過 dfs.client.socket-timeout 降低讀取超時閾值,快速觸發重試,從而提升 IO 穩定性。這些功能在部分順豐業務場景下顯著改善了訪問 HDFS 的 IO 響應性能。

05 執行調度優化

Hive 等湖倉外表數據的查詢執行環境與內表數據存在顯著差異,如元數據訪問延遲和網絡 IO 開銷。因此,針對外表查詢特點優化了執行調度:

  • 動態優先級調度豐景臺場景查詢模式多樣,無法通過預定義 Workload Group 進行資源分組和隔離。動態優先級調度策略通過任務分片執行時間統計,實時識別大查詢和小查詢,動態調整優先級,顯著降低中小查詢在資源搶占場景下的延遲。


  • 分片異步調度:Hive 集群中有大量分區數量在十萬級別的表。Doris 通過分片異步調度,讓文件列表的 List 操作與 BE 節點的文件讀取并行執行,顯著改善了海量分區訪問時的查詢調度耗時。


  • Limit 下推優化:實際場景中存在大量由謂詞條件和 Limit 子句組成的查詢,通常用于快速探查符合條件的數據,但無需返回查詢結果,但要求探查完成后快速結束查詢。Doris 在查詢規劃時將 Limit 下推到數據掃描節點,并在掃描任務調度、跨節點數據傳輸、查詢快速熔斷方面進行了優化,顯著減少了 IO 開銷。

這些優化降低了 Doris 對 CPU 和 IO 資源的開銷,在混合負載的 Hive 查詢場景中大幅提升了查詢的穩定性和可預期性,尤其在長尾查詢和 95 分位以上的延遲上效果顯著。

06 緩存優化

緩存功能降低了通過網絡訪問外部數據源的不可預測性,并提升了熱點數據的讀取性能。在豐景臺場景下,單集群磁盤緩存容量達到 10 TB。在使用 Doris 替換 Presto 的過程中,針對緩存的時效性和一致性進行了優化,這不僅提高了查詢性能和穩定性,還有效降低了對 Hive Metastore 和 HDFS 的訪問壓力。

  • 提升數據緩存命中率Doris 數據緩存屬于本地緩存,采用一致性哈希算法確保對相同數據文件的請求被發送到同一個節點,從而提升緩存命中率。在豐景臺場景中,緩存命中率高達96%

  • 單查詢文件列表共享:在需要實時感知 Hive 分區文件變化的場景中,關閉了 Doris 的全局分區文件列表緩存,這意味著每次查詢需通過 List 操作從 HDFS 獲取文件列表。為此,Doris 進行了優化。例如在同一查詢中對同一張表的子查詢時,進行 Union 或自關聯操作,子查詢間可以共享文件列表。這使得查詢規劃性能數倍提升,并降低了對 HDFS 的請求壓力。


基于 Doris 的云產品改造Doris 除了在豐景臺場景廣泛應用之外,順豐科技正在基于 Doris 進行內部云產品改造,面向順豐內部提供按需的 Doris 集群服務。當前正進行 Doris 容器化部署的實踐,通過容器化的方式, 提供更小規格的資源供業務選擇,實現按需使用。以下為內部云上 Doris 產品圖以及部分管理頁面展示:




應用層主要分為兩部分:

  • 面向用戶:用戶能夠在頁面上進行集群申請操作,該申請流程會自動接入內部計費體系。在完成集群申請后,用戶可在頁面上進行查詢以及查看監控、日志,實施庫表授權等相關自助操作,還可通過頁面針對所在的慢查詢進行分析等。

  • 面向運維:運維人員可以對所有資源進行管理,諸如存儲空間、集群等。同時,還能夠對集群進行版本升級以及通用模版配置修改等多種操作,從而便于運維人員在線上對故障進行快速處理,以保障云上集群的服務質量。

順豐科技期望在 2025 年全面完成 Doris 的平臺化建設,推動 Doris 產品更廣泛在內部應用。


結束語01 業務收益

目前,順豐的臨時查詢業務、豐景臺報表業務場景已從 Presto 100% 切換到 Doris 集群中,日均查詢量超過 100W。

  • 查詢性能提升 3 倍P95 性能降低到 20 秒以內,提升近 3 倍。大于 50s 的查詢由 8% 降低至 1.5%,小于 10s 的查詢比例由 72% 提升至 88%。

  • 硬件資源節省 48%:將 Presto 的上萬核規模降低至 Doris 的數千核規模,實現了約 48% 的資源節省。

02 未來規劃

除了湖倉分析場景,Doris 在日志分析和實時報表分析中表現同樣出色。順豐科技正與 Doris 社區、飛輪科技團隊合作,持續推進 Doris 在內部的業務拓展。

  • 完善穩定性及兼容性今年將全面下線 Presto 服務,繼續完善 Doris 集群穩定性,并增強對 Presto SQL 的兼容性。同時引入 Delta Lake 替換 Hive 格式,驗證 Doris 3.0 版本對 Delta Lake 的支持(Doris 計劃在 3.1 版本中增強對 Delta Lake 的讀取能力)。

  • 日志及半結構化場景應用:Doris 當前已在多個企業的日志及半結構化數據分析場景成功落地,順豐也在嘗試用 Doris 替換 Elasticsearch,簡化更多數據平臺的組件,構建統一數據分析技術棧。

  • 嘗試存算分離架構:計劃引入 Doris 3.0 版本所支持的存算分離架構,不僅提升多租戶彈性能力,還能支持冷數據動態備份,降低用戶存儲成本。

  • Doris 集群運維:隨著 Doris 在順豐內部的逐漸鋪開,需要更完善的工具來運維 Doris 集群或診斷線上問題。順豐正在推動 Doris 社區提供更加完善的 SQL 診斷工具,如可視化的 Query Profile 分析能力、慢 SQL 診斷優化工具等。


特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
氛圍超贊!淮安南京比賽一側看臺坐滿觀眾,tifo“崛起江淮”矚目

氛圍超贊!淮安南京比賽一側看臺坐滿觀眾,tifo“崛起江淮”矚目

直播吧
2025-06-14 16:17:14
美媒:伊朗犯了一個大錯

美媒:伊朗犯了一個大錯

環球時報新聞
2025-06-14 23:54:17
羅馬仕發布公開聲明致歉

羅馬仕發布公開聲明致歉

最江陰
2025-06-14 21:27:30
19天套現13.7萬!多地國補緊急叫停,萬億補貼究竟肥了誰?

19天套現13.7萬!多地國補緊急叫停,萬億補貼究竟肥了誰?

任紀煙
2025-06-14 21:28:20
6月14日俄烏:美反對G7降低俄石油上限,俄軍戰機擊落自家飛機

6月14日俄烏:美反對G7降低俄石油上限,俄軍戰機擊落自家飛機

山河路口
2025-06-14 18:19:12
兒子出國后16年沒聯系,我癌癥住院時,主治醫生摘下口罩:媽

兒子出國后16年沒聯系,我癌癥住院時,主治醫生摘下口罩:媽

五元講堂
2025-06-12 15:16:01
479架俄機轟炸基輔13小時,俄一夜進攻三州,烏克蘭陷入滅國憂慮

479架俄機轟炸基輔13小時,俄一夜進攻三州,烏克蘭陷入滅國憂慮

肖茲探秘說
2025-06-13 13:16:48
遇到NBA總決賽G4這么黑的裁判怎么辦?楊鳴:我先吃1T再說

遇到NBA總決賽G4這么黑的裁判怎么辦?楊鳴:我先吃1T再說

直播吧
2025-06-14 16:29:42
禁酒令初衷良好,執行中層層加碼導致基層困境

禁酒令初衷良好,執行中層層加碼導致基層困境

老羴學科普
2025-06-13 02:39:50
圖片報吐槽多特世俱杯球衣:像是20幾個肉圓子在肩膀翻滾

圖片報吐槽多特世俱杯球衣:像是20幾個肉圓子在肩膀翻滾

直播吧
2025-06-14 13:57:21
缺口達萬億!機構稱:賬期60天若嚴格實行,僅兩家車企資金安全

缺口達萬億!機構稱:賬期60天若嚴格實行,僅兩家車企資金安全

明鏡pro
2025-06-14 07:49:02
今日父親節,牢記:1不出,2不送,吃3樣,表達感恩孝順,要重視

今日父親節,牢記:1不出,2不送,吃3樣,表達感恩孝順,要重視

小茉莉美食記
2025-06-15 00:10:03
他是化學博士,也是格斗冠軍!一拳把史泰龍打進ICU的“學霸猛男”,晚年患癌卻讓死神敗退!

他是化學博士,也是格斗冠軍!一拳把史泰龍打進ICU的“學霸猛男”,晚年患癌卻讓死神敗退!

跑步心情
2025-06-14 18:48:12
不是P的吧?杜蘭特曝光A-史密斯 總決賽現場不看球玩紙牌游戲

不是P的吧?杜蘭特曝光A-史密斯 總決賽現場不看球玩紙牌游戲

直播吧
2025-06-15 00:07:17
種牙背后五大雷區!三甲醫生含淚忠告:這些人的牙床正在悄悄崩塌

種牙背后五大雷區!三甲醫生含淚忠告:這些人的牙床正在悄悄崩塌

戰術小豬
2025-06-14 17:22:26
納悶!宋祖兒總愛露腳,莫非她這雙腳真有那么好看?

納悶!宋祖兒總愛露腳,莫非她這雙腳真有那么好看?

手工制作阿殲
2025-06-14 14:11:07
兩天預約近4萬人次,揚州瘦西湖已被蘇超游客“占領”

兩天預約近4萬人次,揚州瘦西湖已被蘇超游客“占領”

現代快報
2025-06-14 14:31:04
宋威龍收視慘淡連垮6部戲,與張婧儀趙今麥合作新劇拼翻身

宋威龍收視慘淡連垮6部戲,與張婧儀趙今麥合作新劇拼翻身

一盅情懷
2025-06-14 15:35:56
票房從19.41億跌到532萬,我感慨:這塊喜劇片金字招牌算砸了!

票房從19.41億跌到532萬,我感慨:這塊喜劇片金字招牌算砸了!

靠譜電影君
2025-06-14 22:43:05
舅媽出軌被外甥意外撞破,外甥答應隱瞞,提出的條件卻讓她......

舅媽出軌被外甥意外撞破,外甥答應隱瞞,提出的條件卻讓她......

歷史八卦社
2025-06-10 23:45:11
2025-06-15 06:52:49
CSDN incentive-icons
CSDN
成就一億技術人
25642文章數 242071關注度
往期回顧 全部

科技要聞

一輛新車比特斯拉FSD都便宜,全行業陪葬?

頭條要聞

以防長威脅哈梅內伊:若繼續發射導彈 德黑蘭將成火海

頭條要聞

以防長威脅哈梅內伊:若繼續發射導彈 德黑蘭將成火海

體育要聞

約戰天王山,步行者G4輸在了哪?

娛樂要聞

小S迎47歲生日,首個生日沒大S陪伴

財經要聞

樓市權威發聲

汽車要聞

長城為了拿環塔冠軍有多拼?魏建軍在下一盤大棋!

態度原創

藝術
家居
健康
親子
軍事航空

藝術要聞

故宮珍藏的墨跡《十七帖》,比拓本更精良,這才是地道的魏晉寫法

家居要聞

森林幾何 極簡灰調原木風

呼吸科專家破解呼吸道九大謠言!

親子要聞

沒有禮物的父親節,我就自己來!

軍事要聞

伊媒:以色列國防部大樓被伊朗導彈擊中

無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 国产精品欧美在线视频| 欧洲人妻丰满av无码久久不卡| 国产又黄又爽胸又大免费视频| 亚洲中文有码字幕青青| av电影在线观看| 国产成人片无码免费视频软件| 亚瑟av亚洲精品一区二区| 无码中文av有码中文a| 狠狠综合久久久久综合网浪潮| av在线无码专区一区| 日韩免费无码一区二区视频| 无人区码一码二码w358cc| 久久精品女同亚洲女同| 欧产日产国产精品| 天天躁日日躁狠狠躁免费麻豆| 国产三级精品三级在专区| 精品爽爽久久久久久蜜臀| 中文字幕一区二区三区日韩精品| 吃奶呻吟打开双腿做受在线视频| 亚洲男人第一av天堂| 吸咬奶头狂揉60分钟视频| 久久国产精品二国产精品| 无码中出人妻中文字幕av| 无码人妻丰满熟妇bbbb| 中无码人妻丰满熟妇啪啪| 免费人成年激情视频在线观看| 最近2019好看的中文字幕免费| 亚洲综合色aaa成人无码| 色悠久久久久综合欧美99| 久久高清内射无套| 乱子伦视频在线看| 国产热の有码热の无码视频| 凹凸精品熟女在线观看| 欧美顶级少妇作爱| 精品欧洲av无码一区二区男男| 波多野结衣绝顶大高潮| 99精品国产99久久久久久97| 国语自产偷拍精品视频偷| 最新69国产成人精品视频免费| 日产亚洲一区二区三区| 特殊重囗味sm在线观看无码|