tft每日頭條

 > 生活

 > 存儲功能和廣告等産品及服務

存儲功能和廣告等産品及服務

生活 更新时间:2024-08-19 15:12:31

本文分享自華為雲社區《廣告業務存儲神器:華為雲GaussDB for Redis》,作者: GaussDB 數據庫。

一、從需求場景說起,什麼是RTA廣告業務?

在互聯網時代,媒體平台逐漸成為廣告業務的主體,而作為廣告主的企業往往每年需花費數億甚至數十億廣告費,卻依然難以準确觸達目标用戶,這就造成大量資金浪費。在這樣的需求場景下,RTA廣告業務模式逐漸流行起來。

RTA 即Realtime API的簡稱,是一套接口服務,用于滿足廣告主實時個性化的投放需求,在競價中減少資金浪費。簡單來說,RTA大體流程如下:

1. 媒體在将廣告曝光給用戶前,先通過RTA接口詢問廣告主是否參與本次競價;

2. 廣告主結合自己的畫像數據(一般是百GB~數TB的key-value數據)進行決策,快速響應媒體側,表明是否要參與本次曝光競價,以及具體的曝光策略;

3. 媒體平台根據價高者得原則,進行精準目标廣告投放。

存儲功能和廣告等産品及服務(告訴你個廣告業務存儲神器)1

RTA廣告業務流程圖

RTA讓廣告投放變得更精準,更省錢,還可以滿足許多不同的投放需求,例如獲取新用戶、召回流失用戶等。

二、聊聊RTA中的數據存儲選型

對廣告主來說,RTA業務價值明顯,但媒體側可是設置了不小的技術門檻,一般要求RTA系統高峰承載20w QPS,50到100ms快速響應。當不達标時,媒體側會有降級和清退機制,例如暫時關閉廣告主的RTA接入通道。

因此,RTA業務的首要需求是使用靠譜的畫像數據庫:

1.毫秒級響應,支持數十萬級QPS

2.穩定性高,關鍵時刻不能掉鍊子

3.支持百GB~數TB的畫像存儲,且成本可控

根據經驗,很多公司會使用開源Redis集群來做這件事,但其實開源Redis并不太适合這類大數據場景:

一方面,雖然開源Redis并發性能和響應都很優秀,但終究隻是緩存,無法提供數據庫級的穩定性保障,丢數據、fork抖動、分片不均OOM、擴容耗時久等等,都是很常見的問題。

另一方面,由于開源Redis中存放的數據無法突破内存限制,上百GB的數據存儲價格非常昂貴,例如512GB規格的開源Redis接近5w/月。

在這類大數據業務場景下,我們推薦使用華為雲數據庫GaussDB for Redis做畫像數據存儲。

三、大數據業務存儲神器:華為雲數據庫GaussDB for Redis

GaussDB for Redis是華為雲企業級存算分離Redis數據庫,使用上與開源Redis别無二緻,并且能夠兼顧緩存與存儲兩類典型場景

1. 内存 分布式存儲池提供毫秒級響應,同時實現大幅降本2. 命令兼容度>98%支持業務零改造平遷3. 容量最大支持36TB保障數據庫級别可靠存儲,壓縮比高4. 算力按需原配用多少買多少,最大支持千萬級QPS5. 無感熱擴容128GB到512GB也隻需一秒6. 增強版ACL支持多DB訪問權限隔離

RTA廣告業務對畫像存儲的核心需求是:響應快、穩定性高、大容量且不貴,GaussDB for Redis充分滿足這類大數據業務需求。

超低時延,性能滿足媒體側要求

根據現網的案例經驗,在數十萬QPS流量下,GaussDB for Redis可穩定保持平均時延1ms,p99時延2ms

媒體側一般對廣告主端到端響應要求在50~100ms,這其中包括了業務及網絡鍊路的耗時,GaussDB for Redis可以很好地滿足響應要求,并給業務鍊路留有充足的餘量。

為什麼GaussDB for Redis在存算分離的架構下還能提供低時延訪問?

1. 自動冷熱分離,計算層的内存資源會被用來充分加速熱數據

2. 存儲池是基于高性能Nvme SSD和RDMA網絡所構建,響應速度其實也很快

實際上,響應快速并非内存的專利,Nvme SSD同樣有優秀的時延表現,下圖是市面上某款Nvme SSD的性能指标:

存儲功能和廣告等産品及服務(告訴你個廣告業務存儲神器)2

作為存算分離的數據庫,穩定性遠超緩存Redis

開源Redis的穩定性問題存在已久,單線程、fork機制、Gossip協議……這些都是讓開源Redis穩定性不夠好的原因。在小數據量緩存場景問題不一定經常出現,但在百GB的大數據存儲場景下很容易成為打破系統穩定的隐患。

GaussDB for Redis存算分離架構對穩定性的提升是巨大的。在擴容場景,隻需調整存儲池配合,即可1秒完成擴容,業務0感知。由于數據全部存儲在分布式存儲池中,當計算節點發生故障,數據依然可見,業務隻感知秒級抖動。同時,也不會發生分片數據不均OOM問題。

存儲百GB畫像數據,比緩存Redis成本節省50%以上

GaussDB for Redis在這類場景下能夠幫助企業實現有效降本,原因是:

1. 内存 分布式存儲池(Nvme SSD)

開源Redis技術上無法突破内存限制,因此成本會随着每漲1GB而線性增長,大數據業務中很容易帶來成本痛點。

GaussDB for Redis分布式存儲池采用的高性能Nvme SSD硬件成本雖然比普通SSD高,但是跟内存相比還是比較高性價比的。另外還支持根據實際所需QPS購買計算節點,避免不必要的算力成本浪費。

2. 高壓縮比

很多畫像類業務使用protobuf格式,GaussDB for Redis采用了邏輯數據 塊數據雙重壓縮機制,對于protobuf的壓縮比效果很好。根據現網案例經驗,500GB的protobuf數據寫入GaussDB for Redis後,實際占用的存儲空間可壓縮到160G,壓縮率30%。

四、總結

RTA廣告競價業務近年來發展潛力巨大,一方面要滿足媒體側的性能指标要求,另一方面又要承擔企業降本重任。

在這類典型大數據業務中,往往需要一款能夠兼顧性能與存儲降本需求的KV數據庫來做畫像存儲,華為雲數據庫GaussDB for Redis無論從性能、穩定性,還是大容量、低成本,都充分滿足這類場景的需求,是其最佳存儲選型。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved