はじめに
Verticaでは、データベースの可用性をK-Safety によって設定することができます。
Verticaの可用性やK-Safetyにつきましては、以下の記事をご確認ください。
Verticaの可用性機能
https://www.ashisuto.co.jp/cm/analytics-database/data_fault_tolerant.html
本記事では、現在のVerticaの可用性設定を確認する方法をご紹介します。
Verticaの可用性設定を確認する方法
Verticaの可用性設定は、systemシステムテーブルのcurrent_fault_tolerance列で確認することができます。
current_fault_tolerance列に返される結果は、現在設定されているK-Safetyの値です。
以下の例ではcurrent_fault_toleranceが「1」であることを確認できますので、可用性の設定が有効であることを確認することができます。
dbadmin=> SELECT current_fault_tolerance FROM system;
current_fault_tolerance
-------------------------
1
(1 row)Verticaの可用性設定が無効な場合
3ノード以上の構成において、current_fault_toleranceの値が「0」であったり、データベースへのログイン時に以下のようなが発生する場合、可用性設定が無効な状態を示しています。
$ vsql
Password:
WARNING 6046: The database is currently 0-safe, which could result in catastrophic data loss in the event of a failure. Do not use k=0 in a production environment. For test, dev or other non-production environments, K=0 may be acceptable however Vertica still recommends a minimum value of K=1
Welcome to vsql, the Vertica Analytic Database interactive terminal.
Type: \h or \? for help with vsql commands
\g or terminate with semicolon to execute query
\q to quit例えば、Database Designerによるプロジェクションの最適化やプロジェクションチューニング時に誤ってK-Safetyを「0」に設定し処理を実行してまった時等に、上記のような状態に陥る可能性があります。
検証バージョン
この記事の内容はVertica 9.1で確認しています。