摘要:高性能、大容量、低成本、強穩定性,廣告業務需要的Ta都有
本文分享自華為云社區《廣告業務存盤神器:華為云GaussDB for Redis》,作者: GaussDB 資料庫,
一、從需求場景說起,什么是RTA廣告業務?
在互聯網時代,媒體平臺逐漸成為廣告業務的主體,而作為廣告主的企業往往每年需花費數億甚至數十億廣告費,卻依然難以準確觸達目標用戶,這就造成大量資金浪費,在這樣的需求場景下,RTA廣告業務模式逐漸流行起來,
RTA 即Realtime API的簡稱,是一套介面服務,用于滿足廣告主實時個性化的投放需求,在競價中減少資金浪費,簡單來說,RTA大體流程如下:
- 媒體在將廣告曝光給用戶前,先通過RTA介面詢問廣告主是否參與本次競價;
- 廣告主結合自己的畫像資料(一般是百GB~數TB的key-value資料)進行決策,快速回應媒體側,表明是否要參與本次曝光競價,以及具體的曝光策略;
- 媒體平臺根據價高者得原則,進行精準目標廣告投放,
RTA廣告業務流程圖
RTA讓廣告投放變得更精準,更省錢,還可以滿足許多不同的投放需求,例如獲取新用戶、召回流失用戶等,
二、聊聊RTA中的資料存盤選型
對廣告主來說,RTA業務價值明顯,但媒體側可是設定了不小的技術門檻,一般要求RTA系統高峰承載20w+ QPS,50到100ms快速回應,當不達標時,媒體側會有降級和清退機制,例如暫時關閉廣告主的RTA接入通道,
因此,RTA業務的首要需求是使用靠譜的畫像資料庫:
- 毫秒級回應,支持數十萬級QPS
- 穩定性高,關鍵時刻不能掉鏈子
- 支持百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. 算力按需原配
用多少買多少,最大支持千萬級QPS
5. 無感熱擴容
128GB到512GB也只需一秒
6. 增強版ACL
支持多DB訪問權限隔離
RTA廣告業務對畫像存盤的核心需求是:回應快、穩定性高、大容量且不貴,GaussDB for Redis充分滿足這類大資料業務需求,
超低時延,性能滿足媒體側要求
根據現網的案例經驗,在數十萬QPS流量下,GaussDB for Redis可穩定保持平均時延1ms,p99時延2ms,
媒體側一般對廣告主端到端回應要求在50~100ms,這其中包括了業務及網路鏈路的耗時,GaussDB for Redis可以很好地滿足回應要求,并給業務鏈路留有充足的余量,
為什么GaussDB for Redis在存算分離的架構下還能提供低時延訪問?
- 自動冷熱分離,計算層的記憶體資源會被用來充分加速熱資料
- 存盤池是基于高性能Nvme SSD和RDMA網路所構建,回應速度其實也很快
實際上,回應快速并非記憶體的專利,Nvme SSD同樣有優秀的時延表現,下圖是市面上某款Nvme SSD的性能指標:
作為存算分離的資料庫,穩定性遠超快取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無論從性能、穩定性,還是大容量、低成本,都充分滿足這類場景的需求,是其最佳存盤選型,
點擊關注,第一時間了解華為云新鮮技術~
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/514162.html
標籤:其他
上一篇:Mysql雙機主從搭建
