告訴你個廣告業務存儲神器

来源:https://www.cnblogs.com/huaweiyun/archive/2022/10/13/16787571.html
-Advertisement-
Play Games

摘要:高性能、大容量、低成本、強穩定性,廣告業務需要的Ta都有 本文分享自華為雲社區《廣告業務存儲神器:華為雲GaussDB for Redis》,作者: GaussDB 資料庫。 一、從需求場景說起,什麼是RTA廣告業務? 在互聯網時代,媒體平臺逐漸成為廣告業務的主體,而作為廣告主的企業往往每年需 ...


摘要:高性能、大容量、低成本、強穩定性,廣告業務需要的Ta都有

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

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

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

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

  1. 媒體在將廣告曝光給用戶前,先通過RTA介面詢問廣告主是否參與本次競價;
  2. 廣告主結合自己的畫像數據(一般是百GB~數TB的key-value數據)進行決策,快速響應媒體側,表明是否要參與本次曝光競價,以及具體的曝光策略;
  3. 媒體平臺根據價高者得原則,進行精準目標廣告投放。

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. 算力按需原配

用多少買多少,最大支持千萬級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在存算分離的架構下還能提供低時延訪問?

    1. 自動冷熱分離,計算層的記憶體資源會被用來充分加速熱數據
    2. 存儲池是基於高性能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無論從性能、穩定性,還是大容量、低成本,都充分滿足這類場景的需求,是其最佳存儲選型。

 

點擊關註,第一時間瞭解華為雲新鮮技術~


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • nginx訪問控制,用戶認證,配置https,zabbix監控nginx狀態頁面 nginx訪問控制 用於location段 allow:設定允許哪台或哪些主機訪問,多個參數間用空格隔開 deny: 設定禁止哪台或哪些主機訪問,多個參數間用空格隔開 //測試 [root@nginx ~]# cd / ...
  • 1、進程結構特征: >>進程式控制制塊的作用: 動態性 進程最基本的特征是動態性 進程的生命周期 進程由創建而產生,由調度而執行,由撤銷而消亡的過程 併發性 獨立性 非同步性 2、進程的三種基本狀態 就緒狀態 執行狀態 阻塞狀態 ...
  • 一、CentOS 7.9 安裝 elasticsearch-7.8.1 地址 https://www.elastic.co https://www.elastic.co/cn/downloads/past-releases https://github.com/elastic https://git ...
  • 邏輯存儲結構 邏輯存儲結構圖 表空間 表空間文件在Linux下存放在 /var/lib/mysql文件中的 xxx.ibd 文件就是表空間文件 表空間文件用來存儲,記錄,索引等數據。 段 段分為,數據段(Leaf node segment) ,索引段(Non-leaf node segment),回 ...
  • 一、結論 dba_segments指定表名查詢到的段大小包含索引、約束、表欄位數據(包含LOB欄位)(1)表(不包含LOB欄位)創建預設分配2個簇,1個簇用於存放表結構及欄位數據,1個簇用於存放cluster類型的索引(2)創建索引預設會分配2個簇,用於存放normal索引數據(3)創建約束不會額外 ...
  • 上一篇我們講到Mysql索引底層邏輯,為了瞭解後續sql知識,我們還是需要先學習一下相關“工具”得使用 一、Explain介紹 EXPLAIN是MySQl必不可少的一個分析工具,主要用來測試sql語句的性能及對sql語句的優化,或者說模擬優化器執行SQL語句。在select語句之前增加explain ...
  • 首發微信公眾號:SQL資料庫運維 原文鏈接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1&sn=450e9e94fa709b5eeff0de371c62072b&chksm=ea37536cdd40da7 ...
  • 本篇是「標簽畫像系列」的第四篇,此前我們已經介紹過了標簽畫像體系建設方法論、標簽體系設計與加工、標簽加工與落庫,這次我們來介紹一下「標簽評分」。 標簽評分是標簽治理的一個重要措施,通過給標簽打分,可清晰直觀的從各個維度評估標簽,掌握標簽真實使用情況,進行標簽持續優化,助力業務運營。同時,也能幫助數據 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...