Vertica Analytics Platform Version 9.2.x Documentation

Elasticity

Elasticity, or Elastic Throughput Scaling (ETS), allows Vertica to increase query concurrency and thus throughput.  ETS takes advantage of redundant shard subscriptions to automatically identify subclusters that can execute a query. For example, if you have three shards and six nodes, two nodes are automatically subscribed to each shard. Vertica can distribute a query on three of the six nodes, allowing two queries to be run concurrently. If you add three more nodes, Vertica can execute three queries concurrently.

You can add nodes temporarily at peak demand times to process more concurrent queries. When demand drops, you can remove nodes. You do not need to move data among nodes as you do when rebalancing an Enterprise Mode cluster. Nor is there any need for recovery, because the data is persisted in communal storage, not on the compute nodes. The cache (depot) on new nodes is initially empty and fills as the node participates in queries. When a compute node is no longer needed, it can simply be dropped.

Elastic Throughput Scaling in Eon Mode is automatic, with two preconditions:

  • Client connections must be balanced across the cluster. If all of your clients connect to the same node, then that node participates in all queries, limiting the ability of Vertica to support concurrent queries. Try to make your connections in a round-robin manner.
  • Shards must be balanced. Run REBALANCE_SHARDS after you add or remove nodes. When Vertica rebalances shards, it automatically takes into account K-Safety and fault groups.