
天翼雲是中國電信旗下一家科技型、平臺型、服務型公司,以“雲網融合、安全可信、綠色低碳、生態開放”四大優勢向客戶提供公有云、私有云、專屬雲、混合雲、邊緣雲全棧雲服務。目前,天翼雲基於 Apache Doris 成功落地專案已超 20 個,整體叢集規模超 50 套,部署節點超 3000 個,儲存容量超 15PB。天翼雲基於 Apache Doris 和 Apache Iceberg 構建的湖倉一體方案,兼具靈活性、高效能和低成本優勢,同時滿足了報表和 BI 分析、湖倉融合分析、日誌儲存分析、高併發即時分析、MPPDB 國產化替代等多種場景需求。
天翼雲資料來源眾多,在資料整合和共享方面面臨挑戰。早期採用的資料倉庫與資料湖分離的架構導致資料分散在不同系統和儲存中,形成了資料孤島。此外,面對大規模和多樣化資料時,常常遭遇效能不足和靈活性差的問題。
為此,天翼雲全新架構基於 Apache Doris 和 Apache Iceberg 實現湖倉一體方案,構建了一個兼具靈活性、高效能和低成本的資料平臺。

天翼雲的資料來源多樣,包括 B 域、O 域和 M 域等多方資料。資料透過 Kafka 進行採集,並使用 Flink 和 Spark 實現資料加工處理。依據資料時效性的需求,資料被接入 Iceberg 資料湖或 Doris 內部儲存。在這一架構中,Doris 扮演了兩個重要角色:
-
資料湖分析處理引擎:Doris 與 Iceberg 資料湖深度融合,能夠直接訪問 Iceberg 表中資料,實現湖中資料的加速查詢。分析結果不僅可以展示給應用層,也可以透過 Doris 寫回到 Iceberg 中進行儲存。消除了資料孤島、提升了分析效率。
-
即時分析引擎:Doris 具備強大的即時分析能力,能夠對資料進行極速分析。對於時效性要求更高(秒級)的資料,經過處理後直接流入 Doris,使其能夠快速進行分析和對外服務。
即時報表和多維分析是天翼雲內部應用最廣泛的場景之一,主要面向資料分析人員,提供經營分析、地市公式 BI 等服務。該場景將 Doris 作為資料分析和即席查詢工具,顯著提升了各省資料平臺的查詢效率,推動了數字化轉型的程序。

-
加速報表週期性:使用 Doris 替代原有經分系統的 Impala+Redis 架構,解決 Impala 穩定性差和 Redis 快取量有限的問題。這一轉變不僅加速了報表的生成周期,還提高了整體的資料處理能力,使得資料分析更加高效。
-
實現去“O”目標:透過能開平臺直連 Doris,成功替代資料集市 Oracle 資料庫。基於 Doris 高效分析能力,滿足業務側對資料呼叫及查詢響應的嚴格要求,響應時間控制在 0.4s~0.7s。
-
秒級別快速檢索:使用 Doris 替代地市公司 BI 系統使用的 PG 元件,使得在資料分析過程中,計數、聚合和單條快速檢索等運算都能在秒級內完成。這種快速檢索能力極大地提高了資料分析的即時性,為業務決策提供了更加及時和準確的資料支援。
-
統一多技術棧:基於 Doris 替換了多個技術元件,實現技術棧的統一,顯著簡化了架構。這不僅降低了系統的複雜性,還帶來了效能的顯著提升。
湖倉一體架構在天翼雲內部的應用已成熟。Apache Iceberg 作為主要的湖格式,其中存放 TB ~ PB 級別的資料,再透過 Doris 引擎對 Iceberg 資料進行查詢加速,支撐了 BI 報表、即時戰報、智慧運維、線上應用等多種業務場景。
下圖是以 Doris 作為核心分析引擎的湖倉一體架構全景圖:

