普通のNodeとDBNodeの処理速度を比較するWFを作成したので記事にする
使用Node:多いので割愛
DBNodeとは
データベースを扱うためのNode
普段のNodeより処理が速くなるかとおもって今回比較WFを作成した
※微妙なWFだが参考程度のものなのでご勘弁を…
今回DBの入力にH2 Connectorを使用したが、つかえなければ手っ取り早く空のMSAccessをつないでも良いのかと
▼DBNodeについてよくわかる解説▼
KNIME - データベースノードとは? - 無料ETLツールとしてのKNIME - デジタル推進課
参考WFの例と解説
上のルートで普通のNodeを使用
下のルートでDBNodeを使用
時間計測の開始位置・終了位置は公平に比べるため黄色の枠内の最初と最後にそれぞれ配置した
【結果】処理にかかった時間を比較
試しに郵便局のcsvデータを読み込んで比較してみた
www.post.japanpost.jp
■普通Nodeのルート
結果:10748ミリ秒
▼処理結果▼
■DBNodeのルート
結果:1023ミリ秒
▼処理結果▼
DBのほうが全然はやい...DBとして読み込むのに時間がかかるにしても、ダイナミックな処理は一か所にまとめてDBNodeで行うとよいのやもしれない
【0215追記】
DBNodeでもStringManipulationにあたる処理が、SQLを利用して再現できた
とはいえDBNodeの使用に慣れていない & AccessVBAで使う程度のSQLしか使えない・理解していないのとで、「こうしたらできるのでは...?」という察しすらもあまりつかず
いまのたま氏では、ひとつのカラムに対するひとつの文字列の置き換え処理しか実現できなかった…(._.)
なので、また休みに勉強するなどして、通常Nodeでの処理の再現があれこれできるようになってから、通常Nodeとの設定の比較も併せて記事にできればとおもう
▼KNIME Hub▼
hub.knime.com