MENU
Dr.Sum ConnectからDr.Sumへデータを書き込む方法として、全部で4つのコンポーネントが用意されています。
実際に使う際はどれを使えばよいのか?と迷ってしまうこともあります。これら各コンポーネントについて裏側の動きを踏まえたパフォーマンス面から利用シーンまでわかるとよいですね。
本記事では、4つ目<書き込み(更新/挿入)>についてがっつりログを追いかけて徹底解剖していきます!
書き込み(BulkInsert)はインポートの機能として一定のまとまった単位でデータ追加がされるためSQLによる挿入より高速です。通常の追加処理はこちらを使いましょう!
ただし、追加インポートのみなので全件洗い替えで挿入したい場合は、事前にTRUNCATEすることを忘れないようにしましょう。
CSVファイルは下記のように3行のみとしています。
pkcol,c1,c2
1,"v11","v12"
2,"v21","v22"
3,"v31","v32"
「bulk_insert_table_data」という名前がデフォルトで配置されます。
設定画面はシンプルで、どのテーブルへ挿入するか決めるのみです。
BulkInsertの動作はシンプルで、与えられた入力データをそのままテーブルへ追加インポートします。実行するたびに件数は増えていきます。
冒頭に少し紹介しましたが、BulkInsertはSQLによる挿入ではなくインポート処理です。その観点で、Dr.Sumが出力するログのうち、IMPORTログ、COMMITログを見てみましょう。
シンプルですね。データを3件挿入して、テーブルの件数全体として9件になっていることが分かります。
こちらはいくつかの内部的な処理が詳細に出力されていますね。速さに起因する大きなポイントは以下の2つといえるでしょう。
特に1点目については、カラム指向データベースであるDr.Sumの仕組みをうまく使えている(というより、逆に行単位の処理が苦手)といえます。
Dr.Sumのデータの持ち方の基本についてはマニュアルにも記載があるので興味があればぜひご覧ください。
1.2.2. テーブルの物理構造 |
本記事では、Connectのデータ挿入コンポーネントのうちBulk Insertについて紹介しました。
インポートでの処理のため、普段はこちらのコンポーネントで挿入処理を実装するとよいです。
Related article
Pick up
Ranking
Info