繁體簡(jiǎn)體

中國(guó)郵政郵科院應(yīng)用StarRocks的實(shí)踐,統(tǒng)一OLAP平臺(tái)大幅降低運(yùn)維成本

郵政科學(xué)研究規(guī)劃院有限公司(以下簡(jiǎn)稱(chēng)“郵科院”),作為中國(guó)郵政集團(tuán)有限公司的科研智庫(kù)單位,專(zhuān)注于戰(zhàn)略規(guī)劃、企業(yè)管理、工程設(shè)計(jì)、物流裝備、智能終端、質(zhì)量檢測(cè)、標(biāo)準(zhǔn)化研究等領(lǐng)域,在助力中國(guó)郵政戰(zhàn)略轉(zhuǎn)型和經(jīng)營(yíng)發(fā)展中發(fā)揮著重要支撐作用。

郵科院數(shù)據(jù)組負(fù)責(zé)全院大數(shù)據(jù)體系架構(gòu)的建設(shè),支撐日常BI運(yùn)營(yíng)分析、科研數(shù)據(jù)產(chǎn)品、物流數(shù)據(jù)、網(wǎng)點(diǎn)畫(huà)像等業(yè)務(wù)場(chǎng)景。郵科院數(shù)據(jù)組通過(guò)使用StarRocks,統(tǒng)一了實(shí)時(shí)和離線的分析場(chǎng)景,替換了ClickHouse、Presto、MySQL等系統(tǒng),解決了原有多套系統(tǒng)帶來(lái)的運(yùn)維和使用復(fù)雜性,簡(jiǎn)化了數(shù)據(jù)ETL流程,同時(shí)大幅提升OLAP、Adhoc等場(chǎng)景的查詢效率。本文主要介紹郵科院數(shù)據(jù)組基于新一代極速全場(chǎng)景MPP數(shù)據(jù)庫(kù)StarRocks,在數(shù)據(jù)服務(wù)體系和數(shù)據(jù)應(yīng)用場(chǎng)景中的實(shí)踐和探索。

業(yè)務(wù)背景

隨著科研數(shù)據(jù)積累越來(lái)越大,數(shù)據(jù)規(guī)模和體量也急劇膨脹??蒲械脑紨?shù)據(jù)通常來(lái)源于研報(bào)抽取、日志埋點(diǎn)文件、業(yè)務(wù)數(shù)據(jù)庫(kù)、三方接口等。過(guò)去通常基于CDH/Hadoop等大數(shù)據(jù)分布式計(jì)算框架和數(shù)據(jù)集成工具,構(gòu)建離線的數(shù)據(jù)倉(cāng)庫(kù),并對(duì)數(shù)據(jù)進(jìn)行適當(dāng)?shù)姆謱印⒔?、加工和管理,?gòu)建各類(lèi)分析主題。郵科院數(shù)據(jù)體系中沉淀了諸多研報(bào)主題數(shù)據(jù),例如:電商流量數(shù)據(jù),物流企業(yè)財(cái)務(wù)數(shù)據(jù),行業(yè)報(bào)告相關(guān)的數(shù)據(jù)等。

上層數(shù)據(jù)應(yīng)用對(duì)查詢的響應(yīng)延遲和時(shí)效性要求高,會(huì)將數(shù)據(jù)通過(guò)數(shù)據(jù)同步工具同步到MySQL、ElasticSearch、Presto、HBase、ClickHouse等數(shù)據(jù)庫(kù)系統(tǒng)中,來(lái)支撐上層數(shù)據(jù)應(yīng)用的查詢要求。

郵科院的大數(shù)據(jù)總體架構(gòu)如下圖所示,從下到上可以分為數(shù)據(jù)接入層、數(shù)據(jù)計(jì)算層、數(shù)據(jù)服務(wù)層和數(shù)據(jù)應(yīng)用層。

