K-safety 设计
Vertica 建议所有生产数据库都应至少将 K-safety 设置为 1 (K=1)。生产数据库的有效 K-safety 值为 1 和 2。非生产数据库不必为 K-safe,可将该值设置为 0。
K-safe 数据库必须至少包含三个节点,如下表所示:
- 1
- 3+
- 2
- 5+
注意
Vertica 仅支持 K-safety 级别 1 和 2。仅当物理架构设计满足某些冗余要求时,才能将 K-safety 设置为 1 或 2。请参阅K-safe 物理架构设计的要求。
使用 Database Designer
要创建具有 K-safe 状态的设计,Vertica 建议您使用
Database Designer。使用 Database Designer 创建投影时,建议使用满足 K-safe 设计要求的投影定义并用 K-safety 级别加以标记。Database Designer 会创建一个脚本,该脚本使用
MARK_DESIGN_KSAFE
函数将物理架构的 K-safety 设置为 1。例如:
=> \i VMart_Schema_design_opt_1.sql
CREATE PROJECTION
CREATE PROJECTION
mark_design_ksafe
----------------------
Marked design 1-safe
(1 row)
默认情况下,当数据库的 K-safety 大于 0 时,Vertica 会创建 K-safe 超投影。
监控 K-safety
监控表可以通过编程方式访问,以启用外部操作,例如警报。通过查询
SYSTEM
表内 DESIGNED_FAULT_TOLERANCE
和 CURRENT_FAULT_TOLERANCE
列中的设置,可以监控 K-safety 级别。
K-safety 丢失
当群集中的 K 个节点出现故障时,数据库将继续运行,但性能会受到影响。如果故障节点的数据无法从群集中另一个正常工作的节点中获取,那么后续节点故障可能会导致数据库关闭。