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.