Zilliz 09月25日
内存 VS 对象存储,谁是向量数据库的未来?
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

向量数据库正迎来摩尔定律时代,但传统内存型向量数据库面对海量非结构化数据成本高昂。AWS 推出的 S3Vector 服务借助对象存储的经济性,提供了高性价比的向量检索入门方案。然而,S3Vector 能彻底替代内存吗?本文将探讨 S3Vector 的优缺点,以及如何将其与向量数据库搭配使用,实现低成本与高性能的完美平衡。

📉 S3Vector 以极具竞争力的价格 ($0.06/GB) 提供存储优势,但速度慢、召回率低、功能基础,不适用于所有场景。

🔥 Zilliz Cloud 分层存储架构通过智能缓存替代全量加载,实现热数据高性能访问,冷数据低成本存储,兼顾企业级功能与性能。

🌐 分层存储架构适用于大规模多租户应用和大规模数据近实时分析场景,以接近 S3 的成本提供可接受的查询性能。

🔄 提供了将 S3Vector 数据迁移到 Zilliz Cloud 的详细教程,包括准备工作、迁移步骤和验证方法。

🚀 Zilliz Cloud 的性能优化和功能设计将为您的业务带来持续价值回报,是 S3 Vector 升级的理想选择。

原创 黄浩原 2025-09-16 18:14 上海

内存 VS 对象存储,谁是向量数据库的未来?

向量数据库的摩尔定律时代,这次是真的来了。

先看两组关键数据:

说的更直白一些:传统内存型向量数据库,面对激增的海量非结构化数据,成本已难以为继。

在这一背景下,AWS 推出了 S3Vector 服务。它借助对象存储的经济性,给出了高性价比的向量检索入门方案。

那么问题来了:

S3Vector 会取代向量数据库吗?

如果不能,如何将S3Vector与向量数据库搭配使用?

我们又如何将 S3Vector 的数据做好迁移?

本文将逐一解答这些疑问。

(彩蛋预告:Zilliz Cloud 最新分层存储方案,能以接近对象存储价格,搞定企业级功能与性能需求,详情见下文)

01 

S3Vector实测

对象存储能彻底替代内存吗

经过实测,我们发现,S3Vector 的特点十分明确:成本优势显著,但能力有限,绝非万能解决方案。

先说优点,极具竞争力的价格:

再讲缺点,S3Vector 的天花板”很明显,主要在 3 个方面:

(1)速度慢,有上限

(2)召回率不够,还没法调

(3)功能太基础

也就是说,如果只是针对海量非结构化数据做最基础的检索与管理、查询速度要求不高、用得也不频繁(比如每天查几次),那它几乎没对手。

但如果有数据的冷热管理需求,或者有混合检索、多租管理这样的企业功能,那么就需要一个新的思路,将S3的低成本与传统向量数据库的企业级功能做一个结合。

02  

Zilliz Cloud 分层存储

兼顾低成本与企业级功能

近期,Zilliz 存储扩展型即将全新升级为“分层存储型”,推出冷热温三层存储架构,做到以接近S3的成本,兼顾企业级功能与性能(如有需求,可公众号后台留言)。

过去,在传统的 Zilliz Cloud 架构中,无论是性能型、容量型还是存储扩展型,都要求全量数据加载到:内存(性能型)或者磁盘(容量型)。全量加载模式虽能保证查询性能,但面对大规模数据时,资源成本极高。

分层存储架构(内存 + 磁盘 + 对象存储)直接颠覆这一模式,用智能缓存替代全量加载。

它的核心优势是动态分层:将高频访问数据,自动升层到内存 / 磁盘,确保高性能;长期未访问数据,自动降层 到对象存储,降低成本。

更关键的是,我们没有采用简单的 LRU (最近最少使用)策略,而是让系统结合数据访问模式、用户行为、业务特征做智能预判。

比如多租户场景下,能提前识别潜在活跃用户及其活跃时间段,将数据预加载到高层存储。

最终实现:热数据保性能,冷数据降成本,存储成本逼近 S3,活跃数据访问体验不打折。

这套架构,精准匹配两大核心场景:

场景一:大规模多租户应用

这类应用的典型特征:租户总量大(千万级),但活跃率低(仅 1%-5%),有明确活跃时间段。典型代表是 AI 编程助手(每个订阅即租户)、情感聊天应用(每个用户即租户)。

分层存储的价值的在于:企业不用为全量租户付高价,就能以高性能支撑大规模用户基数。

场景二:大规模数据近实时分析

自动驾驶数据、机器人大模型训练、创新药研发等领域,都有一个共性:数据总量极大,但查询频率极低(每天仅极少数人做十几次到上百次的查询,远低于在线推荐系统每秒数千次的强度)。

