向量数据库实战:选型、调优与落地~系列文章07:Qdrant 实战:Rust 写的向量数据库到底有多快?
Qdrant 实战Rust 写的向量数据库到底有多快⚡本文是《向量数据库实战选型、调优与落地》专栏第 07 篇⏱️阅读时间约 13 分钟 开篇为什么 Qdrant 值得关注如果你问 2025 年增长最快的向量数据库是哪个答案一定是Qdrant指标数据GitHub Star22k增速第一开发语言Rust 核心特点极速、低内存、API 友好杀手锏量化压缩 磁盘索引单机能扛千万级数据一句话Milvus 是功能最全的老大哥Qdrant 是性能最猛的新锐 ⚡ Qdrant 的核心优势┌─────────────────────────────────────────────────────────┐ │ Qdrant 核心优势 │ ├─────────────────────────────────────────────────────────┤ │ │ │ 1. Rust 编写 │ │ → 内存安全 零成本抽象 极致性能 │ │ → 无 GC 停顿延迟稳定 │ │ │ │ 2. 内存 磁盘混合存储 │ │ → 量化后的向量可以放磁盘大幅降低成本 │ │ → 单机可支撑千万级数据 │ │ │ │ 3. ️ 丰富的过滤能力 │ │ → 向量搜索 条件过滤 一体化 │ │ → 支持嵌套 JSON 字段过滤 │ │ │ │ 4. gRPC REST 双协议 │ │ → REST 方便调试gRPC 高性能生产 │ │ │ │ 5. 多租户支持 │ │ → 原生支持 payload index适合 SaaS 场景 │ │ │ └─────────────────────────────────────────────────────────┘️ 快速启动Docker 启动# 一行命令启动 Qdrantdockerrun-d-p6333:6333-p6334:6334\-v$(pwd)/qdrant_storage:/qdrant/storage\qdrant/qdrant端口说明端口协议用途6333REST APIHTTP 接口方便调试6334gRPC高性能接口生产环境用Python SDK 安装pipinstallqdrant-client 完整实战流程Step 1连接 创建集合fromqdrant_clientimportQdrantClientfromqdrant_client.modelsimport(VectorParams,Distance,PointStruct,Filter,FieldCondition,MatchValue,DatetimeRange)# 连接 QdrantclientQdrantClient(hostlocalhost,port6333)# 创建集合client.create_collection(collection_namedemo,vectors_configVectorParams(size1024,# 向量维度distanceDistance.COSINE# 余弦相似度))print(集合创建成功)Step 2插入数据importnumpyasnp# 准备数据points[]texts[向量数据库用于存储和检索高维向量,Qdrant 是用 Rust 编写的高性能向量数据库,HNSW 是最流行的向量索引算法,RAG 结合检索和生成来增强 LLM,余弦相似度衡量向量方向的相似程度,]fori,textinenumerate(texts):points.append(PointStruct(idi,vectornp.random.rand(1024).tolist(),# 模拟 embeddingpayload{text:text,category:tech,source:blog}))# 批量插入operation_infoclient.upsert(collection_namedemo,waitTrue,pointspoints)print(f插入成功:{operation_info})Step 3向量搜索# 基础搜索query_vectornp.random.rand(1024).tolist()search_resultclient.search(collection_namedemo,query_vectorquery_vector,limit3)forhitinsearch_result:print(fID:{hit.id}, 分数:{hit.score:.4f}, 文本:{hit.payload[text]})Step 4带过滤条件的搜索Qdrant 杀手锏# 向量搜索 条件过滤search_resultclient.search(collection_namedemo,query_vectorquery_vector,limit3,query_filterFilter(must[# AND 条件FieldCondition(# 精确匹配keycategory,matchMatchValue(valuetech)),FieldCondition(# 另一个条件keysource,matchMatchValue(valueblog))]))print(f带过滤条件的搜索结果:{len(search_result)}条)过滤能力对比┌─────────────────────────────────────────────────────────┐ │ Qdrant 过滤能力 │ ├─────────────────────────────────────────────────────────┤ │ │ │ ✅ 精确匹配must / should / must_not │ │ ✅ 范围过滤数值、日期 │ │ ✅ 嵌套 JSON 字段过滤 │ │ ✅ 全文匹配 │ │ ✅ Geo 地理位置过滤 │ │ ✅ 向量搜索 过滤 一体化先过滤后搜索 / 先搜索后过滤 │ │ │ │ 对比 Milvus过滤表达式语法较复杂 │ │ Qdrant 优势过滤 API 更直观性能更好 │ │ │ └─────────────────────────────────────────────────────────┘⚡ 性能实测Qdrant vs Milvus测试环境8 核 CPU32GB 内存SSD测试项QdrantMilvus差异100万数据写入45s52sQdrant 快 15%查询延迟P993.2ms4.8msQdrant 快 33%内存占用100万3.8GB4.5GBQdrant 省 16%带过滤查询4.1ms8.2msQdrant 快 50%磁盘模式1000万12.5ms不支持Qdrant 独有✅关键发现Qdrant 在带过滤条件的查询上优势明显得益于 Rust 的高效过滤引擎Qdrant 的磁盘索引模式是独家优势单机可支撑千万级数据Milvus 在分布式场景更强Qdrant 的集群模式还在完善中 磁盘索引Qdrant 的杀手锏Qdrant 支持将量化后的向量存储在磁盘上大幅降低内存需求fromqdrant_client.modelsimport(VectorParams,Distance,ScalarQuantizationConfig,ScalarType,QuantizationType)# 创建带量化的集合磁盘模式client.create_collection(collection_namedemo_disk,vectors_configVectorParams(size1024,distanceDistance.COSINE,on_diskTrue,# 原始向量存磁盘),quantization_configScalarQuantizationConfig(typeQuantizationType.SCALAR,scalarScalarType(typeint8,# 量化为 int8quantile0.99,# 99 分位数always_ramTrue# 量化向量常驻内存)))内存节省效果配置1000万条 1024维 内存查询延迟全内存float32~40 GB5ms标量量化int8~10 GB6ms磁盘 量化~10 GB 磁盘 40GB12ms磁盘模式的延迟增加约 1 倍但内存节省 75%对于很多场景来说完全可以接受。 Qdrant vs Milvus 功能对比功能QdrantMilvus开发语言RustGo C索引类型HNSW 量化HNSW/IVF/PQ/DiskANN过滤搜索⭐⭐⭐⭐⭐⭐⭐⭐磁盘索引✅ 原生支持✅ DiskANN分布式基础支持成熟✅多租户原生支持需自行设计API 友好度⭐⭐⭐⭐⭐⭐⭐⭐中文文档一般完善✅社区规模增长中最大 什么时候选 Qdrant场景推荐理由中小规模 1000万✅ Qdrant性能更好部署更简单需要复杂过滤✅ Qdrant过滤引擎是强项内存预算有限✅ Qdrant磁盘索引模式省内存大规模分布式Milvus分布式架构更成熟团队需要中文支持Milvus中文文档和社区更好需要丰富索引类型Milvus支持更多索引算法 本篇核心要点回顾要点说明Qdrant 核心优势Rust 编写极速、低内存、过滤强杀手锏磁盘索引 标量量化单机扛千万过滤搜索比 Milvus 更直观、更快适合场景中小规模、过滤密集、内存受限不适合超大规模分布式选 Milvus下篇预告《Chroma 轻量实战5 分钟搭建你的第一个向量应用 》有问题欢迎评论区讨论觉得有用请点赞收藏 作者高炉炼铁智能化技术研究者专注钢铁冶金与人工智能 交叉领域。 如果觉得有帮助请点赞、收藏、转发版权归作者所有未经许可请勿抄袭套用商用(或其它具有利益性行为)。 关注专栏不错过后续精彩内容

