色婷婷av一区二区_国产一区二区三区四区在线观看 _中文字幕一区二区在线观看_亚洲综合激情另类小说区

您的位置:首頁 >郵票收藏 > 郵票資訊 >

小米基于StarRocks極致性能打造小米式性價比數(shù)據(jù)平臺

2022-07-28 13:49:33 來源:

  

(原標(biāo)題:小米基于StarRocks極致性能打造小米式性價比數(shù)據(jù)平臺)

   小米有品是小米旗下精品生活電商平臺,也是小米“新零售”戰(zhàn)略的重要一環(huán)。依托小米生態(tài)鏈體系,延續(xù)小米的“爆品”模式,致力于將“小米式的性價比”延伸到更廣泛的家居生活領(lǐng)域。有品數(shù)據(jù)中心主要負(fù)責(zé)有品電商的數(shù)據(jù)資產(chǎn),提供數(shù)據(jù)分析服務(wù)。數(shù)據(jù)分析幫助做出有效決策,有效決策促進(jìn)業(yè)務(wù)增長,業(yè)務(wù)增長需要更多的數(shù)據(jù)分析,形成閉環(huán)。

   作者:

   汪細(xì)勖,小米高級研發(fā)工程師

   陳亦奇,小米有品研發(fā)工程師

   歷史架構(gòu)及業(yè)務(wù)痛點(diǎn)

   受限于以往業(yè)務(wù)規(guī)模以及技術(shù)條件,曾經(jīng)的小米數(shù)據(jù)中心的架構(gòu)如下圖:

  

src=https://nimg.ws.126.net/?url=https%3A%2F%2Fcrawl.ws.126.net%2Fnbot2%2Fimg%2F714145987b6c192f7203c723f406e6f3.jpg&thumbnail=660x2147483647&quality=80&type=jpg

   業(yè)務(wù)數(shù)據(jù)和流量數(shù)據(jù)通過數(shù)據(jù)采集服務(wù)傳送到Talos,實(shí)時數(shù)據(jù)通過Spark Streaming進(jìn)行ETL處理,商品數(shù)據(jù)聚合之后寫入MySQL中,其他數(shù)據(jù)寫入Druid中做預(yù)聚合;離線數(shù)據(jù)直接寫入Hive中,通過Spark SQL提供查詢服務(wù)。這套架構(gòu)隨著業(yè)務(wù)的快速發(fā)展,已經(jīng)越來越不滿足用戶需求,主要表現(xiàn)為以下幾點(diǎn):

   ·數(shù)據(jù)快速膨脹,查詢性能成為瓶頸

   ·維護(hù)多套系統(tǒng),運(yùn)維成本,機(jī)器成本高

   ·Druid去重效果差,不支持明細(xì)數(shù)據(jù)

   StarRocks在小米有品的應(yīng)用實(shí)踐

   OLAP引擎調(diào)研

   為了解決這些問題,我們調(diào)研了多款OLAP引擎,沒有一款引擎能從數(shù)據(jù)規(guī)模,查詢性能,靈活性三個方面滿足我們的需求。結(jié)合實(shí)際,綜合考慮,我們選擇了StarRocks作為小米有品數(shù)據(jù)中心的新一代OLAP引擎。主要考慮到StarRocks有以下幾點(diǎn)優(yōu)勢:

   ·極致查詢性能:單表查詢性能已經(jīng)超過ClickHouse,多表Join經(jīng)過CBO優(yōu)化,性能遠(yuǎn)超ClickHouse

   ·同時支持明細(xì)和聚合模型:支持Duplicate/Aggregate/Unique三種數(shù)據(jù)模型,同時支持物化視圖

   ·高效數(shù)據(jù)導(dǎo)入:高效支持流式導(dǎo)入和批量導(dǎo)入

   ·運(yùn)維簡單,高可用:多副本,一致性協(xié)議支持高可用,自動化運(yùn)維,操作簡單

   當(dāng)前架構(gòu)

   采用StarRocks作為小米有品數(shù)據(jù)中心的OLAP引擎之后,我們當(dāng)前的架構(gòu)是這樣的:

  

