OpenText Analytics Database 旧Vertica

技術情報サイト

Analytics Database

テーブルにデフォルトのロード方式を設定する方法(8.0新機能)

公開日:
更新日:
データロード
新バージョン/機能
#テーブル

はじめに

Vertica7.2.3までは、データをバルクロードでロードしたい場合等、
COPY文やINSERT文に、ロード方式のオプションを指定する必要がありました。
Vertica8.0.0より、CREATE TABLE/ALTER TABLE文で、テーブルごとにデフォルトの
ロード方式を設定することができるようになりました。

デフォルトのロード方式が選択できるようになったことで、SQLをわざわざ改修することなく、
期待した方式でデータをロードすることができます。

デフォルトのロード方式を指定する方法

以下にデフォルトのロード方式を指定する方法を記載します。

新規で作成するテーブルにデフォルトのロード方式を指定する

テーブルを作成する際に、デフォルトのロード方式を指定したい場合は、
CREATE TABLE文で指定します。

従来のCREATE TABLE文

dbadmin=> CREATE TABLE t1(col1 int,col2 varchar);
CREATE TABLE

デフォルトのロード方式を指定したCREATE TABLE文

dbadmin=> CREATE TABLE t2(col1 int,col2 varchar) DIRECT;
CREATE TABLE

またテーブルのデフォルトのロード方式がどのようになっているかは、
システムテーブル「TABLES」の「STORAGE_MODE」列で確認することができます。

dbadmin=> SELECT table_schema,table_name,owner_name,storage_mode FROM tables ;
 table_schema | table_name | owner_name | storage_mode
--------------+------------+------------+--------------
 public       | t1         | dbadmin    | AUTO
 public       | t2         | dbadmin    | DIRECT
(2 rows)

STORAGE_MODE列の値については以下の表をご参照ください。

※なお、Vertica 9.2までデフォルトで利用可能だったWOSですが、Vertica 9.3からはデフォルトで無効化されています。また、10.0では完全に使用されなくなりました。そのため、9.3以降はWOSを経由せず、ROSに直接データがロードされます。

説明

0

9.1以前よりアップグレードしたテーブルのデフォルト値

1(DIRECT)

バルクロード

5(TRICKLE)

トリクルロード
※WOSに所定の値以上のデータ量がロードされたら、エラーとなりロールバックされる

6(AUTO)

オート(デフォルト値)
※WOSに所定の値以上のデータ量がロードされたら、ROSに直接データを書き込む

既存テーブルのデフォルトのロード方式を変更する

テーブル作成後はALTER TABLE文のオプションにて、デフォルトのロード形式を
変更することができます。

dbadmin=> CREATE TABLE t3(col1 int,col2 varchar);
CREATE TABLE
dbadmin=>
dbadmin=> ALTER TABLE t3 SET STORAGE DIRECT;
ALTER TABLE
dbadmin=> SELECT table_schema,table_name,owner_name,storage_mode FROM tables WHERE table_name='t3';
 table_schema | table_name | owner_name | storage_mode
--------------+------------+------------+--------------
 public       | t3         | dbadmin    | DIRECT
(1 row)

参考情報

データロードの基本
https://www.ashisuto.co.jp/cm/analytics-database/dataload_overview.html
WOSの使用について(Vertia 9.3以降)
https://www.ashisuto.co.jp/cm/analytics-database/wos-93-later.html

検証バージョンについて

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

更新履歴

2019/04/15 検証バージョンを9.2に変更
2016/10/07 本記事を公開