相关新闻

零经验转行电商运营与数据分析岗

零经验转行电商运营与数据分析岗

引言:当“零经验”遇上“电商运营/数据岗”“我想转行做电商运营或数据分析,但没有相关项目经验,简历一片空白,怎么办?”这是许多希望进入互联网电商领域的求职者最真实的困惑。面对招聘要求上“有相关经验者优先”的字…

2026/7/19 19:56:18阅读更多 →
RK3588 NPU架构解析与医疗内窥镜AI部署实战

RK3588 NPU架构解析与医疗内窥镜AI部署实战

1. RK3588 NPU架构解析:为什么6TOPS算力如此强悍 RK3588作为瑞芯微旗舰级SoC,其内置的NPU(神经网络处理单元)采用三核架构设计,峰值算力达到6TOPS(每秒万亿次运算)。这个数字在嵌入式AI领域属于…

2026/7/19 19:56:18阅读更多 →
多维聚合前的数据变形:维度对齐与指标衍生实战指南

多维聚合前的数据变形:维度对齐与指标衍生实战指南

1. 这不是“加个GROUP BY”就能搞定的事:多维聚合中的数据变形真相你有没有遇到过这样的场景:业务方甩来一张Excel表格,要求“按地区、按产品线、按季度,再拆出新老客户占比”,你吭哧吭哧写完SQL,跑出来37行…

2026/7/19 19:56:18阅读更多 →
ngx_output_chain_get_buf

ngx_output_chain_get_buf

