《向量数据库指南》:向量数据库Pinecone扩展索引
目录
垂直与水平扩展
垂直扩展
水平扩展
添加Pod
添加副本
在这个主题中,我们将解释如何水平和垂直扩展索引。
垂直与水平扩展
为了能够扩大环境以容纳更多的向量,请您考虑调整现有索引在垂直方向上进行扩展,并可以选择新增新的索引在水平方向上进行扩展。本文将阐述这两种方法以及如何有效地进行索引的拓展。

垂直扩展
垂直扩展迅速且无需停机。在无法暂停upserts并持续提供流量的情况下,这种选择非常适合这种情况。它还可以让您迅速提升至现有容量的两倍。然而,在做出这一决策之前,请考虑以下几点因素。
通过调整pod尺寸, 本系统可支持2倍、4倍及8倍大小的pod设置, 这表明在每一步操作中, 系统的处理能力都会翻一番. 采用新配置后, 在每一步操作中所使用的pod数量也将相应增加一倍. 如果希望逐步增加处理能力, 请考虑采用水平伸缩策略.
当您在初始化索引时设定基础pod的数量时,默认设置是固定的不可调整的。举例而言,在初始阶段您可以配置每个实例包含10个p1.x1 pod,并随后进行垂直扩展至p1.x2. 这等同于总共使用了20个pod的数量. 同样地,在进行垂直扩展过程中 pod 类型也无法进行修改. 如果希望根据负载需求动态调整 pod 类型,则水平缩放是一种更为合适的选择.
您只能将索引大小扩大,无法将其缩小。
关于垂直扩展的详细信息,请访问我们的学习中心。
水平扩展
在Pinecone系统中存在两种水平扩展策略:一个是‘添加Pod’操作,另一个是‘复制实例’功能。具体而言,在采用‘添加Pod’策略时会带来系统资源的全面扩展,并要求执行插入操作前进行停机维护。相比之下,“复制实例”功能则专注于提升系统的吞吐量能力,并且该操作无需中断当前数据流进行插件式的增量处理。
添加Pod
借助该功能将Pod加入到索引中将使所有资源得到提升并包含可用容量。借助我们的集合功能您可以将现有的Pod加入到您的现有索引中。集合是一个特定时间点上的固定版本它代表了当前的数据状态而不包含任何元数据信息。
当您执行集合创建操作时,在新索引处指定其相关配置参数。这将使您能够在不升级现有基础Pod计数的情况下实现水平方向上的扩展能力。与传统垂直扩展策略相比的一个显著优势是本方法允许您按需逐步扩大存储空间而不必一次性翻倍提升容量。此外,在使用此方法时还可以根据需要重新定义Pod类型(如性能优化型或存储优化型)。一个重要的优势是可以根据需求调整元数据配置以决定哪些字段被指定为索引或仅存储在数据库中。

为了实现索引副本的复制与新建流程,在操作过程中需要调整Pod类型、Pod数量、元数据配置以及在创建新集合时的各项典型参数。
- 暂时停止执行upsert操作。
- 建立一个新的集合,并基于当前索引进行初始化。
- 基于包含新增参数的集合来生成新的索引结构。
- 被继续向上sert到新的索引位置。请注意:URL可能已发生变更。
- 如果有需求,则删除旧索引位置。
添加副本
在复制索引中的资源和数据时,每一个副本都会导致额外存储空间的需求产生一定的计算开销。然而,在实际应用中发现可以通过合理规划存储策略来降低这种开销。具体而言,在不影响系统运行的前提下(即无需额外停机时间),该方案能够在不提升整体容量的前提下显著提升系统的吞吐量。这使得实现快速部署变得更为便捷。
基于每个索引的副本数量按线性比率计算的吞吐量,在每秒查询数(QPS)的基础上实现了扩展。
要添加副本,请使用configure_index操作增加索引的副本数量.
