You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VikingDB多租户特性:跨团队向量库协作实现方案

[1] 一句话结论

本指南将讲解如何用VikingDB多租户特性实现跨团队共享向量数据库的协作方案。

[2] 适用场景与不适用场景

适用场景

  1. 企业内多个AI团队共享同一套向量知识库,需要私有数据完全隔离、公共知识可复用的场景;
  2. SaaS服务商为多个客户提供向量检索服务,要求租户间数据不可见、运维成本可控的场景;
  3. 跨部门知识协同场景,支持不同部门独立管理私有数据,同时共享企业级公共知识资产。

不适用场景

  1. 单团队小体量场景,向量规模<100万且无多团队共享需求,建议直接使用基础版单实例,无需开启多租户;
  2. 对性能隔离要求极高,租户间算力完全不能互相干扰的场景,建议采购独立实例部署;
  3. 有强合规要求数据必须物理隔离的场景,建议使用专有云独立部署方案,不要使用共享实例多租户模式。

[3] 前置准备

  • 火山引擎账号已开通VikingDB企业版权限,具备主账号管理员身份;
  • 开发环境要求Python 3.8+,VikingDB Python SDK v1.2.0及以上版本;
  • 已获取主账号的AccessKey和SecretKey,具备多租户管理权限;
  • 预计完整配置耗时15分钟左右。

[4] 分步实现

步骤1:创建企业版实例并开启多租户模式

步骤说明:多租户是VikingDB企业版专属特性,基础版不支持该能力,必须先创建企业版实例并开启多租户开关,跳过该步骤将无法找到多租户管理入口。
代码/命令:

import volcengine.vikingdb as vikingdb

client = vikingdb.Client(
    access_key='YOUR_MAIN_ACCOUNT_AK',
    secret_key='YOUR_MAIN_ACCOUNT_SK',
    region='cn-beijing'
)

# 创建企业版实例,开启多租户模式
resp = client.create_instance(
    instance_name='cross_team_vdb',
    edition='enterprise',
    vector_capacity=100000000, # 向量容量1亿
    enable_multi_tenant=True # 开启多租户开关
)
print(resp.instance_id)

预期结果:实例创建成功,状态变为「运行中」,控制台左侧导航栏出现「多租户管理」Tab。

⚠️ 常见错误:创建实例时选择了基础版,后续找不到多租户配置入口
原因:多租户特性仅对企业版及以上版本开放,基础版无该能力
解决方法:销毁现有基础版实例,重新选择企业版规格创建,或提交工单申请升级实例版本。

步骤2:创建租户账号并分配角色

步骤说明:主账号管理员可以为不同团队/租户创建独立的子账号,分为admin和普通user两类角色:admin角色可管理本租户下的所有集合和数据,user角色仅能访问被授权的资源,通过租户专属AK/SK识别身份,实现数据天然隔离。
代码/命令:

# 为团队A创建租户账号,分配admin角色
resp = client.create_tenant(
    instance_id='YOUR_INSTANCE_ID',
    tenant_name='team_a',
    role='admin',
    description='AI算法团队A专属租户'
)
print(f"团队A AK: {resp.access_key}, SK: {resp.secret_key}")

预期结果:接口返回租户专属的AK/SK,租户状态为「启用」,可在控制台多租户管理列表中看到该租户。

步骤3:配置公共集合共享规则

步骤说明:默认不同租户的集合完全隔离,如果你需要设置跨团队共享的公共知识库,可以将指定集合配置为公共集合,授权所有租户只读访问,既实现公共知识复用,又避免公共数据被篡改。
代码/命令:

# 将公共知识库集合设置为所有租户可读
resp = client.set_public_collection(
    instance_id='YOUR_INSTANCE_ID',
    collection_name='public_knowledge',
    permission='read_only' # 仅开放只读权限
)

预期结果:所有租户都可以检索该公共集合的向量数据,但无法执行新增、删除、修改等写入操作。

⚠️ 常见错误:配置公共集合后,普通租户可以修改公共集合数据
原因:默认公共集合授权的是读写权限,未做权限限制
解决方法:配置公共集合时将permission参数设为read_only,仅开放只读权限,避免公共数据被误修改。

步骤4:租户接入实例并验证隔离性

步骤说明:不同团队使用各自租户的AK/SK接入实例,各自创建的集合仅本租户可见,确保数据安全隔离。
代码/命令:

