# Autoscaling shards

**URL:** <https://forum.weaviate.io/t/autoscaling-shards/2347>\
**Category:** Support\
**Tags:** python\
**Created:** [May 15, 2024, 2:49pm UTC](https://forum.weaviate.io/t/autoscaling-shards/2347 "2024-05-15T14:49:14Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![mmoya](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/mmoya/32/164_2.png) [@mmoya](https://forum.weaviate.io/u/mmoya)\
**Post date:** [May 15, 2024, 2:49pm UTC](https://forum.weaviate.io/t/autoscaling-shards/2347/1 "2024-05-15T14:49:14Z")

</div>

hello, I was wondering if weaviate supports autoscaling queries (i.e automatically adding replicas on shards that endure high utilization)? Moreover, does weaviate support sharding on a specific key? I noticed that weaviate automatically assigns an object’s uuid as the shard key but what if we wanted to optimize query time by sharding on a key we actually query on (i.e a user id) instead? Does weaviate have something similar to a [routing value](https://www.elastic.co/guide/en/elasticsearch/guide/current/routing-value.html#routing-value)

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [May 15, 2024, 9:33pm UTC](https://forum.weaviate.io/t/autoscaling-shards/2347/2 "2024-05-15T21:33:28Z")

</div>

Hi!

You can accomplish this, at some extent, using Multi tenancy… maybe?

> **[Multi-tenancy operations | Weaviate - Vector Database](https://weaviate.io/developers/weaviate/manage-data/multi-tenancy)**
>
> Multi-tenancy provides data isolation. Each tenant is stored on a separate shard. Data stored in one tenant is not visible to another tenant. If your application serves many different users, multi-tenancy keeps their data private and makes database...

With that your tenant data will be stored on a specific sharding context. Of course there is more to it like that routing feature, but that is the closest I see on sharding on a specific key.

AFAIK, you cannot change the name of the shards. ☹

We have this popular GH Issue [Dynamic Scaling: Move shards around nodes, drain node, etc. · Issue #2228 · weaviate/weaviate · GitHub](https://github.com/weaviate/weaviate/issues/2228)  
that we are working towards that will help on this kind of features.

Let me know if this helps 🙂
