Business Intelligence Software - OSS の BIツール を比較してみる


OSSのBIツールについてまとめてみました。

はじめに

2019年2月現在、「データサイエンティスト」や「データアナリスト」という言葉が聞かれるようになってからしばらく経ちます。また、BIツールと呼ばれるデータ解析・データ分析を手助けするツールが、パッケージ製品やSaaS型の製品として数多く提供されるようになりました。

今回、多量データを解析するにあたって、OSS利用が可能なツールを調べてみました。

BIツール とは?

BIツールは、乱暴にまとめてしまうと、様々なデータを分析する手助けをしてくれます。
ツールは、様々な企業がパッケージ型やSaaS型で提供しており、OSSでも主要な機能を含めた形で提供したものもあります。

今回は、種々のデータを効率的に分析したい要求と、OSSでも調査をしながら実行環境を構築出来るだろうという背景から、有効なOSSの選択をしたいと考えて情報をまとめてみました。

比較

OSSツール4種について比較を行いました。

Metabase Re:dash Superset Kibana
公式サイト コチラ コチラ コチラ コチラ
Lisence AGPL BSD-2-Clause Apache 2.0 1 Apache 2.0
ELASTIC LICENSE
GitHub metabase/metabase getredash/redash apache/incubator-superset elastic/kibana

環境

次章以降で Docker コンテナを構築する際は、以下のスクリプトを使用して Vagrntで仮想環境を構築し、その中で Dockerコンテナ を起動しています。

git clone https://github.com/anfangd/docker-on-vagrant-script.git
cd docker-on-vagrant-script

vagrant up
vagrant ssh

Metabase

Metabase は、今回調べた中では一番使いやすい印象を受けました。

// このコマンドだけで環境構築できます
docker run -d -p 3000:3000 --name metabase metabase/metabase

構築が完了したら、以下の URL にアクセスすることで初期ページにアクセス出来ます。

初期ページはこんな感じ。

管理者情報を入力します。

データベースを選択します。ここでは「あとでデータを追加する」を選択します。

ホーム画面はこんな感じ。

「People」テーブルのサマリ情報はこんな感じ。

管理画面はこんな感じ。

感想

起動が簡単で使いやすさも非常に良さそうでした。

参考

Re:dash

Re:dash は使いこなすことが出来れば使いやすそうですが、簡単に試すという目的だと少し時間がかかりそうです。

// このコマンドだけで環境構築できます
docker run -d -p 8125:80 maedamikio/redash

構築が完了したら、以下の URL にアクセスすることで初期ページにアクセス出来ます。

初期ページはこんな感じ。

ホーム画面はこんな感じ。ダミーデータがないので、 Metabase のように初期構築段階でサンプルのグラフを確認することは出来ないようです。

管理画面はこんな感じ。

感想

起動は簡単でしたが、データの確認にはひと手間ありそうなでした。
良さを知るにはもう少し時間をかける必要がありそうです。

参考

Superset

Superset は、 Metabase と同様に使いやすい印象を受けました。

docker run -d -p 8088:8088 maedamikio/superset

構築が完了したら、以下の URL にアクセスすることで初期ページにアクセス出来ます。

初期ページはこんな感じ。

  • Username : admin
  • Password : admin

ログイン後の画面はこんな感じ。

ユーザホーム?はこんな感じ。

サンプルグラフ(1)

サンプルグラフ(2)

サンプルグラフ(3)

サンプルグラフ(4)

感想

簡単な動作確認のレベルでは、 Metabase と同じくらいの使い心地でした。

参考

Kibana

Kibana は、 Elasticsearch とセットで構築する必要があり、今回の調査作業の中では一番時間がかかりました。

$ git clone https://github.com/d0d0npa/docker-compose-EEK.git
$ cd docker-compose-EEK

$ docker-compose build

$ docker-compose up

初期ページはこんな感じ。

PUT nikkei225
{
  "template": "nikkei225*",
  "mappings": {
    "nikkei_schema":{
      "properties": {
          "NIKKEI225": { "type": "double" },
          "DATE": {"format" : "YYYY-MM-dd", "type": "date" },
          "DJIA": { "type": "double" },
          "DEXJPUS": { "type": "double" }
      }
    }
  }
}

// データを流し込む
docker-compose exec embulk bash -c "cd logs && embulk run config.yml"

※データを入れたは良いが、グラフの表示まで至りませんでした。。

感想

構築時間は一番時間がかかりました。サンプルデータの投入後、グラフ表示を確認出来ていない点も課題です。

参考

まとめ

どのツールも使いこなすことが出来れば非常に使いやすそうです。
ただ、今回の自分の状況を考えると、まずはお手軽に構築して動作の確認ができそうな MetabaseSuperset を選択することになりそうです。

参考


  1. Apache Superset に含まれるコンポーネントには、複数のライセンスが含まれるため注意が必要