Doris 作為核心分析引擎,可以直接訪問 Iceberg 表資料進行資料分析獲取結果。結合資料快取、物化檢視透明加速等能力,可以極大的提升湖上資料得分析效能。在許可權管理方面,天翼雲使用 Apache Ranger 對 Doris、Spark、Hive、Iceberg 等元件進行統一管理。結合 Doris 對包括內表在內的其他資料來源的關聯查詢能力,為業務提供統一、高效的即時資料分析能力。
在湖倉一體建設過程中,天翼雲和 Doris 社群緊密合作,在查詢效能和 Iceberg 生態對接方面共建完成了大量工作,顯著提升了 Doris 在湖倉融合場景下的實踐能力。
在查詢效能方面,天翼雲和 Doris 社群共同完成了複雜型別(Array、Map、Struct)的延遲物化功能。延遲物化是減少網路 IO 的一項重要技術,開啟延遲物化功能後,資料掃描節點會優先讀取謂詞條件列,在使用過濾後的行號,讀取剩餘的列資料。如下 SQL:
SELECTname, age, email, phone, address
FROMusers
WHERE age > 25 AND city = 'Shanghai';
沒有延遲物化的情況下,會將 name, age, email, phone, address 這 5 列資料全部讀取後,再進行 age > 25 AND city = 'Shanghai'; 的條件過濾。而開啟延遲物化後,會先讀取 age 和 city 列進行條件過濾,再讀取剩餘的 email, phone, address 列。當謂詞條件過濾率很高時,可以極大減少不必要的資料讀取。

最佳化後,相關型別查詢的 IO 請求量從幾百 GB 降至幾百 MB,有效緩解了網路頻寬壓力,並提升了整體查詢效能。
天翼雲在 2024 年中旬,結合自身業務的發展和使用者需求,亟需在 Doris 中支援 Iceberg 的寫回能力,以便使用者能夠在 Doris 對 Iceberg 表資料進行完整的資料處理操作。因此,天翼雲和 Doris 社群合作,共同完成了 Iceberg 表的寫回能力,並對分割槽資料傾斜、寫入併發度調整等方面進行了深入的設計和開發。目前該功能已經在 2.1 系列版本釋出。

透過 Iceberg 寫回能力,使用者可以在 Doris 中進行資料處理。結合非同步物化檢視進行資料的分層加工,並將結果資料直接寫回到 Iceberg 表。利用 Iceberg 表基於共享儲存的特性,這些分析後的結果可以方便的共享給其他 Doris 叢集或其他業務,達到資料共享的目的。
未來,天翼雲將進一步最佳化和增強 Doris 對 Iceberg 的資料處理能力,包括資料 Rewrite、Snapshot 管理等功能,將 Doris 打造成完善的湖倉資料處理引擎。
在現代 IT 環境中,日誌管理和分析是確保系統安全性和高效性的關鍵。傳統的日誌架構,如 ELK(Elasticsearch, Logstash, Kibana),雖然廣泛應用,但在處理大規模日誌資料時,常常面臨成本高昂、查詢效率低下、擴充套件性不足的問題。這一問題在省市級別的安全閘道器和系統運維場景中尤為突出,隨著資料量的激增,日誌檢索和儲存的壓力不斷增加。
因此,天翼雲決定透過引入 Doris 替代傳統的 ELK 架構,提升日誌系統的查詢效率,以滿足安全閘道器和系統運維等場景基於日誌的線上應用、聚類分析、異常分析、智慧診斷的服務。

