"Diary" インターネットさんへの恩返し

いつもソースコードコピペばかりなので,みなさまへ少しばかりの恩返しを

(1)Google Data Studioで、さくらレンタルサーバー上のMySQLデータをグラフ描画したい

f:id:azumami:20190125021453p:plain

Google Data Studioが極めて便利なので、さくらに限らずレンタルサーバ上のMySQLのデータ(業務システムのデータとか)をBIツールっぽく使いたいというもの。

そもそも業務システムをレンタルサーバで動かすってのはどうなのっていうのは置いておいて・・・

背景として、ビジネスデータはたまる一方だけど活用ができていない現状がある。分析するとして普通なら以下の手段をとる。

1)CSVで落として、ExcelやBIツールに取り込む
 ←めんどくさい

2)BIツールとサーバ上のMySQLをつないでデータを所得する
 ←レンタルサーバMySQLをPCなどのクライアントから直接つなぐのはたいていNG(例:さくらレンタルサーバ

3)システムにグラフを表示するプログラムを作り込む
 ←メンテが面倒

どれも、現実的に、コストをかけれないお客様にとってはよろしくないのでいろいろいいツールがないか調べてみた結果、Google Data StudioのデータソースとしてGoogle Cloud Storageのデータを扱えることがわかった。つまり何とか、MySQLのデータを吐き出して、Google Cloud Storageへ転送。そのデータをGoogle Data Studioから読み込み、そのレポートを業務Webシステムに組込み表示させる。

f:id:azumami:20190125021354p:plain


これで、お客さんもGoogle Data Studioでレポートを編集したら、業務システムの画面にもすぐ反映されるという、低コストなレポーティングシステム組込みができる。

レンタルサーバからGoogle Cloud Storageへの転送は、深夜にバッチで日次とする。

さらに、Google Data Studioの最新機能で混合テーブルというのがあって、テーブルのリレーションも組めるので、idやらkeyが丸見えで意味不明な項目を操作する必要もユーザはなくなる。もちろん、混合テーブルの初期設定はエンジニアがやらないとだめだけど。

とうことで、このやり方でやってみるのでその手順などを順次アップ予定。

他、Google Data Studioのようなものがないかなぁといろいろ調べて、別のことで使えそうなのもあったので簡単にメモを共有します。

・Metabase
Javaで動くレポーティングツール。サーバのログの集計などに最適。レンタルサーバでは動かないのでIaaSとかで使える。
  連携データソースは、Goolge AnalyticsやMySQLなどいろいろあるが残念なのがDynamoDBが使えないこと。

・Power BI
マイクロソフトのBIツール。無償版デスクトップ型でいろいろできるが、データソースでMySQLも使えるがさくらレンタルサーバへつなげないので断念。
  Amazon S3やGoolge Cloud Storageにつなげればよかったのですが、サードパーティーの有償プラグインなど入れればできる模様。
  お金がないので、また今度。

Amazon QuickSight
アカウント毎に数千円/月かかるのでパス。

・Kibana / AWS ElasticSearch / DynamoDB
組み合わせが複雑なのでパス。