这类场景对成本极度敏感,研发团队愿接受秒级甚至 10 秒级响应,换取成本下降。

分层存储正好契合需求:将存储成本降到纯内存方案的几分之一,同时提供可接受的查询性能,完美平衡 低成本与 可用性能。

03 

迁移教程

既然 Zilliz Cloud三层存储,可以做到与 S3 Vector 基本持平的成本,并兼顾企业级功能与性能,那么如何把 S3 Vector 的数据迁移到 Zilliz Cloud ?

我们假设您已经在 AWS 的 us-west-2 区域的 vector 桶的 books Index 下存入了 200 条书籍信息数据,每条数据包含:

开始前的准备工作

在开始迁移之前,请确保满足以下先决条件:

迁移前验证

在部署和启动 VTS 服务之前,建议先验证 S3 Vector 中的数据和访问权限。

    import boto3

    import os

    aws_access_key_id = os.getenv("AWS_ACCESS_KEY_ID")

    aws_secret_access_key = os.getenv("AWS_SECRET_ACCESS_KEY")

    s3vectors = boto3.client("s3vectors", region_name="us-west-2", aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key)

    resp = s3vectors.list_vectors(vectorBucketName="vectors", indexName="books", returnMetadata=True, returnData=True)

    for vector in resp["vectors"]:

        print(vector)

    您应该可以看见 200 条数据结果


      {'key''First foot situation land bad.''data': {'float32': [0.7183347940444946……]}, 'metadata': {'author''Wendy Jones'}}

      {'key''Face industry bit true.''data': {'float32': [0.9061349630355835……]}, 'metadata': {'author''Steven Smith'}}

      {'key''Republican agreement probably home choose see.''data': {'float32': [0.26946496963500977……]}, 'metadata': {'author''Misty Lynch'}}

      {'key''Before arrive design soon finally discuss.''data': {'float32': [0.35728317499160767……]}, 'metadata': {'author''Mark Johnson'}}

      …………


      开始迁移

        docker pull zilliz/vector-transport-service:v1.2.0


          vim ./s3-vector_to_milvus.conf


            env {

              execution.parallelism = 1

              job.mode = "BATCH"

            }

            source {

                S3Vector {

                    region = "us-west-2"

                    vector_bucket_name = "vector-bucket" # 向量桶名

                    index_name = "books"  # 向量索引名

                    ak = "ak" # aws_access_key_id

                    sk = "sk" # aws_secret_access_key

                }

            }

            sink {

              Milvus {

                  url="https://in01-***.<region>.zilliz.com.cn:19530" 

                  token="***"  

                  database="default"  # 目标 database

                  batch_size=1  # 每次插入的批量,批量大速度快,但使用更多的内存

                }

            }


            配置好后保存。

              docker run -v ./s3-vector_to_milvus.conf:/config/s3-vector_to_milvus.conf -it zilliz/vector-transport-service:v1.2.0 /bin/bash


                ./bin/seatunnel.sh --config /config/s3-vector_to_milvus.conf -m local


                迁移后验证

                进入 ZIlliz Cloud 控制台。

                Vts 会自动探测 metadata 里的数据,并为每一个属性创建一个列,并使用 key 作为 pk 列。

                接下来,按需给向量列创建一个索引。

                操作 Load Collection ,即可在控制台上预览数据。

                数据条数和内容都和迁移之前一致。

                尾声

                放眼当下,非结构化数据市场正持续增长,需求不断攀升。

                Zilliz Cloud 的分层存储架构,给出了理想解法:既保留 S3 的低成本存储优势,又具备专业向量数据库的高性能,企业级功能。

                无论你是刚接触向量检索,还是想从 S3 Vector 升级到更专业方案,都不妨做一下尝试。

                迁移只是起点,Zilliz Cloud完整的的性能优化、功能设计,都将为您的业务带来持续价值回报。

                作者介绍

                黄浩原

                 Senior Software Engineer

                推荐阅读

                实战|CLIP+Milvus,多模态embedding 如何用于以文搜图

                ES vs Milvus vs PG vector :LLM时代的向量数据库选型指南

                Embedding无敌,是做文档RAG最大的幻觉(含LangExtract+Milvus教程)

                Word2Vec、 BERT、BGE-M3、LLM2Vec,embedding模型选型指南

                全面测评LangChain vs LangGraph:谁是agent落地最优解

                阅读原文

                跳转微信打开

                Fish AI Reader

                Fish AI Reader

                AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

                FishAI

                FishAI

                鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

                联系邮箱 441953276@qq.com

                相关标签

                向量数据库 内存 对象存储 S3Vector Zilliz Cloud 分层存储 成本 性能
                相关文章