K-safety 设计

Vertica 建议所有生产数据库都应至少将 K-safety 设置为 1 (K=1)。生产数据库的有效 K-safety 值为 1 和 2。非生产数据库不必为 K-safe,可将该值设置为 0。

K-safe 数据库必须至少包含三个节点,如下表所示:

1
3+
2
5+

仅当物理架构设计满足某些冗余要求时,才能将 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_TOLERANCECURRENT_FAULT_TOLERANCE 列中的设置,可以监控 K-safety 级别。

K-safety 丢失

当群集中的 K 个节点出现故障时,数据库将继续运行,但性能会受到影响。如果故障节点的数据无法从群集中另一个正常工作的节点中获取,那么后续节点故障可能会导致数据库关闭。

另请参阅

企业模式数据库中的 K-safety