Verticaの特徴

DML、DDL、データロード実行時は、テーブル単位でロックされます。

(※)INSERTやCOPYは同一テーブルに対して、同時にデータの追加処理をおこなうことができます。ただし、対象のテーブルに「主キー」または「一意キー」が設定されている場合は、データの追加後に重複チェックをおこなうので、その間はシングルで処理が実行されます。

WebFOCUSへの影響

ロック競合が発生する処理が同時に実行された場合、後続のトランザクションは最初のトランザクションが終了するまで待機します。待機時間が300秒を超えた場合、後続のトランザクションの処理はタイムアウトエラーになります。

対応方法

複数名での開発作業、データメンテナンス作業、バッチ処理を並列して実行する場合は、獲得するロックの相関関係に注意してください。待機時間は、VerticaのLockTimeoutパラメータによって変更可能です。

参考情報

Lock Modes
https://www.vertica.com/docs/9.3.x/HTML/Content/Authoring/ConceptsGuide/Components/Locks/LockModes.htm

検証バージョンについて

この記事の内容はVertica 9.3で確認しています。

更新履歴

2020/05/07 本記事を公開