# How do virtual shards work when upscaling?

**URL:** <https://forum.weaviate.io/t/how-do-virtual-shards-work-when-upscaling/643>\
**Category:** Support\
**Created:** [September 9, 2023, 3:52pm UTC](https://forum.weaviate.io/t/how-do-virtual-shards-work-when-upscaling/643 "2023-09-09T15:52:28Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![andersfylling](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/andersfylling/32/185_2.png) [@andersfylling](https://forum.weaviate.io/u/andersfylling)\
**Post date:** [September 9, 2023, 3:52pm UTC](https://forum.weaviate.io/t/how-do-virtual-shards-work-when-upscaling/643/1 "2023-09-09T15:52:28Z")

</div>

Say I have 1 weaviate instance and I configure my class to have 10 shards. What happens when I start adding more weaviate instances to my cluster? Are they moved around automatically? Are there API methods I can use to move around shards manually?

Also; are there recommendations for maximum number of vector objects per shard? I’m noticing my query time is reducing as I add more data, but I’m not sure how value-able it is to create a new class with a higher shard count.

---

<div class="post-metadata">

**Author:** ![etiennedi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/etiennedi/32/44_2.png) [@etiennedi](https://forum.weaviate.io/u/etiennedi)\
**Post date:** [September 9, 2023, 4:55pm UTC](https://forum.weaviate.io/t/how-do-virtual-shards-work-when-upscaling/643/2 "2023-09-09T16:55:19Z")

</div>

Hi @andersfylling, great questions!

> What happens when I start adding more weaviate instances to my cluster? Are they moved around automatically? Are there API methods I can use to move around shards manually?

The answer to both is not yet, but it’s on the roadmap. Please leave an upvote [here](https://github.com/weaviate/weaviate/issues/2228), it’ll help us with prioritization. At the moment, shards are “stuck” on one node once they are assigned to it. Both manual and automatic shard-movement is planned though.

> Also; are there recommendations for maximum number of vector objects per shard?

Typically, you should never need more shards than you have nodes (you called them “instances”, we typically call them “nodes” in our comms). There are a few exceptions, though. If you have a multi-tenancy case, for example, Weaviate will create one shard per tenant in the background. The reasons why are [outlined in this blog post](https://weaviate.io/blog/multi-tenancy-vector-search).

---

<div class="post-metadata">

**Author:** ![Dharanish](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dharanish/32/659_2.png) [@Dharanish](https://forum.weaviate.io/u/Dharanish)\
**Post date:** [November 28, 2023, 6:50am UTC](https://forum.weaviate.io/t/how-do-virtual-shards-work-when-upscaling/643/3 "2023-11-28T06:50:54Z")

</div>

Hi @etiennedi , as you mentioned that currently shards can’t be move across nodes. Then what to do if my nodes get full and i try to add new node.  
As of now , the exiting class with more shards cannot be moved to new shards then how to achieve Horizontal scaling for existing classes ?