數(shù)據(jù)計(jì)算層使用科研工作各分析場(chǎng)景下產(chǎn)生的模型/方案/業(yè)務(wù)的明細(xì)數(shù)據(jù),進(jìn)行離線數(shù)據(jù)計(jì)算,對(duì)TB級(jí)別的明細(xì)數(shù)據(jù)進(jìn)行調(diào)度、聚合、計(jì)算,在數(shù)倉(cāng)里沉淀出大量明細(xì)表、聚合表和最終的數(shù)據(jù)報(bào)表。

數(shù)據(jù)計(jì)算層生成的各類(lèi)數(shù)據(jù)表,會(huì)同步到數(shù)據(jù)服務(wù)層,由數(shù)據(jù)服務(wù)層提供接口給數(shù)據(jù)應(yīng)用層使用,滿足不同的數(shù)據(jù)業(yè)務(wù)需求。

業(yè)務(wù)痛點(diǎn)

數(shù)據(jù)服務(wù)層的愿景是開(kāi)放數(shù)倉(cāng)能力,建立統(tǒng)一的數(shù)據(jù)服務(wù)出口,針對(duì)不同的數(shù)據(jù)業(yè)務(wù)分析場(chǎng)景(數(shù)據(jù)規(guī)模、QPS、UDF支持、運(yùn)維成本等),原有架構(gòu)在底層使用了不同的查詢引擎:

·大數(shù)據(jù)量、低QPS:使用Hive、Presto、ClickHouse等基于Hadoop生態(tài)的離線批任務(wù)計(jì)算框架和MPP數(shù)據(jù)庫(kù)來(lái)解決。

·小數(shù)據(jù)量、高QPS:使用MySQL、ElasticSearch、HBase、MongoDB等關(guān)系型/非關(guān)系型數(shù)據(jù)庫(kù)來(lái)解決。

使用多套查詢引擎,我們遇到如下問(wèn)題和挑戰(zhàn):

·離線/實(shí)時(shí)ETL任務(wù)過(guò)多,處理邏輯大部分為簡(jiǎn)單聚合/去重,聚合表數(shù)量龐大,導(dǎo)致運(yùn)營(yíng)和運(yùn)維上的成本增加;

·針對(duì)中等數(shù)據(jù)量、中等QPS的查詢場(chǎng)景,如何能兼顧數(shù)據(jù)規(guī)模的同時(shí),有較友好的查詢響應(yīng)延遲;

·大數(shù)據(jù)量下插入、更新的實(shí)時(shí)數(shù)據(jù)場(chǎng)景無(wú)法得到支持,例如:網(wǎng)點(diǎn)畫(huà)像、實(shí)時(shí)數(shù)據(jù)導(dǎo)入、郵路路徑、研報(bào)數(shù)據(jù)匯總等。

OLAP引擎選型

針對(duì)如上的問(wèn)題和挑戰(zhàn),我們的目標(biāo)是尋求盡可能少的OLAP引擎,利用在明細(xì)表上現(xiàn)場(chǎng)計(jì)算來(lái)解決ETL任務(wù)、數(shù)倉(cāng)表過(guò)多問(wèn)題,同時(shí)需要兼顧在數(shù)據(jù)規(guī)模、查詢QPS、響應(yīng)耗時(shí)、查詢場(chǎng)景方面的權(quán)衡。

目前市面上OLAP引擎百花齊放,諸如Impala、Druid、ClickHouse、StarRocks。經(jīng)過(guò)一番調(diào)研,我們最終選擇了StarRocks。StarRocks是基于MPP架構(gòu)的分析型數(shù)據(jù)庫(kù),自帶數(shù)據(jù)存儲(chǔ),整合了大數(shù)據(jù)框架的優(yōu)勢(shì),支持主鍵更新、支持現(xiàn)代化物化視圖、支持高并發(fā)和高吞吐的即席查詢等諸多優(yōu)點(diǎn),天然能解決我們上述的問(wèn)題。

StarRocks應(yīng)用實(shí)踐