src=https://nimg.ws.126.net/?url=https%3A%2F%2Fcrawl.ws.126.net%2Fnbot2%2Fimg%2F6c99dea1fbde84196eeeec9e047404af.jpg&thumbnail=660x2147483647&quality=80&type=jpg

   業(yè)務(wù)數(shù)據(jù)和流量數(shù)據(jù)通過數(shù)據(jù)采集服務(wù),寫入Talos中,實(shí)時數(shù)據(jù)通過Flink進(jìn)行ETL,實(shí)時寫入StarRocks中;離線數(shù)據(jù)通過Spark進(jìn)行ETL,寫入Hive中,然后導(dǎo)入到StarRocks中。由StarRocks作為統(tǒng)一的查詢引擎,架構(gòu)簡單明了。

   數(shù)據(jù)寫入

   數(shù)據(jù)首先寫入STG層,STG層是數(shù)據(jù)緩沖層,包含了訂單Binlog數(shù)據(jù),優(yōu)惠數(shù)據(jù)Binlog,退款數(shù)據(jù)Binlog,流量日志等;ODS層進(jìn)行數(shù)據(jù)的解析,DWD層對數(shù)據(jù)清洗、過濾及相關(guān)業(yè)務(wù)邏輯處理;DWS層按照主題或者維度進(jìn)行輕度聚合,最后數(shù)據(jù)寫入StarRocks中。

  

src=https://nimg.ws.126.net/?url=https%3A%2F%2Fcrawl.ws.126.net%2Fnbot2%2Fimg%2F3540f5e81eb457c531d1c6c1c937b9b3.jpg&thumbnail=660x2147483647&quality=80&type=jpg

   目前在StarRocks之中主要包含了SKU聚合模型、頁面聚合模型、優(yōu)惠聚合模型、明細(xì)模型以及維度模型,那么聚合數(shù)據(jù)采用Aggregate模型;明細(xì)數(shù)據(jù)采用Duplicate模型,然后在此基礎(chǔ)上再采用物化視圖來加速;離線數(shù)據(jù)通過Broker Load方式導(dǎo)入;實(shí)時數(shù)據(jù)通過Stream Load方式導(dǎo)入。

   經(jīng)過半年的努力,我們目前已經(jīng)實(shí)現(xiàn)了小米內(nèi)部的各大平臺與StarRocks的互聯(lián)互通,一鍵操作,從Flink、Hive、Hadoop、Kafka、Spark、MySQL等平臺上,將數(shù)據(jù)一鍵操作寫入StarRocks中,也可以一鍵操作將StarRocks數(shù)據(jù)遷移到Flink、Hive、Hadoop、Spark、Presto中,實(shí)現(xiàn)了StarRocks與各大平臺的互聯(lián)互通,一鍵操作,讓數(shù)據(jù)在各大平臺自由流動,方便用戶操作和使用。

   數(shù)據(jù)建模

   過去我們在進(jìn)行建模的時候,廣泛的采用的是大寬表,也就是將指標(biāo)列和維度列都放在同一張表上。這會帶來一個很嚴(yán)重的問題,就是當(dāng)維度修改的時候,我們需要對數(shù)據(jù)進(jìn)行重新的回溯,然后重新聚合計算,這樣的話非常消耗時間。由于StarRocks良好的多表Join性能,我們改變了過去大寬表的形式,采用星型關(guān)聯(lián)表來建模,可以支持維度動態(tài)修改,降低回溯成本。

  

src=https://nimg.ws.126.net/?url=https%3A%2F%2Fcrawl.ws.126.net%2Fnbot2%2Fimg%2F7cd2e390ec18c3f04ed0b230506f41fe.jpg&thumbnail=660x2147483647&quality=80&type=jpg

   數(shù)據(jù)查詢

   對于去重,過去主要是采用Druid來進(jìn)行數(shù)據(jù)的去重,計算PV/UV等,由于Druid采用HLL近似算法,精度只能達(dá)到97%到99%,對于AB實(shí)驗以及搜索推薦算法進(jìn)行優(yōu)化效果的評估已經(jīng)不能滿足用戶的需求了。StarRocks支持Bitmap精確去重算法,精度提升到了100%。

  

