Add Pods on the Fly

Apologies if already asked/addressed elsewhere, but word around the campfire is that there is a version of Pinecone with the ability to add pods dynamically/on the fly to a live index.

Is this something that’s come out already or are there plans to in the near future?

Thanks!

1 Like

Hey @gareth this is on the near-term roadmap. We definitely see the need for this since it’s inconvenient and time-consuming to recreate indexes every time you need more capacity or speed, or if you under-provisioned in the first place.

If you’re interested in getting early access, you should join our Pinecone Pioneers program. We’d love to have you. :slight_smile:

What is available today is adding replicas on-the-fly with scale_index(). This will increase your throughput capacity (queries per second) but will not affect latency or storage capacity.

Hey Greg, Pioneers program sounds great!

Thanks for the reply.

Just so I’m clear on the scale_index() functionality, the function will add a new pod and create a replica of the original pod on this new one?

Thanks!

Adding a replica will multiply the original number of pods on the index. Those pods will maintain a synced copy of the data from the original pods.

# index-1 has 5 pods and the default 1 replica
# we will add another replica
pinecone.scale_index("index-1", replicas=2)
# now index-1 has 10 pods, but only a storage capacity of 5 pods

We have a scatter-gatherer that distributes queries across replicas, thus allowing a higher query throughput when you add replicas. The query throughput goes up linearly with the number of replicas. So 2x replicas = 2x throughput.