StarRocks已經(jīng)投入生產(chǎn)環(huán)境,主要作為離線/實(shí)時(shí)數(shù)據(jù)的OLAP數(shù)據(jù)庫(kù)使用。離線數(shù)據(jù)主要存儲(chǔ)于HDFS中,通過(guò)DataX任務(wù)批量同步數(shù)據(jù)到StarRocks;另一部分實(shí)時(shí)數(shù)據(jù)主要存儲(chǔ)于Kafka中,使用StarRocks的routine load功能實(shí)時(shí)將數(shù)據(jù)從kafka寫(xiě)入到StarRocks。

在沒(méi)有引入StarRocks之前,我們使用的底層引擎是MySQL、Presto on HDFS和ClickHouse等系統(tǒng),對(duì)明細(xì)表/聚合表進(jìn)行查詢。這幾種方式都存在著不少問(wèn)題:

·MySQL處理上億規(guī)模的數(shù)據(jù),無(wú)論使用分庫(kù)分表、分區(qū)表、集群化部署的PolarDB方案,都會(huì)存在慢查詢、數(shù)據(jù)庫(kù)扛不住、運(yùn)維困難的窘境;

·Presto on HDFS的方案更偏向于分析型數(shù)據(jù)業(yè)務(wù),雖然能存儲(chǔ)海量的數(shù)據(jù),計(jì)算能力不錯(cuò),唯一致命的在于無(wú)法滿足在線業(yè)務(wù)的高吞吐QPS,查詢比較難做到毫秒級(jí)。

·ClickHouse對(duì)Join支持較弱,只能使用大寬表建模,不夠靈活,另外運(yùn)維也比較復(fù)雜。

在引入StarRocks替換MySQL、Presto和ClickHouse后,StarRocks帶來(lái)的業(yè)務(wù)效果如下:

·支撐了在線報(bào)表查詢+數(shù)據(jù)分析業(yè)務(wù),服務(wù)于對(duì)內(nèi)運(yùn)營(yíng)+對(duì)外行業(yè)分析的數(shù)據(jù)產(chǎn)品,報(bào)表業(yè)務(wù)查詢大部分耗時(shí)在毫秒級(jí)別,分析型業(yè)務(wù)查詢大部分耗時(shí)在秒級(jí)別;

·支持10億規(guī)模的明細(xì)表查詢,月、季、年等維度統(tǒng)計(jì)數(shù)據(jù)現(xiàn)場(chǎng)算聚合統(tǒng)計(jì)、精準(zhǔn)去重等,查詢耗時(shí)都能控制在500ms以內(nèi);

·千萬(wàn)級(jí)別的多表的Join和union查詢,經(jīng)過(guò)Colocate Join特性優(yōu)化,查詢響應(yīng)在秒級(jí)。

另外,我們還將StarRocks應(yīng)用到實(shí)時(shí)數(shù)據(jù)分析場(chǎng)景,StarRocks在實(shí)時(shí)數(shù)據(jù)分析主要有如下優(yōu)勢(shì):

·實(shí)時(shí)寫(xiě)入性能:目前StarRocks支持HTTP方式的Stream Load,可以自定義的分鐘級(jí)別微批寫(xiě)入,以及Routine Load功能,可以將Kafka的數(shù)據(jù)實(shí)時(shí)同步到StarRocks中,滿足當(dāng)前實(shí)時(shí)數(shù)據(jù)分析業(yè)務(wù);

·統(tǒng)一離線和實(shí)時(shí)分析:實(shí)時(shí)數(shù)據(jù)和離線數(shù)據(jù)更好的在StarRocks中進(jìn)行融合,靈活支撐應(yīng)用,數(shù)據(jù)存儲(chǔ)策略通過(guò)StarRocks動(dòng)態(tài)分區(qū)的功能進(jìn)行自動(dòng)管理;

