成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Doris企業級實戰,構建TikTok實時數據倉庫

大數據 數據分析
在遷移到Apache Doris前,TikTok通過Flink傳輸實時數據,并使用Kafka在不同數據層間實現數據流動。由于Kafka本身沒有邏輯表,因此在其上開發不如在Hive上那么容易。

TikTok的主要收入來自直播和電商,這要求實時處理數據,比批處理更復雜,涉及多流連接和維度表更新,需要更多開發和維護資源,且為保障系統穩定,常導致資源浪費。本文邀請了TikTok數據平臺團隊分享他們如何利用Apache Doris構建實時數據架構,可作為高效實時數據倉庫的范例學習。

1. TikTok的實時數據倉庫

圖片圖片

在遷移到Apache Doris前,TikTok通過Flink傳輸實時數據,并使用Kafka在不同數據層間實現數據流動。由于Kafka本身沒有邏輯表,因此在其上開發不如在Hive上那么容易。對于TikTok來說,實時數據與離線數據之間的數據量存在顯著差距。由于與實時數據相關的開發、運營和資源成本,團隊傾向于降低實時數據的要求,但這只是一種臨時的解決方案。

  • 開發成本:由于Flink是一個具有增量狀態的狀態化數據流引擎,它要求開發者對底層架構有更深入的了解,尤其是在多流JOIN操作中。增量狀態使其無法像Hive那樣將完整的數據狀態存儲到內存。實時數據需要巨大的存儲容量,并且需要使用各種計算引擎(例如OLTP引擎MySQL,OLAP引擎ClickHouse和Apache Doris,以及KV存儲Abase、Tier和Redis)滿足不同的計算需求,這增加了開發的復雜性。增量狀態也使得測試更具挑戰性。
  • 維護成本:復雜的多流JOIN操作通常需要存儲大量狀態數據,這可能導致穩定性問題,特別是在處理連續的實時流時。TikTok的直播業務在不斷創新。當數據模式發生變化時,直接部署可能因狀態結構的改變而導致數據恢復失敗。
  • 資源問題:在實時場景中,資源的低效利用是一個常見問題。例如,在銷售活動開始時,通常會有短暫的流量激增,但幾分鐘后流量會迅速下降。然而,為了確保整個活動期間的穩定性,必須全天候維持高水平的資源,這導致了資源的浪費。

圖片圖片

基于Flink的架構在TikTok中已是一個成熟的解決方案。它主要用于成熟的業務應用。在數據存儲方面,它利用Kafka提供的邏輯表格式。盡管缺乏字段、約束和高數據可追溯性,這種邏輯表方法仍支持了超過一半的實時數據開發。

新的架構基于Apache Doris,結構更簡單,類似于離線Hive設置。這種基于Doris的架構的關鍵在于將亞秒級調度引擎與OLAP引擎相結合。這使得數據分層和重用離線開發成為可能。

2. OLAP引擎

為服務于TikTok的直播業務,OLAP引擎應在以下方面表現良好。

  • 跨站點災難恢復:這為直播提供了穩定性保證,以避免因服務不可用而導致的重大財務損失。
  • 讀寫隔離:這是穩定性的另一個保障。
  • 跨集群ETL:數據分散在不同的集群中,用于不同的業務場景。例如,集群 B 和 C 都處理交易數據,這些數據應該從集群 B 同步到 C,否則會導致跨業務線的數據倉庫重復建設,并對人力和資源造成負擔。

圖片圖片

TikTok解決這些挑戰的方式如下。

  • 跨站點災難恢復:每個表都存儲了三個副本。這些副本分布在數據中心中,以確保每個站點的可用性。生產端的消息隊列經過中間處理后到達消費端,形成了完整的數據服務鏈路。在單個數據中心中斷的情況下,生產和消費都有相應的策略來確保服務效率和穩定性。
  • 讀寫隔離:讀寫流量被路由到不同的集群組。
  • 跨集群 ETL:對于跨集群的讀寫,TikTok根據不同的業務需求和時間敏感性采用了兩種機制。一種是使用Spark將數據源格式讀入Yarn集群,然后同步到其他集群。另一種是利用Apache Doris的跨集群復制能力。Spark on Doris方法更穩定,不消耗Doris的計算資源,而第二種方法更高效。

