网易首页 > 网易号 > 正文 申请入驻

5000万条向量撞墙:584GB索引撑爆256GB内存

0
分享至

把向量塞进Postgres,在200万条数据时几乎是无敌的:查询8毫秒返回,备份统一,运维开销为零。等到企业文档入库管线扩到5000万条1536维向量,并且持续流式更新、带行级安全过滤,情况就变了——复制延迟飙到40分钟,autovacuum把NVMe的IOPS钉在100%,带租户过滤的向量查询连10条结果都返回不了。


这是一道物理题:多层邻近图不能当成B-tree索引来用。HNSW(分层可导航小世界图)必须常驻内存,才能避免贪心遍历时的随机磁盘寻道。5000万条1536维float32向量,索引体积超过580GB,而实例内存只有256GB。

在一台64 vCPU、256GB内存、io2 NVMe存储的云数据库实例上,从500万条扩到5000万条1536维向量的实测数据里,5000万行未分区HNSW那一行最刺眼:584GB索引溢出256GB系统内存后,每一步多跳图遍历都要触发几十次8KB随机页读取。同时,严格多租户查询(WHERE tenant_id = 42)的召回率掉到61.5%。

一家区域性金融机构的夜间文档重建索引任务更新了8%的行。PostgreSQL的MVCC机制让每次UPDATE都写入新元组,并改动几十个双向HNSW邻居指针,在WAL里产生14倍写放大,直接冻住了早上的copilot查询。

三个生产级瓶颈

第一是MVCC写放大与VACUUM图修复卡顿。删除或更新一行,并不会立刻把它从HNSW索引里摘掉。VACUUM必须走一遍HNSW图,解链死元组、修复双向邻居列表(每个节点M=16到64条连接)。持续流式写入下,autovacuum追不上图指针修复的速度,表膨胀和WAL复制延迟随之而来。

第二是选择性WHERE子句上的过滤召回悬崖。HNSW遍历的是所有向量构成的单张连通图。当查询带上高选择性过滤条件(比如WHERE tenant_id = 'bank_b',只命中表的0.2%),后过滤的ef_search候选常常丢弃99%的已访问节点,返回结果不足k条。即便用上pgvector 0.8.0+的迭代索引扫描(hnsw.iterative_scan = relaxed_order),扫过99.8%的不匹配图节点,也会把10毫秒的查询变成数秒的随机I/O风暴。

第三是OLTP与向量内存争抢。未量化的float32 HNSW页灌满shared_buffers后,会挤掉核心应用的热B-tree索引和事务表。RAG搜索并发一冲高,同一实例上的结账、计费、认证SQL查询跟着遭殃。

三条扩容规则

按租户或域哈希分区向量表。不要在5000万多租户行上建单张巨型HNSW索引,用PostgreSQL声明式分区(按tenant_id做LIST或HASH),让每个分区维护一张紧凑独立的HNSW图,干净地装进缓存,在不扫描无关租户的前提下拿到99%以上的过滤召回。

把vector(float32)换成halfvec(float16)或二值量化。1536维嵌入按32位浮点存储,浪费一半内存带宽。换成halfvec(1536)索引体积减半,召回损失测不出来;Matryoshka截断到768维再加二值量化,内存占用最多可降96%。

冷语料上NVMe感知的StreamingDiskANN(pgvectorscale)。单个分区超过2000万条向量时,用pgvectorscale的diskann索引访问方法配合统计二值量化(SBQ)替换内存型HNSW。DiskANN把压缩后的图节点顺序存放在本地NVMe SSD上,P99延迟低于25毫秒,内存成本只有内存型HNSW的20%。

"Just use Postgres"是个靠谱的工程默认值——前提是按图结构的物理规律设计存储布局,而不是假设默认HNSW设置能无限扩展。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
49岁刘孜给父母买房,嫁给竹马育有一子,婆婆把她当成宝

49岁刘孜给父母买房,嫁给竹马育有一子,婆婆把她当成宝

草莓解说体育
2026-10-18 05:49:27
蒯曼遇到下下签,和张本美和同区,覃予萱和王艺迪获得上上签

蒯曼遇到下下签,和张本美和同区,覃予萱和王艺迪获得上上签

子水体娱
2026-10-19 23:47:34
曝老佛爷向亲信透露 穆帅战绩仍无改善将考虑请德尚

曝老佛爷向亲信透露 穆帅战绩仍无改善将考虑请德尚

新英体育
2026-10-19 13:07:17
曾仕强:所有疾病的起因,都是因为紧张|只要全身不放松,疾病就会找上门

曾仕强:所有疾病的起因,都是因为紧张|只要全身不放松,疾病就会找上门

