Shards and Subscriptions

In Eon Mode, the primary data storage is shared with Vertica database nodes. Vertica segments (partitions) the data into shards. Each node in your database subscribes to a subset of the shards in the communal storage location. This ensures that if a node goes down or a node is being used in another query, all the data is available on the remaining nodes. When K-Safety is 1 or higher (high availability), each shard has more than one node subscriber.

The shards in your communal storage location are similar to a collection of segmented projections in an Enterprise Mode database. You define the number of shards at the time you create your database.

For optimal performance, the number of shards should be no greater than 2x the number of nodes. When the number of nodes is greater than the number of shards (with ETS), the throughput of dashboard queries improves. When the number of shards exceeds the number of nodes, you can expand your cluster in the future to improve the performance of long analytic queries.

For efficiency, Vertica transfers metadata about shards directly between database nodes. This peer-to-peer transfer applies only to metadata; the actual data that is stored on each node gets copied from communal storage to the node's depot as needed.

Expanding Your Cluster

This diagram shows the process of expanding a 3-node 3-shard database to 6 nodes. The number of shards stays the same, and the additional nodes gain subscriptions to the shards. After adding nodes to your cluster with admintools, you must rebalance the shards.

If you scale down your cluster, Vertica rebalances the data automatically. However, when you scale up your cluster, you must start the rebalance operation manually.