# Vnodes in ElasticSearch

**URL:** <https://discuss.elastic.co/t/vnodes-in-elasticsearch/188115>\
**Category:** Elasticsearch\
**Created:** [June 29, 2019, 12:07am UTC](https://discuss.elastic.co/t/vnodes-in-elasticsearch/188115 "2019-06-29T00:07:39Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![sg.esearch](https://avatars.discourse-cdn.com/v4/letter/s/e8c25b/32.png) [@sg.esearch](https://discuss.elastic.co/u/sg.esearch)\
**Post date:** [June 29, 2019, 12:07am UTC](https://discuss.elastic.co/t/vnodes-in-elasticsearch/188115/1 "2019-06-29T00:07:39Z")

</div>

Has ElasticSearch tried to use vnodes concept like Cassandra:

> **[Virtual nodes in Cassandra 1.2](https://www.datastax.com/dev/blog/virtual-nodes-in-cassandra-1-2)**
>
> One of the new features slated for Cassandra 1.2's release later this year is virtual nodes (vnodes.) What are vnodes? If you recall how token selection works currently, there's one token per node, and thusly a node owns exactly one contiguous range...

With vnodes, shards can be increased or decreased as many as required according to demand/traffic.  
This change-shard-on-demand can help reduce hardware costs by reducing shards during non-holidays or during non-peak months etc. when traffic is low.

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [June 29, 2019, 7:01am UTC](https://discuss.elastic.co/t/vnodes-in-elasticsearch/188115/2 "2019-06-29T07:01:09Z")

</div>

This is effectively how the [split and shrink](https://www.elastic.co/blog/resizing-elasticsearch-shards-for-fun-and-profit) feature works.

There's a variety of features in Elasticsearch that help achieve the same kinds of elasticity goals. For instance, if you add nodes to your cluster then the shards will spread out so that each one has access to more resources (CPU, memory, etc), and you can shrink the cluster back down again when the extra power is no longer needed. You can also dynamically adjust the number of replicas in each index to cope with changing search load. [Rollover](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-rollover-index.html) is a good way to adapt to widely varying indexing load, and [ILM](https://www.elastic.co/guide/en/elasticsearch/reference/current/index-lifecycle-management.html) helps to integrate this with shrinking and force-merging and other good practices. Elasticsearch also supports [heterogeneous clusters](https://www.elastic.co/blog/hot-warm-architecture-in-elasticsearch-5-x) allowing you to choose cheaper hardware for the nodes that don't need as much power.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 27, 2019, 7:01am UTC](https://discuss.elastic.co/t/vnodes-in-elasticsearch/188115/3 "2019-07-27T07:01:12Z")

</div>

Closed on July 27, 2019, 7:01am UTC

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