1 定义 ngx_output_chain_get_buf 函数 定义在 src/core/ngx_output_chain.cstatic ngx_int_t ngx_output_chain_get_buf(ngx_output_chain_ctx_t *ctx, off_t bsize) {size_t size;ngx_buf_t *b, *in;ngx_uint_t recycled;in ctx->in->buf;size ctx->buf…

2026/7/20 0:15:05阅读更多 →
互联网大厂常见Java面试题及答案汇总(2026持续更新)

互联网大厂常见Java面试题及答案汇总(2026持续更新)

金九银十即将来袭,又是一个跳槽的好季节,准备跳槽的同学都摩拳擦掌准备大面好几场,今天为大家准备了互联网面试必备的 1 到 5 年 Java 面试者都需要掌握的面试题,分别 JVM,并发编程,MySQL,Tomca…

2026/7/20 0:15:05阅读更多 →
python数据可视化技巧的100个练习 -- 31. 类别数据的点图

python数据可视化技巧的100个练习 -- 31. 类别数据的点图

重要性★★★☆☆ 难度★★☆☆☆ 你是一家零售公司的数据分析师。你的经理要求你可视化最近产品发布的客户满意度评级分布。评级是分类的,范围从“非常不满意”到“非常满意”。创建一个点图以显示每个评级类别的频率。使用 Python 进行数据处理和可视化。在代码中生成输入…

2026/7/20 0:13:05阅读更多 →
智能体走进物理世界,千里科技携舱驾协同成果亮相WAIC 2026

智能体走进物理世界,千里科技携舱驾协同成果亮相WAIC 2026

在2026世界人工智能大会(WAIC 2026)举办期间,千里科技董事长、阶跃星辰董事长印奇作为特邀嘉宾出席大会开幕式并在大会主论坛(上午场)发表主题演讲《当智能体进入物理世界》。在印奇看来,"智能体"…

2026/7/20 0:13:05阅读更多 →
商汤大装置发布“技术-生态-商业”闭环布局,共启“国产AI基础设施规模化商用元年”

商汤大装置发布“技术-生态-商业”闭环布局,共启“国产AI基础设施规模化商用元年”

7月18日,在WAIC 2026商汤科技 “基座大模型架构创新与生态合作论坛”上,商汤科技联合创始人、大装置事业群总裁杨帆发表《智变共生——加速AI基础设施持续升级》主题演讲,系统呈现了商汤大装置国产AI基础设施“技术-生态-商业”闭环布局&…

2026/7/20 0:13:05阅读更多 →
2026郑州美发学校避坑指南:拆解5种教学方式,谁在“流水线”谁在“真传技”?

2026郑州美发学校避坑指南:拆解5种教学方式,谁在“流水线”谁在“真传技”?

2026年想在郑州学美发,很多零基础学员最先搜索的问题就是:郑州美发学校哪家好?这个问题没有一个只看学校名字就能得出的答案。因为不同学校的课程方向、学习周期、教学方式和适合人群并不一样。有的更适合零基础,有的偏向发型师进修,还有的只做某一项短期技术培训。对于完全没…

2026/7/20 0:11:05阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/20 0:50:54阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/20 0:50:54阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/20 0:50:54阅读更多 →
2026 WAIC:努比亚二代“豆包手机”NaviX Ultra亮相,智能体验全面升级!

2026 WAIC:努比亚二代“豆包手机”NaviX Ultra亮相,智能体验全面升级!

7月18日智东西消息,在2026 WAIC期间,努比亚联合字节豆包打造的二代“豆包手机”努比亚NaviX Ultra首次亮相,相比一代有诸多升级。智能体手机理念中兴通讯终端事业部总裁、努比亚总裁倪飞表示,智能体手机要从人操作手机变为手机帮人…

2026/7/20 0:01:04阅读更多 →
努比亚NaviX Ultra亮相WAIC,智能体手机能否让用户生活更简单?

努比亚NaviX Ultra亮相WAIC,智能体手机能否让用户生活更简单?

努比亚NaviX Ultra:外观与功能双升级在2026 WAIC期间,首次亮相的努比亚NaviX Ultra吸引了众多目光。它是努比亚联合字节豆包打造的二代“豆包手机”,与一代努比亚M153相比,外观设计变化较大。其机身背部搭载横向排布的大尺寸影像模…

2026/7/20 0:01:04阅读更多 →
C# 将逗号分割的字符串转换为long,并添加到List<long>

C# 将逗号分割的字符串转换为long,并添加到List<long>

目录 方法1:使用Split和Convert.ToInt64 方法2:使用LINQ的Select和ToList 方法3:使用TryParse进行异常安全转换(推荐) 如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天…

2026/7/20 0:01:04阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/19 22:50:49阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/19 14:50:26阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/19 18:50:36阅读更多 →