src=https://nimg.ws.126.net/?url=https%3A%2F%2Fcrawl.ws.126.net%2Fnbot2%2Fimg%2Fb6a308ca1db4020fa1fef95ff0a91b2f.jpg&thumbnail=660x2147483647&quality=80&type=jpg

   除此之外,相比于傳統(tǒng)的Broadcast/Partition Shuffle Join算法,StarRocks提供了Colocate Join和Bucket Shuffle Join算法。Colocate Join在數(shù)據(jù)寫入時,保證多個表的數(shù)據(jù)按照分桶鍵分布,保持一致,這樣多張表Join時可以在本地進(jìn)行,減少網(wǎng)絡(luò)傳輸,提升查詢性能。在生產(chǎn)實(shí)踐中我們發(fā)現(xiàn)能夠帶來3-4倍以上的產(chǎn)品性能的提升,非常強(qiáng)悍。

   另外我們也廣泛的使用了Bucket Shuffle Join,相比于過去的Broadcast/Partition Shuffle Join需要傳輸多份數(shù)據(jù),Bucket Shuffle Join只用傳輸一份右表的數(shù)據(jù)。當(dāng)Join Key包含左表分桶鍵,可以實(shí)現(xiàn)Join時,只用傳輸一份右表數(shù)據(jù),減少數(shù)據(jù)網(wǎng)絡(luò)傳輸,提高查詢性能。通過測試發(fā)現(xiàn)Bucket Shuffle Join能帶來提升2-3倍以上的查詢性能。

   綜合比較,相比于之前的架構(gòu),現(xiàn)在的架構(gòu)查詢性能方面提升明顯。聚合上卷查詢,關(guān)聯(lián)查詢相較于此前基于MySQL的架構(gòu),基于StarRocks的架構(gòu)性能可以提升20-30倍以上。StarRocks在明細(xì)聚合查詢方面,相比于Spark SQL,提升4倍以上。存儲成本相比于MySQL+Druid,降低2倍以上。

  

src=https://nimg.ws.126.net/?url=https%3A%2F%2Fcrawl.ws.126.net%2Fnbot2%2Fimg%2F16bfe3e7f23dd6c138ca18f1e1510e7b.jpg&thumbnail=660x2147483647&quality=80&type=jpg

   平臺展示

   下圖是我們基于StarRocks實(shí)現(xiàn)的小米有品數(shù)據(jù)中心的一個平臺,主要是提供業(yè)務(wù)分析以及看板、報表等等這些服務(wù)。

  

src=https://nimg.ws.126.net/?url=https%3A%2F%2Fcrawl.ws.126.net%2Fnbot2%2Fimg%2Face2b9defb83a88e3c2ddb5b37acc991.jpg&thumbnail=660x2147483647&quality=80&type=jpgsrc=https://nimg.ws.126.net/?url=https%3A%2F%2Fcrawl.ws.126.net%2Fnbot2%2Fimg%2F1dd98d6aacc529a929b042efeba931c9.jpg&thumbnail=660x2147483647&quality=80&type=jpg

   未來規(guī)劃

   一、我們打算在小米集團(tuán)內(nèi)部廣泛的推廣StarRocks,與商業(yè)平臺,小米賬號、MIUI、小愛等等這些業(yè)務(wù)部門進(jìn)行一個深度的合作,發(fā)掘StarRocks潛力,探索StarRocks能力邊界,滿足業(yè)務(wù)部門豐富的需求。

   二、我們準(zhǔn)備攜手StarRocks開發(fā)Z-OrderIndexing來提升多維分析的查詢性能。目前StarRocks在數(shù)據(jù)寫入的時候,會在內(nèi)存中將多個列按照字典的方式來進(jìn)行排序,然后寫入到磁盤中。這種字典排序的方式在實(shí)際的查詢過程中,只有利于第一列的過濾,但是其他列的過濾效果都比較差。為了支持多維分析的場景,未來我們打算開發(fā)Z-OrderIndexing來提升多維分析的查詢性能。

   三、我們準(zhǔn)備攜手StarRocks開發(fā)單副本Compaction,減少對查詢的影響。目前StarRocks在數(shù)據(jù)寫入的時候會同時寫多個副本,多副本Compaction占用資源多,影響查詢性能,開發(fā)單副本Compaction,分發(fā)Compaction結(jié)果,減輕對查詢性能的影響。

   總結(jié)

   總的來說,首先我們覺得StarRocks運(yùn)維簡單,成本低。由于StarRocks同時支持明細(xì)和聚合模型,可以滿足大多數(shù)場景,之前采用的多種引擎構(gòu)建數(shù)據(jù)中心的架構(gòu),現(xiàn)在可以采用StarRocks作為唯一引擎,架構(gòu)簡單明了,運(yùn)維高效便捷。StarRocks相比于Spark引擎,機(jī)器成本降低50%以上。第二StarRocks查詢性能優(yōu)越,StarRocks近乎實(shí)時的查詢性能,針對很多典型場景進(jìn)行優(yōu)化的各種特性(Colocate Shuffle Join,Bucket Shuffle Join,CBO等),給用戶帶來了良好的使用體驗。第三StarRocks既可存算一體,也可存算分離。目前StarRocks是存算一體的系統(tǒng),但它同時支持ES/MySQL/Hive等外表功能,可以實(shí)現(xiàn)對Hadoop生態(tài)的查詢,可以做到存算分離,對于節(jié)省成本,打通Hadoop生態(tài)很有意義。

