目次
Write Once アーキテクチャ
Verticaは一度書き込みを行った領域に対しては更新を行わないWrite Onceと呼ばれるアーキテクチャを採用しています。これによりシンプルなトランザクション管理を実現しています。DML処理を行った場合は、それぞれ以下のような処理が内部的に実行されます。
INSERTの場合
処理イメージ
![insert](http://vertica-tech.ashisuto.co.jp/wp-content/uploads/2015/07/insert-200x200.png)
処理内容
1) 対象テーブルに対してINSERT文を発行すると最下部に行が追記されます。DELETEの場合
処理イメージ
![delete](http://vertica-tech.ashisuto.co.jp/wp-content/uploads/2015/07/delete-350x149.png)
処理内容
1) 対象テーブルに対してDELETE文を発行すると該当行は論理削除されます。2) 論理削除されたデータは定期的に物理削除されます。
※論理削除とは、データを残したまま該当行を「Deleted」としてマークする動作です。
UPDATEの場合
処理イメージ
![update](http://vertica-tech.ashisuto.co.jp/wp-content/uploads/2015/07/update-1024x197.png)
処理内容
1) 対象テーブルに対してUPDATE文を発行します。2) 更新対象の行を直接更新せず、更新後のデータを新しい行として追記(INSERT)します。
3) 更新対象の行については論理削除(DELETE)を行います。
4) 論理削除されたデータは定期的に物理削除されます。
※論理削除とは、データを残したまま該当行を「Deleted」としてマークする動作です。