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 // 加尔各答