3. 實時排行榜

實時數據倉庫如何支持TikTok的直播業務?

它構建了一個實時排行榜來監測其直播業務的表現。如前所述,它從Flink 遷移到了Apache Doris,新方案對元數據有明確的定義。元數據從實時表中的字段解析而來并給出定義。定義元數據是對排行榜業務邏輯的抽象。這還涉及實時排行榜的分區邏輯定義。通過簡單的配置,可以快速創建相應的Flink任務。

圖片圖片

然而,對這種實時排行榜的需求激增,對Flink架構帶來了幾方面的挑戰。首先,過多的排行榜導致任務激增,使得資源管理更困難,尤其是需要24/7運行的實時流處理。其次,來自實時任務的警報越來越頻繁。此外,大量任務共享同一消息隊列,增加了流量,給HDFS帶來了額外的負擔。此外,由于電商中的大型促銷活動往往持續較長時間,長周期計算對Flink的穩定性構成威脅,也使得回溯變得困難。為解決這些問題,維護人員通常需要在狀態相對較小、回溯壓力較輕的午夜進行操作。

與Flink的解決方案相比,基于Doris的數據倉庫消耗的資源更少,產生的警報也更少。此外,由于狀態存儲在Doris表中,長周期計算變得更加靈活。

責任編輯:武曉燕 來源: Java學研大本營
相關推薦

2023-10-05 18:25:40

存儲分開存儲SSD

2024-01-12 18:02:38

Doris數據平臺

2022-06-28 09:47:05

數據倉庫

2024-02-19 00:06:06

數據分析系統Doris

2022-11-07 18:35:09

企業級數據倉庫ETL工具

2020-02-05 15:09:38

數據倉庫數據中臺OPPO

2025-02-06 08:54:54

2021-10-11 14:28:25

TypeScript企業級應用

2023-09-11 12:57:00

大數據大數據中臺

2014-08-18 09:01:09

Teradata數據倉庫

2018-04-26 18:23:37

華為

2017-08-17 15:52:38

企業數據倉庫

2009-01-03 14:54:36

ibmdwWebSphere

2009-06-03 14:24:12

ibmdwWebSphere

2011-03-31 13:21:14

SYBASE IQ企業級數據倉庫

2020-02-17 11:37:54

大數據數據倉庫技術

2022-03-07 07:18:18

Netflix機器學習架構

2024-05-20 11:23:18

2009-01-18 16:08:30

數據倉庫商務智能數據提取層
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本高清不卡视频 | 91一区二区三区 | 日本a v在线播放 | 91免费电影 | 日韩中文字幕 | 最新毛片网站 | 欧美精品中文字幕久久二区 | 亚洲一区二区三区四区五区午夜 | 亚洲天堂网站 | 免费在线看黄 | 成人免费视频网站在线看 | av一区二区在线观看 | 色视频在线观看 | 成人福利影院 | 日韩在线视频一区 | 久久综合狠狠综合久久综合88 | 亚洲网站在线观看 | 精品国产99 | 亚洲欧美一区二区三区视频 | 国产欧美在线 | 精品丝袜在线 | 精品视频免费 | 视频一区在线 | 久久不卡视频 | 中文字幕av一区二区三区 | 欧美性网站 | 污片在线免费观看 | 色橹橹欧美在线观看视频高清 | 免费观看一级特黄欧美大片 | 欧美日韩久久久 | 欧美片网站免费 | 国产中文字幕网 | 亚洲精品乱码久久久久v最新版 | 亚洲综合区 | 欧美一区二区小视频 | 亚洲成人免费电影 | 亚洲国产精品福利 | 欧美爱爱视频 | 亚洲色综合 | 国产精品久久久久久久久久久久 | 99精品久久 |