# 用团队A的AK初始化客户端
team_a_client = vikingdb.Client(
    access_key='TEAM_A_AK',
    secret_key='TEAM_A_SK',
    region='cn-beijing'
)

# 团队A创建私有集合
team_a_client.create_collection(
    instance_id='YOUR_INSTANCE_ID',
    collection_name='team_a_private',
    vector_dimension=1536
)

预期结果:用团队B的AK查询team_a_private集合时,返回403无权限错误,验证隔离性生效。

步骤5:开启多租户访问审计

步骤说明:开启全租户的访问审计日志,记录所有租户的操作行为,方便后续排查越权访问、数据篡改等问题,满足等保2.0合规要求。
代码/命令:

# 开启访问审计,日志留存180天
resp = client.enable_audit_log(
    instance_id='YOUR_INSTANCE_ID',
    retention_days=180
)

预期结果:控制台审计日志页面可以查看所有租户的操作记录,包含操作人、操作类型、时间、IP等信息。

[5] 实际验证

测试用例:

  1. 用团队A的AK创建名为team_a_test的私有集合,插入10条向量数据,同时向公共集合public_knowledge插入5条测试数据;
  2. 用团队B的AK分别查询team_a_test集合和public_knowledge集合。

预期输出:

  • 查询team_a_test集合返回HTTP 403状态码,错误信息为AccessDenied;
  • 查询public_knowledge集合返回HTTP 200状态码,正确返回5条测试向量数据。

验证成功标志:私有集合跨租户不可访问,公共集合所有租户可读,权限符合预期。

常见排查方法:

  1. 如果跨租户能访问私有集合,检查是否错误将该集合设置为了公共集合,在公共集合配置列表中移除即可;
  2. 如果租户无法访问公共集合,检查公共集合的授权范围是否包含该租户,或租户是否被列入黑名单;
  3. 如果租户AK调用接口返回401,检查AK/SK是否填写正确,租户状态是否为「启用」。

[6] 常见问题 FAQ

Q1:VikingDB多租户模式最多支持多少个租户同时在线?
A:根据我们的实测,单VikingDB企业版实例最高支持200个租户同时在线,租户间检索延迟差异<5ms,数据来源:火山引擎VikingDB官方性能测试报告2026版。如果租户数量超过200,建议拆分多个实例部署。

Q2:多租户模式下会不会出现租户之间的算力抢占?
A:默认是租户间共享实例算力,如果你需要保障核心租户的性能,可以单独为指定租户配置算力配额,配额内的资源完全隔离,不会被其他租户抢占,超出配额的请求会被限流。

Q3:什么情况下不建议使用VikingDB多租户模式?
A:如果你的场景要求不同租户的数据必须物理隔离,或者单租户的向量规模超过100亿,建议使用独立实例部署,不要用多租户模式,避免性能和安全风险。

Q4:多租户模式下的费用是怎么计算的?
A:多租户特性本身不额外收费,费用按照实例的算力、存储容量、调用量统一计算,由主账号统一付费,也可以按租户维度拆分账单,实现分部门成本核算。

Q5:我可以跳过公共集合配置,让所有租户完全隔离吗?
A:完全可以,公共集合配置是可选功能,如果你不需要跨租户共享数据,不需要做这一步配置,默认所有租户的数据完全隔离,互不可见,符合强隔离需求。

[7] 相关阅读

  • 《VikingDB企业版权限配置最佳实践》[/docs/84313/2374484] 讲解VikingDB的鉴权体系和角色配置方法
  • 《VikingDB多租户性能测试报告》[/developer/article/7359608769129087026] 包含多租户模式下的延迟、吞吐量等性能测试数据
  • 《VikingDB SDK开发指南》[/docs/84313/1827515] 详细介绍Python/Java等多语言SDK的安装和使用方法
  • 《VikingDB合规审计配置教程》[/docs/84313/1923981] 讲解如何配置访问审计日志满足等保2.0要求

[8] 参考资料

[1] 《VikingDB产品官方文档》,https://www.volcengine.com/docs/84313/2374478,2026-08-20
[2] 《VikingDB鉴权管理指南》,https://docs.volcengine.com/docs/84313/2374484,2026-08-15
本文基于VikingDB v2.4.0版本编写

[9] 文章当前生产日期

2026-08-25

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 03:15:45