PegaDB是百度智慧型雲於2017年推出的分散式Key-Value資料庫,2024年3月更名為Redis容量型。該產品基於開源Kvrocks進行二次開發,採用分散式集群架構,完全兼容Redis 7.0協定。基於百度智慧型雲增強型SSD雲盤構建,支持毫秒級數據處理與PB級低成本存儲,適用於電商、遊戲、社交等大規模數據場景。
通過冷熱分離機制自動沉降數據,結合記憶體與SSD混合存儲降低存儲成本,其核心自研的冷熱數據分離與交換功能通過維護LRU Cache快取熱數據。採用自研SyncAgent組件實現異地多活架構,支持5萬QPS同步能力與跨地域災備,多活實例組由至多5個實例組成。在數據遷移方面,PegaDB將搬遷流程從“邏輯遷移”最佳化為“物理遷移”以提升效率。其Bulkload功能使數據導入速度提升5-10倍,並支持秒級回滾,同時通過KV分離方案最佳化存儲引擎性能。在性能上,PegaDB單集群支持超過100萬QPS,p999延遲低於10ms。該資料庫已套用於百度鳳巢、Feed及度秘廣告業務等核心業務。
基本介紹
- 軟體名稱:PegaDB
- 軟體平台:百度智慧型雲
- 開發商:百度智慧型雲
- 上線時間:2017年
研發背景,發展歷程,核心技術,運營模式,套用場景,核心團隊,重要事件,
研發背景
PegaDB的研發始於2017年,旨在解決百度集團內部在使用Redis時面臨的高昂成本和有限容量問題。為了解決性能和成本的平衡問題,百度智慧型雲決定自研一款新型資料庫。其核心理念是與Redis實現高度兼容,同時採用基於磁碟的存儲方式,以顛覆傳統記憶體資料庫的存儲模式,從而顯著降低存儲成本。在技術選型上,百度智慧型雲選擇了基於開源項目進行二次開發的道路,並最終選定基於Kvrocks進行深度開發,同時積極參與並回饋開源社區建設。
發展歷程
PegaDB的發展始於2017年,百度智慧型雲在2017年啟動了基於RocksDB的創新型資料庫產品PegaDB的研發。同年,PegaDB初步推出磁碟KV存儲服務。此後,產品持續疊代,增加了命令的豐富度,加強了系統的可擴展性和彈性,提升了主從複製的效率,進一步保障了數據的安全性。最終,PegaDB能夠支持線上數據灌輸和存算分離。
2024年3月,PegaDB更名為Redis容量型。
2025年4月,SQL視窗新增支持百度雲PegaDB數據源。
核心技術
PegaDB採用分散式集群架構,預分配固定數量的Slot,其設計思路與Redis-Cluster類似,支持橫向和縱向的彈性擴縮容。在數據擴縮容過程中,PegaDB採用了類似選擇性複製的思路進行數據遷移最佳化,將遷移流程從邏輯遷移調整為物理遷移,以提升遷移效率並減少對線上業務的影響。在主從複製方面,PegaDB引入了複製ID的概念,並採用可配置的半同步複製方案,允許用戶在數據一致性和性能之間進行權衡。
在性能最佳化層面,PegaDB通過多項技術提升訪問效率,包括採用Key-Value分離存儲、實現熱Key快取機制、以及對數據編碼進行最佳化。為滿足企業級高可用需求,PegaDB支持異地多活架構,其通過自研的SyncAgent組件同步數據,並在WAL的LogData中為每一次寫入添加必要的輔助信息,以解決斷點續傳、數據迴環等關鍵問題。
針對大規模數據初始化或更新場景,PegaDB提供了Bulkload方案,該方案在數據生成階段支持標籤,確保待注入檔案的Key範圍與線上資料庫的Key範圍不重疊,並利用RocksDB的Delete File In Range功能快速刪除老數據,以減少對業務的影響,並支持秒級回滾。
運營模式
PegaDB(Redis容量型)的運營模式以技術驅動為核心,通過其特有的架構與功能設計提供資料庫服務。PegaDB基於百度智慧型雲增強型SSD雲盤構建,採用記憶體與磁碟相結合的存儲方式。通過核心自研的冷熱數據分離與交換功能,維護LRU Cache快取熱數據,並周期性更新,實現熱點數據記憶體訪問、冷數據持久化存儲。
PegaDB推出了自研的多活實例組方案支持異地多活。一個多活實例組由至多5個實例組成,每個實例均可進行本地域讀寫,數據通過名為SyncAgent的同步組件自動化跨地域同步。SyncAgent通過解析AOF並引入operator header追蹤同步進度,確保故障恢復後數據不丟失。
PegaDB提供Bulkload(快速灌庫)功能,依託大數據平台高並發處理能力和存儲引擎數據編排能力,支持大規模數據通過專屬通道直接傳入存儲引擎。該方案支持秒級回滾以降低業務風險。
該運營模式已在實際業務中得到套用。在廣告行業,PegaDB曾套用於存儲廣告物料、投放數據和用戶畫像。此外,其方案亦被套用於網際網路視頻、AI設備終端、行銷科技等領域的廣告系統。
套用場景
大數據量場景,存儲成本高
在業務發展後期,沉澱的數據量越來越多,而訪問量越來越低,此時性能存在過剩的情況。使用Redis存儲KV數據,成本直線上升。同時Redis無法做到持久化,在掉電等場景下數據容易丟失。
典型冷熱分離場景,傳統Cache(快取)+DB(關係性資料庫)架構,業務開發複雜度高
電商、遊戲套用通常有的商品和玩家數據,同時這些數據有較為明顯的冷熱屬性。如果將數據存放在記憶體中,存儲成本是不可接受的。但是如果完全放在磁碟中,又無法滿足熱點商品和活躍用戶的數據訪問,如果業務自己搭建冷數據沉降機制,業務架構變得複雜,維護成本過高。
使用Pika等開源KV資料庫,功能&成本&性能無法完全滿足需求
客戶需要持續投入相應的人力成本,去疊代和維護軟體,以應對業務帶來的需求。Pika等開源KV資料庫無法兼容Redis協定,對於業務和開發人員協定不夠友好,無法做到無縫的遷移。用戶無法在數據一致性和性能之間按照業務需求進行選擇,造成運維成本過高。
核心團隊
百度智慧型雲資料庫 Redis 研發專家商雄曾分享《百度智慧型雲大容量 KV 資料庫 PegaDB 的設計與實踐》。PegaDB 研發團隊持續向 Kvrocks 開源社區回饋了主從複製最佳化、事務、存儲引擎最佳化、集群等多個重要 PR,並推進了 Kvrocks 成為Apache孵化項目。
重要事件
2024年3月,PegaDB更名為“Redis容量型”。2025年4月,第三方數據管理平台NineData宣布新增支持百度雲PegaDB數據源。