相關(guān)閱讀
熱門新聞
小米基于StarRocks極致性能打造小米式性價比數(shù)據(jù)平臺

小米基于StarRocks極致性能打造小米式性價比數(shù)據(jù)平臺

  (原標(biāo)題:小米基于StarRocks極致性能打造小米式性價比數(shù)據(jù)平臺)   小米有品是小米旗下精品生活電商平臺,也是小米新零售戰(zhàn)略的重要一

2022-07-28 13:49
扛住10倍數(shù)據(jù)洪峰,這臺服務(wù)器堪稱雙十一“戰(zhàn)力之王”

扛住10倍數(shù)據(jù)洪峰,這臺服務(wù)器堪稱雙十一“戰(zhàn)力之王”

  (原標(biāo)題:扛住10倍數(shù)據(jù)洪峰,這臺服務(wù)器堪稱雙十一戰(zhàn)力之王)  今年,我們程序員最大的變化就是終于有機(jī)會參與到雙十一狂歡了,自己

2022-07-28 12:43
紫晶存儲受財聯(lián)社投資峰會·新經(jīng)濟(jì)高峰認(rèn)可

紫晶存儲受財聯(lián)社投資峰會·新經(jīng)濟(jì)高峰認(rèn)可

  (原標(biāo)題:紫晶存儲受財聯(lián)社投資峰會·新經(jīng)濟(jì)高峰認(rèn)可)  2020年12月15日,財聯(lián)社投資峰會·新經(jīng)濟(jì)高峰論壇暨2020中國新經(jīng)濟(jì)最具投資

2022-07-28 06:30
NAS支持哪些功能?

NAS支持哪些功能?

  (原標(biāo)題:NAS迅雷支持哪些功能?)   在威聯(lián)通NAS上可以使用迅雷啦!   經(jīng)過一個多月的內(nèi)測,NAS迅雷正式上架威聯(lián)通AppCenter! 

2022-07-28 00:06
全球共慶、東風(fēng)燎原:13歲游族發(fā)布“敢、真、精”價值觀

全球共慶、東風(fēng)燎原:13歲游族發(fā)布“敢、真、精”價值觀

  (原標(biāo)題:全球共慶、東風(fēng)燎原:13歲游族發(fā)布敢、真、精價值觀)   6月16日,游族13周年慶暨第六屆少年節(jié)如期而至,游族今年以東風(fēng)燎原

2022-07-27 22:16
戴爾科技集團(tuán)公布2021財年第三財季財報遠(yuǎn)程辦公和學(xué)習(xí)的強(qiáng)勁需求成為業(yè)績增長的重要動力

戴爾科技集團(tuán)公布2021財年第三財季財報遠(yuǎn)程辦公和學(xué)習(xí)的強(qiáng)勁需求

  (原標(biāo)題:戴爾科技集團(tuán)公布2021財年第三財季財報 遠(yuǎn)程辦公和在線學(xué)習(xí)的強(qiáng)勁需求成為業(yè)績增長的重要動力)  中國北京– 2020年11

2022-07-27 18:20
主站蜘蛛池模板: 99国产在线| 在线丝袜欧美日韩制服| 国产精选一区二区| 亚洲中文字幕无码中文字 | 精品一区久久久| 久久久久久亚洲| 欧美日韩一区二区视频在线观看| 亚洲一区中文字幕在线观看| 国产成人精品久久亚洲高清不卡| 日本国产中文字幕| 日本久久精品视频| 欧美老熟妇喷水| 精品久久久三级| 国产精品国内视频| 99视频网站| 91久久中文字幕| 一区二区在线高清视频| 日韩在线高清视频| 欧美乱人伦中文字幕在线| 日本精品久久久| 久久久久久艹| 国产精品自在线| 99视频免费播放| 综合操久久久| 欧美在线视频a| 激情综合网俺也去| 国产精品777| 日韩视频免费看| 久久久久久久久久久久久久久久久久av| 久久久久久久久久久99| 国产欧美日韩91| 亚洲最新免费视频| 日本高清视频一区| 久久99精品久久久久久水蜜桃| 国产精品一区二区性色av| 国产精品九九久久久久久久 | 国产福利不卡| 99久久久久国产精品免费| 日韩一级片免费视频| 久久久福利视频| 2019日韩中文字幕mv|