オープンソースのWebアプリケーション分析ツール「Cube.js」

「Cube.js」は、npmやyarnでインストールできるオープンソースのWebアプリケーション用分析ツールです。RDBだけでなく、AWS AthenaやGoogle BigQueryなどのサーバーレスクエリエンジンと連携するように設計されています。機能が非常に豊富なので、今回は初期セットアップに的を絞ってご紹介します。

◆ オープンソースのWebアプリケーション分析ツール「Cube.js」
https://cube.dev/

紹介

「Cube.js」は、GUIも完備した高機能なWebアプリケーション分析ツールです。

インストール

$ npm install -g cubejs-cli
# or
$ yarn global add cubejs-cli

npmまたはyarnでインストールします。

$ cubejs create <プロジェクト名> -d <データベースタイプ>

(データベースタイプ)
postgres
mysql
mongobi
athena
bigquery
redshift
mssql
clickhouse
snowflake
presto

(例)anypicksというプロジェクトかつMysqlの場合
$ cubejs create anypicks -d mysql

続いてデータベースの初期設定をつくります。

- Creating project structure
- Installing server dependencies
npm WARN deprecated joi@14.3.1: This module has moved and is now available at @hapi/joi. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.
npm WARN deprecated hoek@6.1.3: This module has moved and is now available at @hapi/hoek. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.
npm WARN deprecated topo@3.0.3: This module has moved and is now available at @hapi/topo. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.

> core-js@2.6.9 postinstall /home/vagrant/raptor/server/raptor/anypicks/node_modules/core-js
> node scripts/postinstall || echo "ignore"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon: 
> https://opencollective.com/core-js 
> https://www.patreon.com/zloirock 

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)

npm notice created a lockfile as package-lock.json. You should commit this file.
+ @cubejs-backend/server@0.10.16
added 177 packages from 188 contributors and audited 403 packages in 25.991s
found 0 vulnerabilities

- Installing DB driver dependencies
+ @cubejs-backend/mysql-driver@0.10.16
added 14 packages from 28 contributors in 14.039s
- Writing files from template
- anypicks app has been created 🎉

📊 Next step: run dev server

     $ cd anypicks
     $ npm run dev
最後にNext stepが出力されたら成功
$ cd /anypicks
$ ls -alt

drwxrwxr-x   8 501 games   256  7月 24 05:00 .
-rw-rw-r--   1 501 games   196  7月 24 04:58 index.js
-rw-rw-r--   1 501 games   307  7月 24 04:58 .env
drwxrwxr-x   3 501 games    96  7月 24 04:58 schema
-rw-rw-r--   1 501 games 55154  7月 24 04:58 package-lock.json
-rw-rw-r--   1 501 games   251  7月 24 04:58 package.json
drwxrwxr-x 172 501 games  5504  7月 24 04:58 node_modules
drwxr-xr-x  37 501 games  1184  7月 24 04:58 ..

プロジェクト名で自動作成されたフォルダに移動します。

[vagrant@localhost anypicks]$ vim .env 
CUBEJS_DB_HOST=<YOUR_DB_HOST_HERE>
CUBEJS_DB_NAME=<YOUR_DB_NAME_HERE>
CUBEJS_DB_USER=<YOUR_DB_USER_HERE>
CUBEJS_DB_PASS=<YOUR_DB_PASS_HERE>
CUBEJS_DB_TYPE=mysql
CUBEJS_API_SECRET=b7058b3c0aa6b76fdb0b494ba161bc071fbfb0f2f44483f0c9f2cb8f01995f866b496e826f77f15c17753d3b68adb4baef345185c5f95061abbe0938bb051e94

「.env」ファイルに、アプリケーションに接続するDB設定を記載します。

$ npm run dev

以上で設定は完了。モジュールを起動してサイト(http://localhost:4000)にアクセスします。
※ localhostはご自身のホスト情報に書き換えてください。

無事起動しました。

使ってみる

分析するテーブルを選択して

「+」ボタンからGenerate Schemaを実行します。

Exploreに移動して、分析する指標を選びます。今回は「Notices Count」を選択。

すると、Notices Countのグラフが表示されます。検索条件や表示するグラフを変えらることもできます。

そして興味深いのが、結果を取得するReactのコードスニペットを吐き出してくれます。ですので、webサイトの分析レポートの一部として組み込むことも可能です。

他にはダッシュボードなど、色々な機能がありオープンソースとは思えないほどの充実ぶりです。ぜひ、社内のインテリジェンスツールとして活用してみてください。

◆ オープンソースのWebアプリケーション分析ツール「Cube.js」
https://cube.dev/


コメントを読む

新着ピック  






















新着ニュース

[小ネタ]【Windows10ユーザー向け】ワンライナーで踏み台経由でプライベートのEC2にSSHアクセスする(Windows Subsystem for Linux版) | Developers.IO

口の動きを共有、長距離ワイヤレス充電、クラウド型乗車券、タッチレス決済——ドコモが見せる未来

今週末から日本に中国人殺到? 中国人旅行者の今春節休暇は日本が人気旅行先トップに

保険業界の「仕事にやりがいを感じる企業ランキング」 並みいる外資系企業を抑えて1位になったのは?

女性とノンバイナリーの創業を支援するFFAが同じ目的と起源を持つMonarqを吸収し活動を強化 | TechCrunch Japan

コンサルティング業界の「ホワイト度が高い企業ランキング」 3位日本アイ・ビー・エム、2位デロイト……1位は?

AKIBA.AWS 第16回で「EC2 Image Builder」について話しました #akibaaws | Developers.IO

携帯キャリアが“VR最前列”に熱視線? ドコモも8KVRライブを配信 5Gが追い風に

保険業界の「ホワイト度が高い企業ランキング」 1位はあの国内トップクラスの損保会社

超音速旅客機開発のBoom SupersonicがFlight Researchと提携、XB-1実現に前進 | TechCrunch Japan

人材サービス業界の「給与の満足度が高い企業ランキング」 4位パソナ、2位マイナビ……1位は?

S3 バケットを AWS Lambda を使って、ウィルススキャンしてみた | Developers.IO

ドコモ、5Gを見据えた「新体感ライブ CONNECT」提供 8Kのライブ映像をVRグラスで

[Angular]入力フォームを追加削除できる動的なフォームを作ってみる | Developers.IO

[Angular]入力フォームを追加削除できる動的なフォームを作ってみる | Developers.IO

GitHubのIssueを検索してさくっとブラウザで表示する | Developers.IO

SCビジネスフェア2020にてキャッシュレス体験店舗をシステム協力してます #deviocafe | Developers.IO

ドコモ、英会話をリアルタイムに書き起こす「Otter」の日本展開で協業

「働きがいのある企業」ランキング、Googleを抜いて1位だったSaaSベンダーとは……?

ドコモ、「6G」に向けた技術コンセプトを公開--2030年のサービス化目指す

もっと見る
記事をPICKする
会員登録
Register
記事をPICKする

会員登録すると、もっと便利に利用できます。