TikTok的重要支进去自直播和电商,这要务实时处置数据,比批处置更复杂,触及多流衔接和维度表降级,须要更多开发和保养资源,且为保证系统稳固,常造成资源糜费。本文约请了TikTok数据平台团队分享他们如何应用Apache Doris构建实时数据架构,可作为高效实时数据仓库的范例学习。
在迁徙到Apache Doris前,TikTok经过Flink传输实时数据,并经常使用Kafka在不同数据层间成功数据流动。因为Kafka自身没有逻辑表,因此在其上开发不如在Hive上那么容易。关于TikTok来说,实时数据与离线数据之间的数据量存在清楚差距。因为与实时数据相关的开发、运营和资源老本,团队偏差于降低实时数据的要求,但这只是一种暂时的处置打算。
基于Flink的架构在TikTok中已是一个成熟的处置打算。它重要用于成熟的业务运行。在数据存储方面,它应用Kafka提供的逻辑表格局。虽然不足字段、解放和高数据可追溯性,这种逻辑表方法仍支持了超越一半的实时数据开发。
新的架构基于Apache Doris,结构更便捷,相似于离线Hive设置。这种基于Doris的架构的关键在于将亚秒级调度引擎与OLAP引擎相联合。这使得数据分层和重用离线开发成为或许。
为服务于TikTok的直播业务,OLAP引擎应在以下方面体现良好。
TikTok处置这些应战的形式如下。
实时数据仓库如何支持TikTok的直播业务?
它构建了一个实时排行榜来监测其直播业务的体现。如前所述,它从Flink 迁徙到了Apache Doris,新打算对元数据有明白的定义。元数据从实时表中的字段解析而来并给出定义。定义元数据是对排行榜业务逻辑的形象。这还触及实时排行榜的分区逻辑定义。经过便捷的性能,可以极速创立相应的Flink义务。
但是,对这种实时排行榜的需求激增,对Flink架构带来了几方面的应战。首先,过多的排行榜造成义务激增,使得资源治理更艰巨,尤其是须要24/7运转的实时流处置。其次,来自实时义务的警报越来越频繁。此外,少量义务共享同一信息队列,参与了流量,给HDFS带来了额外的累赘。此外,因为电商中的大型促销优惠往往继续较长时期,长周期计算对Flink的稳固性构成要挟,也使得回溯变得艰巨。为处置这些疑问,保养人员通常须要在形态相对较小、回溯压力较轻的午夜启动操作。
与Flink的处置打算相比,基于Doris的数据仓库消耗的资源更少,发生的警报也更少。此外,因为形态存储在Doris表中,长周期计算变得愈加灵敏。
本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/8950.html