具體來說,透過 Agent 或 Open Telemetry 上報日誌資料。對於日誌量較大或重要性較高的日誌,首先將其儲存在 Kafka 中,以確保資料的可回溯性。隨後,這些日誌資料可以透過 Flink 進行加工,或直接使用 Doris 的 Routine Load 功能匯入到 Doris 中。對於日誌量較小的業務系統(如天級別百億資料量以下的系統),則直接透過 Open Telemetry 寫入 Doris。最終由 Doris 提供對外的服務支援。
透過引入 Doris,最終實現寫入吞吐提升 5 倍、儲存成本降低 80%、百億級日誌檢索秒級響應、查詢效率提升 3 倍的顯著收益。
天翼雲的物聯網平臺(AIoT)主要是對智慧監控裝置、使用者行為資料、環境監測等資料進行分析。各裝置即時上傳資料,平臺需處理超過 1 萬的併發請求,確保高效執行。資料表規模龐大,總記錄數達到百億,單日新增資料可達幾個億,且大多數查詢返回單行結果,要求快速執行和高效查詢。同時,系統需即時更新資料,以確保資訊的時效性和準確性。
基於 3AZ 多活雲資源池(蘇州、無錫、太湖三個可用區),天翼物聯網平臺透過雲原生技術完成了架構升級。透過引入 Doris,提供海量資料的高併發查詢能力,助力物聯網行業應用的快速發展。
該專案充分運用了 Doris 在高併發讀取和寫入場景下的技術特性,包括:
-
合理的分割槽分桶規劃:合理的分割槽分桶規劃能夠確保資料均勻的分佈在 Doris 叢集內。不論寫入還是查詢操作,都能充分且均衡地利用叢集資源。同時,透過分割槽分桶裁剪能力,能夠極大程度減少單查詢的資源消耗,提升併發能力。
-
強大的資料索引:Doris 支援豐富的資料索引型別。包括智慧索引、布隆過濾器、倒排索引等。透過合理使用索引,可以進一步減少不必要的資料掃描,提升資料的檢索速度。
-
合理的匯入批次:透過合理的設定每批次匯入資料量的大小,可以在匯入吞吐和資料時效性之間找到最佳平衡點。使用者可以在客戶端進行資料攢批,也可以利用 Doris 的 Group Commit 功能在 Doris 服務端進行攢批。服務端攢批降低了使用者維護匯入狀態的成本,也降低了客戶端資料處理的壓力。
天翼雲透過合理運用以上技術手段,並進行了詳細測試和調優,最終在物聯網業務中實現了平均 QPS 8000,峰值 QPS 15000 的效能表現。

天翼雲圍繞國產化基礎設施(CPU、OS),在採集、儲存、排程和計算等四個核心業務層面構建國產化大資料平臺。其中,Doris 作為大資料 MPP 計算的重要角色,經過最佳化後成功在鯤鵬晶片上落地,並進行了許可權擴充套件和安全加固,為國產化大資料平臺的構建貢獻了力量。

天翼雲與 Doris 社群、鯤鵬 ARM 晶片聯合共建了以下能力:
-
編譯效率提升:結合畢昇編譯器,Doris 編譯效率提升 30%。開發和部署新功能的速度顯著加快,縮短了產品的迭代週期。
-
執行效率提升:最佳化 Bitshuffle ,使得 Doris 的執行效率提升了 25%。這一提升不僅提高了資料處理的速度,還有效降低了資源消耗,進一步增強了系統的穩定性和可擴充套件性,支援更大規模的資料集處理。
-
資料安全性增強:實施安全加固措施,包括資料傳輸和儲存的加密處理、訪問控制的最佳化以及即時監測機制的引入,確保使用者資料在使用過程中的安全性,有效防止了未授權訪問和資料洩露。
天翼雲基於 Apache Doris 成功落地專案已超 20 個,整體叢集規模超 50 套,儲存節點達 3000 個,儲存容量超 15PB。所服務場景包括報表和 BI 分析、湖倉融合分析、日誌儲存分析、高併發即時分析、MPPDB 國產化替代等多個場景。未來,天翼雲也將繼續推廣 Doris,並在以下幾方面發力:
-
存算分離:探索 Doris 存算分離架構,利用存算分離解決業務場景中資料共享、冷熱分離,資源隔離等難題。
-
業務落地:積極推廣 Doris 在資料分析、日誌檢索、即席查詢等場景的落地,助力客戶實現數字化轉型。
-
推動國產化:繼續最佳化 Doris 在 ARM 平臺的效能問題,推動國產化程序。
-
擁抱社群:積極參與社群共建工作,合作完善元資料、Catalog、CRC、存算分離等模組建設,推動 Doris 向好發展。
關鍵詞:# 湖倉分析
本文轉錄自李康(天翼雲 大資料總監)在 Doris Summit Asia 2024 上的演講,經編輯整理。
