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

從 MySQL 到 ByteHouse,抖音精準推薦存儲架構重構解讀

數據庫
ByteHouse是一款OLAP引擎,具備查詢效率高的特點,在硬件需求上相對較低,且具有良好的水平擴展性,如果數據量進一步增長,可以通過增加服務器數量來提升處理能力。本文將從興趣圈層建設難點及構建方案等角度拆解如何基于OLAP引擎來搭建興趣圈層平臺。

抖音依靠自身推薦系統為用戶推送可能感興趣的視頻內容,其中興趣圈層是推薦的重要能力,通過理解核心用戶的偏好特征,判斷兩者偏好的相似性,從而構建同類用戶的興趣圈層,實現精準推薦。

以往的興趣圈層往往依賴單一的維度或標簽,比如內容類型、時長、地理特征等,難以揭示用戶興趣的底層邏輯。例如,重慶美女小姐姐吃播視頻、二次元古風舞蹈視頻,表面上標簽類型可能完全不一樣,但深度分析后發現喜歡兩個視頻的是同一個類型的人,并把他們劃分在同一個興趣圈層中。

要搭建這樣一套興趣圈層平臺,不僅需要算法策略,對底層數據存儲架構也是一大挑戰。抖音每日新增的數據量龐大、業務標簽五花八門,更需要滿足業務人員對復雜查詢的實時性訴求。之前技術團隊采用MySQL作為存儲架構,作為一種行式存儲的數據庫,MySQL對于大量數據的處理效率較低。如果要在MySQL上查詢上億級別的數據,可能需要更高配置的硬件,甚至可能需要采用分片、讀寫分離等策略來提升性能,這將導致硬件成本顯著提高。

因此,技術團隊逐漸將興趣平臺基于ByteHouse進行重構。ByteHouse是一款OLAP引擎,具備查詢效率高的特點,在硬件需求上相對較低,且具有良好的水平擴展性,如果數據量進一步增長,可以通過增加服務器數量來提升處理能力。本文將從興趣圈層建設難點及構建方案等角度拆解如何基于OLAP引擎來搭建興趣圈層平臺。

興趣圈層平臺介紹

興趣圈層指興趣愛好相同的人組成的群體,興趣圈層可以從用戶視角更深入的理解短視頻作者和內容,挖掘出該圈層作者核心用戶群體的共同興趣點和典型偏好特征,作為劃分作者的重要標簽,應用在內容分發、垂類運營、數據分析、戰略規劃等場景中輸出價值。興趣圈層以簇(cluster)的形式存在,通過機器模型聚類而成,每個簇包含一位種子作者及多位與之關聯作者。

圖片

圈層生產流程:數倉的天級 Hive 表以定時任務的方式將 Hive 表內數據按照分區導入 RDS(MySQL) 數據庫,同時預計算腳本每天會定時將 RDS 內的數據按需寫入緩存(如圈層信息等通用查詢)或寫回RDS(如圈層的父節點信息等核心數據),生產流程成功會標記在緩存代表今日數據有效,反之報警通知相關負責人。

圈層查詢流程:用戶操作查詢,前端發送查詢場景數據請求,服務端接收到請求后讀取相應的緩存、數據庫表及分區,對數據進行組裝,最終返回給用戶。

主要問題

數據膨脹

日更版本導致數據量級膨脹,圈層基礎信息表日增萬級數據,圈層作者信息表日增百萬數據,圈層用戶信息表日增千萬條左右數據,已經達到 MySQL 秒級千萬級查詢的性能瓶頸。

查詢效率已無法滿足需求,即使有緩存加速減少聯表查詢,單表查詢的效率在到10s以上,其中圈層理解(圈層用戶信息表)進入頁面的時間超過15s,一定程度影響業務使用體驗。之前做了很多包括索引優化、查詢優化、緩存優化、表結構優化,但是單次對表更新列/新增修改索引的時間已經超過2天,優化成本也逐漸升高。

歷史架構過薄,難以承接較復雜圈選能力

從現狀來看,當前圈層架構簡單且為區分查詢場景,與數據庫直接交互且僅支持簡單的同步查詢,當業務需要較復雜的泛化圈選條件時,需要用戶在平臺等待超過15s。

從未來規劃,目前以 RDS 為存儲的同步查詢架構已無法支持需要關聯多個表和特征的復雜條件查詢的業務場景。

業務特征膨脹

