Alteryxの処理をデータベースで行う!In-DBを活用しよう

『今日からはじめるAlteryx再入門』アドベントカレンダー11日目
2020.12.11

こんにちは、スズです。

本エントリは2020年アドベントカレンダー『今日からはじめるAlteryx再入門』の11日目のエントリです。

本日11日目は、『Alteryxの処理をデータベースで行う!In-DBを活用しよう』をお届けします。

執筆環境

本エントリの執筆環境は以下の通りです。

  • Alteryx Designer 2020.4.5.12471 Non-Admin
  • Windows 10 Pro

In-DBって何だろう?

データ入力ツールやセレクトツールなどの「通常の」ツールでは、実行したワークフローの処理はAlteryx Designerが搭載されているPCのリソースを使用します。処理速度はPCのスペックに依存し、処理可能なデータ量はPCのメモリに依存します。ワークフローに使っているデータは実行時にメモリに読み込まれ、メモリの中で順次処理を行います。

Alteryx Designerを動かすWindowsクライアントPCは、一般的には、ServerOSのようなメモリは搭載していないため、データベース上にある大規模なデータをローカルにもってきて通常のツールで処理を行うとメモリ不足になってしまうことがあります。メモリ不足を回避するためにデータのフィルターや集約など行ってからAlteryx Designerで利用するということもできますが、それではAlteryx Designerを利用する利点が薄くなってしまいます。

そこで利用できるのが、In-DB(In-Database/インデータベース)となります。In-DBではデータベース上で処理を行いますので、データベースのリソースを使用して処理を行うことができます。

In-DBを利用することで、例えば、データベース上にあるデータの準備をデータベース上で行い、準備ができたものをローカルに移動し、続けて分析を行う、といったことがAlteryx Designerから行えます。

In-DBってどうやって使うの?

ここからはIn-DBのツールについて、簡単にご紹介いたします。

なお、In-DBでの利用に対応しているデータベースは、Alteryxのヘルプに記載されています。In-DBの利用したい場合には、事前にデータベースが対応しているかご確認ください。また、各ツールの詳細についてもヘルプをご確認いただきますと幸いです。

データベースに接続する、接続In-DBツール

データベースに接続するには接続In-DBツールを使用します。

接続名の右端にある▼ボタンをクリックすると、接続先の設定画面が表示されますので、設定してデータベースに接続します。

データを確認できる、閲覧In-DBツール

通常のツールでも閲覧ツールがありますが、通常のツールの場合は閲覧ツールを接続しなくても各ツールの結果ウィンドウでデータの状態を参照することができます。しかしIn-DBの場合、データの状態を確認するためには閲覧In-DBツールを使用する必要があります。

通常の閲覧ツールには設定はありませんが、閲覧In-DBツールには閲覧するレコード数とキャッシュの設定が用意されています。

データをローカルからIn-DBへ、データストリーム入力ツール

ローカルにあるデータをIn-DBで利用したい場合に使用できるのが、データストリーム入力ツールです。接続先の情報のほか、テーブルの作成モードを選択します。

作成モードには、以下の3種類が用意されています。一時テーブルの場合はテーブル名の指定は不要ですが、それ以外の場合はテーブル名の指定が必要です。

  • 一時テーブルを作成する
  • 新しいテーブルを作成する
  • テーブルを上書きする(ドロップ)

データをIn-DBからローカルへ、データストリーム出力ツール

先ほどのデータストリーム入力ツールとは逆に、In-DBのデータをローカルで利用したい場合に使用するのがデータストリーム出力ツールです。データストリーム出力ツールは設定なしでそのまま利用できますが、出力するデータをソートするオプションが用意されています。

その他のIn-DBのツール

ここでは一部のツールのまとめて紹介します。ここで紹介するツールは、In-DBではない通常のツールを思い出していただければ用途のイメージがつかみやすいかと思います。ただし、データベースのネイティブ言語(SQLなど)を使用することになりますので、通常のツールとは使い勝手が異なる点にご注意ください。

ツール 説明
サンプリングIn-DB 数または百分率(%)で指定したレコードを抽出します。
セレクトIn-DB 列の削除や並べ替え、列名の変更を行います。
データ書込In-DB In-DBのデータをデータベースに書き込みます。
フィルターIn-DB データベースのネイティブ言語を使用してレコードをフィルタリングします。
フォーミュラIn-DB データベースのネイティブ言語を使用して式を設定し、列を新規作成または更新します。
ユニオンIn-DB 列名や列の位置に基づいて、2つ以上のデータを結合します。
結合In-DB 2つのデータを内部結合や外部結合します。
集計In-DB データのグループ化や集計などを行います。

さいごに

『今日からはじめるAlteryx再入門』アドベントカレンダー、11日目In-DBについてご紹介しました。明日12日目はラフルによる『レポートを作成しよう(仮)』を予定しています。明日もお楽しみに!

参考サイト