杏花烟雨江南的碧园
2026-07-24 16:15:03
陌生亲密性行为五年降幅76%!北大复旦联合调查结果显示,年轻人快餐关系遇冷,引发热议

陌生亲密性行为五年降幅76%!北大复旦联合调查结果显示,年轻人快餐关系遇冷,引发热议

火山詩话
2026-10-19 13:18:35
快讯!泽连斯基此人确实不简单!

快讯!泽连斯基此人确实不简单!

有态度的何总
2026-10-19 11:01:13
国际油价18年间跌了55美元,国内油价却从5.44元涨到8.58元?

国际油价18年间跌了55美元,国内油价却从5.44元涨到8.58元?

爱看剧的阿峰
2026-10-19 16:31:29
深度长文:为什么科学家认定全人类都源自非洲?终于讲通透了!

深度长文:为什么科学家认定全人类都源自非洲?终于讲通透了!

宇宙时空
2026-08-26 18:29:02
科比女儿23岁首登维密秀,为走秀把历年大秀看到滚瓜烂熟

科比女儿23岁首登维密秀,为走秀把历年大秀看到滚瓜烂熟

自愈小日子
2026-10-19 08:16:16
5分钟被打断4次!赫格塞思的风光正在褪去,体面辞职或许才是最好的退场方式

5分钟被打断4次!赫格塞思的风光正在褪去,体面辞职或许才是最好的退场方式

聪先生
2026-10-18 14:02:49
九轮全胜39球,巴萨把58年前的纪录追平了

九轮全胜39球,巴萨把58年前的纪录追平了

夜白侃球
2026-10-19 11:24:19
快讯!俄罗斯传来消息!

快讯!俄罗斯传来消息!

故事终将光明磊落
2026-10-19 09:02:32
打不得!日本战舰闯入台海峡,我军为什么不直接击沉它?

打不得!日本战舰闯入台海峡,我军为什么不直接击沉它?

阿凫爱吐槽
2026-10-18 15:16:57
“争执升级”!美媒:泽连斯基指责特朗普正逼迫乌克兰向俄罗斯投降

“争执升级”!美媒:泽连斯基指责特朗普正逼迫乌克兰向俄罗斯投降

环球网资讯
2026-10-19 11:38:24
老登资产正在逐渐走下神坛:中华烟没人抽了,茅台酒没人买了!

老登资产正在逐渐走下神坛:中华烟没人抽了,茅台酒没人买了!

王二哥老搞笑
2026-10-19 19:12:05
今天10月19日,全体退休人员注意:10月养老金发放,必查三项!

今天10月19日,全体退休人员注意:10月养老金发放,必查三项!

老孙说
2026-10-19 09:56:03
中期选举将至,特朗普卖力拉票,共和党不买账,白宫爆发“内斗”

中期选举将至,特朗普卖力拉票,共和党不买账,白宫爆发“内斗”

娱乐小可爱蛙
2026-10-19 19:46:04
倒计时1周!金球奖最新赔率:凯恩力压亚马尔 梅西第4  去年得主仅第8

倒计时1周!金球奖最新赔率:凯恩力压亚马尔 梅西第4  去年得主仅第8

我爱英超
2026-10-19 16:24:29
梁洛施现状:复出拍戏,又陷热恋,仨儿子都争气,与李泽楷联系少

梁洛施现状:复出拍戏,又陷热恋,仨儿子都争气,与李泽楷联系少

诺斯罗普的笔记呀
2026-10-19 19:17:43
我考了四年公务员,终于承认了一个残酷的现实:我永远考不上

我考了四年公务员,终于承认了一个残酷的现实:我永远考不上

军闻新大门
2026-10-18 23:46:34
2026-10-20 03:28:49
闪存猎手
闪存猎手
全网蹲好价的野生捕手,算力与羊毛都不可辜负。
179文章数 82关注度
往期回顾 全部

科技要闻

王晟:近千亿资金涌入后 具身智能开始退烧

头条要闻

中国留学生披旭日旗事件最新进展:目前已被遣返

头条要闻

中国留学生披旭日旗事件最新进展:目前已被遣返

体育要闻

从NBA退役10年后,他真去警局上班了

娱乐要闻

奚梦瑶回应重返维密:还是很开心的

财经要闻

黄奇帆之子往事:从广微系到魏桥的跳跃

汽车要闻

不知道二代海鸥多好玩? 上赛道跑两圈 很过瘾的

态度原创

本地
教育
家居
时尚
旅游

本地新闻

因新荣记出圈,这座浙东小城才是吃货天堂

教育要闻

1359 个市级指标藏在哪里?初中三年铺路地图

家居要闻

2026建博会(广州) 公装联探展交流活动

中国第一位女指挥:97岁,不退休,不退场

旅游要闻

换个思路,北京的冷门博物馆也好逛

无障碍浏览 进入关怀版