全部產品
Search
文件中心

Lindorm:某歷史養成類遊戲開發公司Realtime Compute和資料倉儲方案

更新時間:Jul 06, 2024

方案亮點:Realtime Compute峰值百萬級TPS、10倍效能提升。

業務挑戰

某些惡意使用者利用信用卡或者別的漏洞刷單(代充),系統需要即時查詢多種日誌(比如登入日誌,儲值日誌等)從而識別並攔截遊戲代充訂單,才能避免損失代充訂單的錢。

隨著業務快速發展,使用者行為日誌快速增長,需要從海量的點擊流日誌和啟用日誌中挖掘資料的價值,比如廣告轉化率、啟用率,每安裝使用者成本等等。

原來使用Greenplum做Realtime Compute和統計分析。但是Greenplum存在以下缺陷,難以應對業務的快速發展:

1)Greenplum架構難以應對日益複雜的計算任務;

2)Greenplum的單表分區數目有限制,同時多級分區支援不夠友好,不適用單表資料量比較大且需要永久儲存的日誌,如果單個分區表資料量比較大的時候查詢效能無法滿足業務效能需求;

3)Greenplum擴容時由於資料要重分布會比較慢;

4)Greenplum不適合處理非結構化的資料。

解決方案

客戶選擇雲資料庫Lindorm SQL(Phoenix)服務+ 資料湖Spark服務構建Realtime Compute和資料倉儲解決方案。

  • Lindorm SQL提供線上查詢能力、Spark提供串流、複雜分析等能力來滿足業務需求;

  • 梳理業務資料,對資料進行階層式存放區在Lindorm SQL+Spark中:

1)操作資料層:手遊用戶端、使用者中心、廣告監測、遊戲伺服器等產生的原始日誌;

2)資料明細層:操作資料層使用Spark Streaming等進行資料去噪、去重、欄位規範後寫入Lindorm SQL服務,也可以直接使用JDBC寫入資料;

3)資料匯總層:資料明細層的資料可以定期(按天或者按小時)ETL(比如關聯維表、過濾、彙總)後寫入到資料匯總層。資料匯總層的資料供後續的複雜分析;

4)應用資料層:直接對外提供資料查詢服務(基於Lindorm SQL服務)支撐上層巨量資料風控、廣告推薦、海量資料精細化營運;資料匯總層的資料經過處理後會把結果資料寫入到Lindorm SQL中對外提供查詢服務。

客戶價值

  • 毫秒級識別攔截代充訂單:Lindorm SQL高並發即時讀寫,TPS可達百萬量級,並發十萬量級,毫秒級簡單查詢;

  • Spark優秀的計算能力:同樣作業Spark基於列式儲存Parquet的分析在資料量大的情況下比Greenplum叢集有10倍的效能提升。支撐了廣告轉化率、啟用率,安裝使用者成本,資料驅動精細化營運等業務計算需求;

  • 一站式解決方案:Spark服務原生支援通過SQL讀取Lindorm SQL資料能力,具備列裁剪、謂詞下推、分區裁剪等最佳化;高效地把Lindorm SQL線上庫的資料ETL後歸檔到Spark資料倉儲;

  • 聚焦業務:全託管的Spark服務保證了作業啟動並執行穩定性,釋放營運人力,同時資料工作台降低了Spark作業管理成本。