Maintaining Data Integrity in an Eon Mode Database

Your Eon Mode database must meet two conditions in order to continue running:

  • More than half of its primary nodes must be up. This is referred to as having a quorum of primary nodes.
  • All of the shards in the database must have at least one primary node as a subscriber.

If either of these conditions is not met, the database shuts down to prevent potential data corruption. These requirements are similar to the K-Safety requirements of an Enterprise Mode database.

Critical Nodes and Subclusters

Any node or subcluster in the database whose loss would cause a shutdown is considered critical. Vertica maintains a list of critical nodes and subclusters in two system tables: CRITICAL_NODES and CRITICAL_SUBCLUSTERS. Before stopping nodes or subclusters, check these tables to ensure the node or subcluster you intend to stop is not critical.

Difference Between Enterprise Mode and Eon Mode K-Safe Designs

In an Enterprise Mode database, you use the MARK_DESIGN_KSAFE function to enable high-availablity in your database. You call this function after you have designed your database's physical schema to meet all the requirements for K-safe design (often, by running the database designer). If you attempt to mark your database as K-safe when the physical schema does not support the level K-safety you pass to MARK_DESIGN_KSAFE, it returns an error. See Designing Segmented Projections for K-Safety for more information.

In Eon Mode, this function changes how Vertica configures shard subscriptions. You can call MARK_DESIGN_KSAFE with any level of K-safety you want. It only has an effect when you call REBALANCE_SHARDS to update the shard subscriptions for the nodes in your database.

Usually, you do not use a K-safety value of higher than 1 in Eon Mode, as adding replacement nodes to a cluster is usually easy in a cloud environment. By default, Vertica marks Eon Mode databases that have at least three nodes in them as K-Safe.