MENU
Dr.Sum ConnectからDr.Sumへデータを書き込む方法として、全部で4つのコンポーネントが用意されています。
実際に使う際はどれを使えばよいのか?と迷ってしまうこともあります。これら各コンポーネントについて裏側の動きを踏まえたパフォーマンス面から利用シーンまでわかるとよいですね。
本記事では、4つ目<書き込み(VTB)>についてがっつりログを追いかけて徹底解剖していきます!
名前の通り、仮想テーブルを使用した取り込みを行う場合に利用しましょう。
Enterprise Manager上で、仮想テーブルを使ったインポートとほぼ* 同等の処理が可能です。
* 「テーブルを新規に作成してインポート」は除く。
仮想テーブルが参照するCSVファイルは下記のように3行のみとしています。
pkcol,c1,c2
1,"v11","v12"
2,"v21","v22"
3,"v31","v32"
仮想テーブルもCSVファイルの項目をすべて格納するようシンプルにマッピングしています。
「vtb_import」という名前がデフォルトで配置されます。
設定画面はEnterprise Managerの設定画面と概ね同じです。
そのため、行追加だけでなく削除インポートや、DataLoaderがあればUPSERT機能も利用できます。
「書き込み設定」のタブからは、サーバー上のCSVファイルをインポートしたり、データベースの場合は抽出条件が設定できます。
この部分もEnterprise Managerと同じですね。
[Dr.Sum]書き込み(VTB) |
VTBでは基本的にBulkInsertと同様インポート処理になります。そのため、IMPORTログとより詳細に処理が分かるCOMMITログを見てみます。
今回は代表して、「テーブル内の行を削除してインポート」した場合のログを紹介します。
ここでは、どのCSVをどの仮想テーブルでインポートするかが記載されています。
下から2行目のログの通り、削除インポートなので3件挿入するとテーブル全体の件数も3件になります。
興味深いことに、内部的な処理は基本的にBulkInsertと同等です。
削除インポートの場合は「DBM_TRUNCATE_TABLE_FOR_IMPORT」とある通り、テーブルの持つデータを消し、CRS(=DAT)およびCRSファイルの作り直しをしていますね。
また、「テーブルに行を追加」でインポートするとCOMMITログはBulkInsertとまったく等価になります。
パフォーマンス面ではBulkInsertと同等なので、特に気にせずシンプルに「仮想テーブルの有無」だけで使い分けてOKです。
本記事では、Connectのデータ挿入コンポーネントのうち仮想テーブルを使ったコンポーネントについて紹介しました。
仮想テーブルを利用する場合は基本的にこちらを利用しましょう。パフォーマンスはBulk Insertと等価なので特に気にせず使っていただけます。
他のコンポーネントについても紹介しているので是非ご覧ください。
Related article
Pick up
Ranking
Info