·SQL Online Serving:高效的SQL即席查詢能力,能夠兼容業(yè)界標(biāo)準(zhǔn)的SQL規(guī)范,支撐業(yè)務(wù)靈活復(fù)雜的訪問(wèn),提高取數(shù)開(kāi)發(fā)的效率。

總結(jié)和規(guī)劃

郵科院數(shù)據(jù)組引入StarRocks生產(chǎn)集群,解決了數(shù)據(jù)服務(wù)層單表億級(jí)別規(guī)模、高QPS數(shù)據(jù)場(chǎng)景下引擎的空白,直接開(kāi)放明細(xì)表準(zhǔn)實(shí)時(shí)查詢的能力,給各項(xiàng)目組上層數(shù)據(jù)業(yè)務(wù)和BI系統(tǒng)提供了更多的選擇和自由度,同時(shí)將大大減少數(shù)倉(cāng)中大量ETL任務(wù)、聚合表、報(bào)表,降低了數(shù)倉(cāng)ETL的運(yùn)維壓力和維護(hù)成本,StarRocks綜合性價(jià)比較原有的MySQL、Presto、ClickHouse等同類(lèi)產(chǎn)品提升數(shù)倍以上。

未來(lái),郵科院在StarRocks的應(yīng)用和實(shí)踐上還有不少規(guī)劃:

·除了unique和duplicate數(shù)據(jù)模型,未來(lái)會(huì)將符合的數(shù)據(jù)場(chǎng)景遷移至aggregation模型,并使用物化視圖,進(jìn)一步降低數(shù)倉(cāng)開(kāi)發(fā)維護(hù)成本,降低查詢延遲;

·StarRocks on ES的功能也值得我們深挖和探索,解決原生ES集群無(wú)法支持跨索引Join的能力;

·更多數(shù)據(jù)應(yīng)用層的場(chǎng)景接入StarRocks,例如網(wǎng)點(diǎn)畫(huà)像服務(wù)、郵路路徑分析等,將進(jìn)一步拓展StarRocks在實(shí)時(shí)數(shù)據(jù)寫(xiě)入、批量數(shù)據(jù)更新場(chǎng)景中的應(yīng)用;

·與科研數(shù)據(jù)分析平臺(tái)、數(shù)倉(cāng)平臺(tái)深度打通,完善數(shù)據(jù)整體架構(gòu),作為數(shù)據(jù)團(tuán)隊(duì)的基礎(chǔ)設(shè)施去保障穩(wěn)定性和服務(wù);

·考慮使用多云架構(gòu),自主可控的數(shù)倉(cāng)架構(gòu)可以靈活的在多云間切換遷移,降低單一云廠商的依賴(lài),控制成本提高可用性。

·......

最后的最后,感謝StarRocks技術(shù)團(tuán)隊(duì)給予的熱情、靠譜的答疑解惑和技術(shù)支持!另外,郵科院數(shù)據(jù)組熱烈歡迎對(duì)數(shù)據(jù)分析感興趣的同學(xué)發(fā)送簡(jiǎn)歷。(作者:謝翔 郵政科學(xué)研究規(guī)劃院有限公司寄遞研究所數(shù)據(jù)組負(fù)責(zé)人,專(zhuān)注于數(shù)倉(cāng)建設(shè)、數(shù)據(jù)分析等領(lǐng)域研究。)

來(lái)源:中國(guó)資訊報(bào)道網(wǎng)


責(zé)任編輯:侯哲
熱門(mén)評(píng)論
互聯(lián)網(wǎng)新聞信息服務(wù)許可證10120170072
京公網(wǎng)安備 11010502045281號(hào)
違法和不良信息舉報(bào)電話:010-65669841
舉報(bào)郵箱:xxjb@huaxia.com

網(wǎng)站簡(jiǎn)介 / 廣告服務(wù) / 聯(lián)系我們

主辦:華夏經(jīng)緯信息科技有限公司   版權(quán)所有 華夏經(jīng)緯網(wǎng)

Copyright 2001-2024 By m.essencecafe.cn