見出し画像

Domoのデータ変換ツール:Adrenaline のTIPS 3選【Domo buddies勉強会】

Domoのデータ変換ツール"Adrenaline(アドレナリン)"に関して、先日のコミュニティの勉強会にて大変盛り上がったため、ドーモのコミュニティマネージャ西尾が当時の勉強会の様子をメインにお届けします。

1.はじめに

本ブログでは、先日開催したDomo buddies勉強会(コミュニティ主催による月次イベント)で「データフローの使い分け(Adrenaline推し)」と題したプレゼン内で本田さんがご紹介された、Adorenaline TIPSの部分をお届けしていきます。なお、当日のプレゼンの全貌はこちらのブログをお読みください。

2.Adrenalineとは?

TIPSの前に、そもそものAdrenalineについてご紹介します。

変換タブから選択可能

Adrenalineとは、"Adrenaline DataFlow"の通称で、サイズの大きなDataSetをDomoで処理するための大規模で高性能なデータ変換ツール(Adrenalineエンジンをベースとした、ドーモの自社開発ツール)です。

Adrenaline はMySQL DataFlowに似たSQLベースのインターフェースを使用しており、SQLユーザーにとっての見慣れた画面で操作が行えます。数億行に渡る大規模なDataSetの値の集計なども、Adrenalineを使うことでデータ変換を素早く行えるようになります。

これまでDomoのAdrenalineエンジンは構造的な改良や性能面での改善を重ねることで、今日の高性能なAdrenaline DataFlowに進化してきました。

(参考)ドーモ公式Knowledge Base「Adrenaline DataFlowを作成する」
https://domo-support.domo.com/s/article/360063698733?language=ja

具体的なAdrenalineの良さは、こちらのブログをお読みいただけるとより深くご理解いただけるのではないかと思います。

3.Adrenalineお役立ちTIPS

さてここからは、勉強会当日の本田さんによるプレゼンの一部を、限りなくその場のニュアンスを伝えられるようにそのままお届けします。

エイベックス・デジタル 本田 由佳さんによるプレゼン

3.1.デフォルトは無効になっている

Adrenalineは有料機能なので、最初は無効状態です。金額がいくらなのかというのは、利用する際にアウトプットの行数により価格帯が決められているため、一律いくらとはいえません。

料金プランや一度使ってみたいなどのトライアルを希望する場合は、各社のドーモ営業チームにご相談いただければよいかと思います。

デフォルトは無効になっている

3.2.最大実行時間はデフォルト30分に設定されている

実際に利用した際に躓くことが予想されるのは、最大の実行時間がデフォルト30分間に設定されているという点です。実行に30分以上かかると自動的にタイムアウトエラーになり、30分間が無駄になってしまいます。
しかしこの点はドーモの営業チームに相談することでデータフローの実行時間を伸ばしてもらうことも可能なので、適宜ご相談ください。実行時間を延ばす際の注意点としては、Adrenalineの機能全体に対しての延長はできず、具体的にこのAdrenalineのDataFlowのURLに対して延長してほしいという旨を伝える必要があります。複数のDataFlowの延長を希望する場合は、その分の申請が必要です。しかし申請自体はメールでできるため、大きな負担はないかと思います。

最大実行時間はデフォルト30分

3.3.変換処理によりスピードが出なくなる

変換処理によってはスピードが出なくなるということに関して、今回はAdrenalineのTIPSとしてご紹介していますが、Redshiftでも当てはまります。

(前提)ここでご紹介している内容は、あくまでドーモが提供するDomoインスタンス内における、Redshift・Adrenalineデータ変換が対象です。前処理を他プラットフォーム(BigQueryやRedshiftなど)で実施する場合は対象外です。

◆ 検証内容
まず、①ローデータの10億行のダミーデータを作りました。「アドレス」や「都道府県コード」を持つデータが10億行入っています。また「都道府県コード」を持つ、②都道府県マスタ(47行)も用意。
この2つを「都道府県コード」をキーに結合させて、サマる、というデモのDataFlowを作ってきました。①ローデータ(10億行)と②都道府県マスタ(47行)を結合させると、全部で551行になりました。
これを様々なデータ変換で実行してみると、どれくらいの速度になったかを検証。

検証データ

下記スライドはAdrenalineの場合のDataFlowです。左側の【分割変換】では、加工部分と出力DataSetそれぞれで入れ子にして変換処理をかけました。一方、右側の【一括変換】では、出力DataSetにおける変換処理の中で一括で変換させています。この二つの処理の違いで、スピードが結構変わりました。

全く同じタイミングでこの二つの処理を同時実行させましたが、分割変換よりも一括変換の方が圧倒的に実行時間が短かったです。コードに関しては人によっては一括変換にまとめてしまうと、見にくいと感じてしまう方もいるかもしれません。ただやはり処理時間が爆速になるので、ご自身のインスタンスのDataFlowを一度ご確認いただくとよいと思います。

なお、この話はAdrenalineだけでなくRedshiftも同様で、Redshiftだと数時間単位で変わりました。

変換処理によってはスピードが出なくなる

4.まとめ

もし今データ変換の処理時間にお悩みの場合は、第三の選択肢としてAdrenalineを視野に入れてみてもよいかもしれません。デフォルトでは有効になっていないため、ご興味のある方はドーモの営業チームに相談してみるのもよいかと思います。新たな選択肢として受け入れ、明日からの皆さんの業務が少しでも楽になってもらえたら幸いです。

※最後に

さて、月次で開催されているDomo buddies勉強会では、ここには書ききれない充実したセッションが沢山発表されています。是非、皆さんも参加してbuddiesの登壇をリアルタイムできいてみてください。新たな発見や刺激をもらえると思います。

Domoのユーザーコミュニティ”Domo buddies”では、毎月Domoユーザーによる勉強会を開催しています。今後のDomo buddies勉強会の開催予定一覧はこちらをご覧ください