AI 模型与平台
矢量数据库中的多租户是什么?
当您在GitHub上上传和管理数据时,除非您将其设置为公开,否则其他人无法看到。这是因为GitHub使用多租户作为一种成本有效且易于管理的替代方案,相比为每个用户分配一个单独的数据库更加方便。
然而,当所有用户可以查看彼此的数据时,共享相同的基础设施就会成为一个安全风险。多租户通过逻辑地划分用户数据来解决这个问题,同时允许它们在同一资源上运行。
本文探讨了矢量数据库中的多租户、其优点、局限性和实际应用场景。
矢量数据库中的多租户如何工作?
多租户是一种方法,多个租户(即用户)共享同一个数据库,但将其数据存储在一个隔离的环境中。
使用每个租户的唯一凭证创建一个隔离环境,以保护其数据。因此,每个租户可以在其隔离环境中存储、管理和修改其数据。然而,公司可以访问和控制租户资源和限制。

两个租户集合的示例图,具有对同一个数据库的隔离访问。图片来源: Qdrant
矢量数据库使用 索引 作为一种搜索技术,根据相似性组织向量。索引策略会影响租户数据的划分。目前,多租户矢量数据库中使用两种索引策略。
让我们讨论多租户矢量数据库中的两种索引策略:
- 共享索引: 所有租户共享同一个索引,使用唯一的凭证划分数据。这种方法是内存高效的。然而,它需要强大的安全性和访问控制机制来保护租户数据。
- 每个租户索引: 每个租户在每个租户索引中都有一个单独的索引。这种方法允许完全的访问控制和改进的搜索性能。然而,这种方法是资源密集的。
一些矢量数据库,如 Qdrant 和 Milvus ,为用户提供多租户架构,具有两种索引策略,允许增加定制化和可扩展性。
矢量数据库中多租户的优点
矢量数据库中的多租户为需要为多个用户提供隔离数据库实例的公司提供了众多优点。其中一些优点包括:
1. 成本降低
使用较少的资源为更多的用户提供服务,结果是基础设施成本降低。
2. 可扩展性
多租户允许根据需要共享资源。这意味着需要更多存储资源的租户可以获得更多的资源,反之亦然。
3. 定制化
一个单独的环境允许租户根据自己的需求配置它,包括数据库模式、插件、指标和仪表盘。配置是私有的,租户可以根据自己的需求变化而改变它们。
4. 管理性
一个单独的数据库用于所有租户,允许 集中资源管理 、配置和监控,而不是单独监控每个租户。虽然公司可以在一个地方管理所有租户,但租户可以在其隔离环境中控制自己的数据。
矢量数据库中多租户的局限性
与任何其他架构方法一样,多租户有一些局限性。考虑这些局限性对于谨慎的决策至关重要。最常见的局限性包括:
1. 额外复杂性
在单个资源上管理多个租户需要额外的配置。这包括租户入职、访问控制、用户身份验证和授权。缺乏知识和支持可能会导致意外的结果,例如意外的数据共享或资源超载。
为了解决这个问题,仔细的规划和数据库支持可以确保安全的用户环境。
2. 安全问题
恶意访问、意外的配置错误或基础设施中的漏洞可能会导致租户之间的数据共享。作为防护措施,实施仔细的设计、定期的审计和多层次的安全措施可以加强整体安全性。
3. 性能瓶颈
租户对资源的使用可能会降低其他租户的性能。 共享索引 特别是会影响搜索性能,因为需要运行时权限检查来匹配访问列表。资源管理和控制、定期更新和租户教育对于减轻性能问题至关重要。
4. 系统宕机
计划内的维护、硬件故障和软件错误会影响所有共享相同基础设施的租户。这会导致数据、声誉和财务损失。定期的风险评估、基础设施质量保证和及时的备份可以最小化系统宕机的负面影响。
多租户的应用场景
多租户在从电子商务推荐系统到公司的大型机器学习(ML)模型训练中有很多应用。其中一些最常见的应用场景包括:
1. 推荐系统
想象一个电子商务平台,用户可以注册并保存他们的购物偏好。多租户设置将允许向每个用户提供个性化的产品推荐。
在电子商务平台上,所有租户都可以设置他们的标准,因此 推荐系统 向最终用户发送个性化的产品推荐。
2. 企业应用
为多个员工和客户提供服务的大型软件应用程序使用同一个数据库为所有用户。所有用户都可以上传和管理他们的数据,同时保护它免受他人的访问。例如,Dropbox 和 HubSpot (HUBS ) 允许所有用户共享相同的资源,同时保持他们的数据相互隔离。
3. 异常和欺诈检测
多租户允许开发强大的 欺诈检测系统 ,同时保持个别数据的安全。公司在其匿名数据上训练欺诈检测模型,并将训练好的模型发送到集中数据库。这使他们能够在为欺诈检测系统的开发做出贡献的同时保持他们的数据安全。
例如, 信用卡欺诈检测系统使用 机器学习来提高隐私和效率。
何时使用和何时不使用多租户
多个因素会影响决定是否切换到多租户,包括租户性能、隔离要求和安全问题。让我们详细讨论何时以及何时不使用多租户。
何时使用多租户
以下指标表明多租户是一个合适的选择:
- 多个租户需要单独的环境。
- 租户可以接受性能权衡。
- 成本降低是您的首要任务。
- 集中租户管理可以改善您的运营。
何时不使用多租户
多租户的局限性使其不适合所有情况。如果您有以下要求,多租户矢量数据库可能不是您的最佳选择:
- 租户拥有高度敏感的数据,并且有严格的安全要求。
- 租户数量有限,增长缓慢。
- 租户需要专用环境,并且无法容忍性能下降。
- 多租户专业知识和处理日益复杂的能力有限。
多租户为矢量数据库引入了额外的可扩展性和管理性。如果配置正确,多租户可以为组织节省大量成本和资源。
感兴趣更多与人工智能相关的内容?请关注 unite.ai。












