Azure HorizonDB 與 PostgreSQL:架構、矢量基準
在現代云中,“無共享”架構的時代正在達到其物理極限。由於企業應用程序需要無限的事務擴展和 AI 的海量矢量數據集,標準 PostgreSQL 的耦合存儲模型產生了一個稱為寫入放大的關鍵瓶頸。在本次技術深入探討中,我們分析了 Azure HorizonDB 引入的架構範式轉變。
通過將計算與存儲分離並利用專有的日誌結構引擎,HorizonDB 有望重新定義寫入吞吐量和恢復時間。我們研究了“日誌服務”的內部機制,比較了 RAG 工作負載的 DiskANN 與 HNSW 的成本效率,並可視化異步數據流,以幫助雲架構師確定 AI 時代的權威數據庫引擎。
Azure HorizonDB 與 Postgres | GigXP.com
物理極限
標準 PostgreSQL 在“耦合”模型上運行。 CPU 和存儲位於同一個虛擬盒子中。這會產生摩擦。每次寫入都需要提交預寫日誌 (WAL) 並刷新到本地磁盤。
HorizonDB 解耦了這些層。計算節點是無狀態的。數據庫日誌就是數據庫。它將日誌記錄推送到龐大的分佈式存儲群,該存儲群可獨立於查詢引擎進行擴展。
主要區別
HorizonDB 刪除了“寫入放大”。它不需要將數據寫入主磁盤,然後將其複製到副本磁盤。它向共享存儲寫入一次。
底層:日誌服務
HorizonDB 引入了標準 Postgres 所缺乏的中間層。這種複雜性使得即時擴展成為可能。
1. 計算節點
角色:查詢處理
在此架構中,“Postgres”實例是短暫的。它不包含任何數據。它將頁面緩存在本地緩衝池 (RBP) 中,但依賴於網絡來獲取真相。如果此節點崩潰,新節點會在幾秒鐘內啟動並連接到存儲。
2. 頁面服務器
角色:數據具體化
日誌記錄只是指令(例如,“將值A更改為B”)。無法直接查詢日誌。頁面服務器不斷在後台重播這些日誌以生成更新的 8KB 數據頁,然後根據請求將其返回到計算節點。
3. 存儲層
作用:耐用性
基於 Azure 高級存儲構建。該層負責 WAL 中的“L”。一旦日誌記錄到達這一層,事務就會被提交。它允許進行時間點恢復 (PITR),而不會影響主節點的性能。
崩潰恢復機制
在標準 Postgres 中,崩潰恢復可能需要幾分鐘的時間。數據庫必須從最後一個檢查點重放 WAL,以使系統達到一致狀態。
HorizonDB 消除了這種等待。
由於日誌是分離的,存儲層(頁面服務器)始終並行應用記錄。當計算節點重新啟動時,不需要重放歷史記錄。它只是連接到存儲並恢復提供查詢服務。
讀取副本滯後
在繁重的寫入負載期間,標準副本通常會落後主副本幾秒或幾分鐘。
了解更多:適用於 SQL MI PostGreSQL 的 Azure Arc Data Services 調整工具和計算器
-
零拷貝副本
HorizonDB 副本從同一共享存儲讀取。他們不維護自己的數據副本。 -
毫秒延遲
副本只需要接收最新的日誌序列號(LSN)就可以知道哪些數據是有效的。
可視化流程
該可視化演示了解耦的寫入路徑。請注意“計算”節點如何將日誌發送到“日誌服務”,然後“日誌服務”異步更新“頁面服務器”。
- 主動計算
- 基礎設施
- 數據流
規格與規格
| 特徵 | 標準 PostgreSQL | Azure HorizonDB |
|---|---|---|
| 存儲模型 | 耦合(本地 SSD) | 解耦(共享池) |
| 最大容量 | 〜32TB | 128TB+ |
| 縮放速度 | 分鐘(數據副本) | 秒(僅限元數據) |
| 矢量索引 | HNSW(RAM 重型) | DiskANN(SSD 優化) |
| 寫入延遲 | 磁盤 I/O 限制 | 網絡日誌綁定(更快) |
富裕新南威爾士州限制
標準“pgvector”使用分層可導航小世界。該算法速度很快,但要求索引駐留在 RAM 中。對於 100M 向量,這需要昂貴的高內存虛擬機。
DiskANN的優勢
HorizonDB 使用 DiskANN。它將大部分矢量圖存儲在 SSD 上,只在 RAM 中保留輕量級地圖。這可以將大型數據集的基礎設施成本降低約 85%。
推薦引擎
早期
企業核心
人工智能/RAG
低預算
千兆XP.com
現代云架構師的技術分析。沒有絨毛。只是基準。
數據
合法的
© 2025 GigXP.com。版權所有。
預計。 2025 // 加爾各答
