Perplexity 自建資料庫:延遲降五倍,兩人加數百代理兩個月完成
Perplexity 工程團隊 9 月 14 日發表技術文章,說明他們如何自建鍵值儲存系統 CobbleDB 取代 Amazon DynamoDB,並公布遷移前後的實測數字:批次讀取延遲中位數從 31.4 毫秒降到 5.60 毫秒,p99 從 123 毫秒降到 24.2 毫秒,內部成本模型估算在各承諾方案級距上都比 DynamoDB 便宜至少 20%。文章並表示計畫在不久後將 CobbleDB 開源。
核心資料庫約四萬行 Rust,由兩名工程師加數百個 AI 代理在兩個月內完成
比延遲數字更少見的是它怎麼被做出來的。Perplexity 寫明 CobbleDB 的核心資料庫約四萬行 Rust 程式碼,而「核心 CobbleDB 基礎設施由兩名人類工程師與數百個 AI 代理在兩個月內建成」。
文章描述他們運作著一群編碼代理的內部系統,該系統設計成高度持續性,會跨工作階段保留專案目標、當前風險、儲存庫歷史與先前決策。代理被指派的第一項任務是建立對既有進行中工作的準確模型:稽核專案頻道與活躍討論串、把待辦事項連結到對應的拉取請求與負責人,並產出系統健康狀況與下一步行動的現況報告。
之後代理在工程循環的數個環節運作,包括審查程式碼與基礎設施變更、指出容易被忽略的阻礙(文章舉例:不安全的還原假設、過時的建置參照、會在執行階段失敗的設定)、準備針對性的修正與測試、追蹤持續整合與審查關卡、監控推出與備份還原演練,以及維護專案現況報告。
分界線也寫得清楚:架構由工程師決定,具重大後果的變更由工程師審查,生產環境操作由人類明確授權;代理處理的是這些決策之間的持續檢查與後續跟進。Perplexity 的結論是這讓一個小團隊得以高效推進專案。
鏈新聞 9 月 13 日報導過 OpenAI 用兩名工程師加上 Codex 完成系統遷移,這是三天內第二起同樣形狀的案例:極小的人類團隊、大量代理、處理的是基礎設施等級的重寫。
為什麼要離開 DynamoDB:計費、調校空間與耦合
文章列出三個約束。第一是計費方式,DynamoDB 對讀寫的每個位元組計價,而 Perplexity 的單次搜尋 API 請求包含 100 到 120 個頁面鍵,取用時再拆成 10 到 20 個鍵的小批次,平均每筆項目約 50 KB,反覆讀取消耗大量容量;持續爬取與更換切塊方式或嵌入模型又會產生更多寫入。
第二是調校空間。他們需要的操作很窄—給一批頁面識別碼、快速回傳準備好的內容—但想控制哪台機器持有分區、多少記憶體配給快取、由哪個複本處理請求,而這些在託管服務的 API 背後無法調整。
第三是耦合。舊管線把每個處理完的頁面直接寫進 DynamoDB,一次大規模重新處理就變成一波個別的熱儲存更新,導致無法在一兩天內對整個資料庫跑 MapReduce 去試新的切塊方法或更換嵌入模型。
拆成三塊:Pillar 存狀態、Lorry 送更新、CobbleDB 只負責讀
新架構把責任分開。Pillar 維護持久化的文件狀態並決定要發布什麼,底層是 YTsaurus,用便宜的硬碟儲存,因此能存下比過去在 DynamoDB 更多的文件;它還追蹤切塊與嵌入的版本,讓多種表示法並存而不互相覆寫。Lorry 是無狀態服務,把 Pillar 的匯出轉成依分區對齊的批次檔。CobbleDB 則專責查詢時的讀取。
CobbleDB 本身是分散式鍵值儲存,鍵是雜湊過的網址,值是該頁預先切好的段落與每段的向量嵌入。資料分區散布在各資料節點,每個分區有三個複本;節點以 RocksDB 儲存,快取資料走記憶體、未快取走本機 NVMe。無狀態的查詢路由器把鍵雜湊到分區並平行送出請求,優先送往同一可用區的節點以降低跨區延遲,節點則用 RocksDB 的 MultiGet 批次取值;若某節點回應慢,系統可改查另一個複本。
文章也提到他們刻意不做的事:熱儲存不需要交易,也不需要同步複本,文件寫入到可被讀取之間存在短暫落差是可接受的,省掉這些不需要的功能就降低了系統的負擔與成本。
Perplexity 自己標出了這組數字的限制
延遲改善的完整數據是:中位數 31.4 降到 5.60 毫秒、p90 從 56.7 降到 9.77 毫秒、p99 從 123 降到 24.2 毫秒,倍率落在 5.08 倍到 5.80 倍之間。測量條件為每次查詢約 10 到 15 個鍵、平均項目 50 KB、約每秒 20 萬次請求,另做過每秒 50 萬次的負載測試且未見劣化。
Perplexity 自己在文中標明了這組比較的性質:這仍然是觀察性的前後對照,兩套系統是在不同時間服務實際生產流量,而不是在受控條件下處理相同請求。他們因此另外用合成基準測試量測兩者。成本方面的 20% 也是基於內部對儲存大小、寫入容量單位與讀取容量單位的估算。
風險提示
加密貨幣投資具有高度風險,其價格可能波動劇烈,您可能損失全部本金。請謹慎評估風險。