標簽特征膨脹,當前圈層有越來越多的標簽描述,由于不同業務方會通過不同視角理解圈層,如垂類標簽/圈層關鍵詞描述/圈層質量分類/圈層畫風等,目前圈層信息實體特征達到幾十種,預計圈層屬性標簽仍會膨脹。

一站式圈選泛化目標作者訴求增多,當前作者只包含基礎信息,業務方希望基于圈層和其他基礎作者特征,如粉絲數,作者質量,活躍度等以滿足對作者的流量定向策略等需求,以滿足復雜條件多維度的篩選排序功能。

基于 ByteHouse 重構興趣圈層平臺

RDS 作為行式數據庫更適合單點事務分析工作顯然不符合當前平臺訴求,我們分別從查詢場景、查詢性能、存儲成本、遷移成本對存儲選型。

查詢場景

  1. 圈層信息由模型生產,按時間分區批量導入,不存在臨時導入,為 append only 場景。
  2. 圈層特征多,業務方按照訴求對和自身業務相關的特征進行篩選,列式存儲比行式存儲更合適。
  3. 圈層主要以分析統計為主,不強需求事務處理,面向 OLAP 業務。

查詢性能

  1. MySQL 對于多列復雜的條件查詢時,查詢性能很難優化,需要通過強依賴 redis 緩存加速,否則平臺功能不可用。
  2. 圈層場景通常限制在局部數據中聚合分析,如計算圈層id位于集合內的關鍵詞頻率統計,若該集合范圍過大索引失效會被劣化為全表掃描。

詳細場景測試

重構前后存儲對比

圖片

具體場景對比

數據管理信息查詢場景:

圖片

應用工具分析場景:

圖片

總結

綜上可以看到,基于 ByteHouse 替換 MySQL 重構抖音興趣圈層平臺后,不同幾個典型場景的查詢效率平均提升了 100 倍左右,大大提升了用戶體驗。由于 ByteHouse 出色的查詢性能和良好的數據壓縮比,中等資源的服務器就能很好的滿足需求,這也降低了綜合硬件成本。此外,ByteHouse 具有良好的水平擴展能力,如果數據量進一步增長,也可以便捷的通過增加服務器數量來提升分析能力。

責任編輯:龐桂玉 來源: 字節跳動技術團隊
相關推薦

2022-08-10 08:41:01

Feed 容器維護管理

2022-06-30 09:50:15

火山引擎ByteHouse

2023-10-30 15:51:43

ByteHouse大數據

2023-10-31 07:45:02

云原生數據庫

2021-06-28 05:19:32

抖音電腦

2023-12-30 13:53:58

抖音快手策略

2022-06-06 12:19:08

抖音功耗優化Android 應用

2021-10-28 07:10:21

rollupPlugin插件編寫

2018-06-19 09:54:22

MySQLHBase存儲

2014-08-14 11:20:42

2019-03-07 15:04:37

抖音快手同城

2023-04-22 09:40:36

云原生

2022-01-22 07:44:12

抖音PC 版電腦刷抖音

2017-03-06 17:30:11

微服務架構系統

2011-03-22 16:55:53

LAMPWAMP

2021-02-05 09:00:00

開發IT事件管理
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人精品在线 | 日本三级全黄三级a | 日韩精彩视频 | 成人免费三级电影 | 福利一区在线观看 | 日韩精品一区二区三区第95 | 夜夜艹 | 国产精品福利视频 | 日韩小视频 | 青青久久 | 韩国久久精品 | 在线免费观看毛片 | 黑人一级片视频 | 亚洲成在线观看 | 国产高清精品网站 | av在线一区二区三区 | 日韩免费 | 午夜影晥 | 999久久 | 精品国产一区二区三区久久 | 中文字幕一区二区三区在线观看 | 日韩一区二区福利视频 | 欧美精品日韩精品 | 国产在线一区二区三区 | 日韩欧美在线一区 | 99精品免费视频 | 在线国产一区 | 欧美日韩精品专区 | 日韩欧美国产一区二区 | 久久99精品久久久久久 | 欧美成人一级视频 | 精品伦精品一区二区三区视频 | 视频一区二区国产 | 欧美久久一级 | 久草影视在线 | 久久久久久国产 | 精品成人免费一区二区在线播放 | 久久久久91 | 国产精品69毛片高清亚洲 | 国产精品美女久久久久久免费 | 日韩成人在线播放 |