この記事はSpeee Advent Calendar 2018の 15 日目の記事です。
今日は Looker についてです。
私の部署では日常的に BigQuery を用いたデータ分析を行っており、
もっと簡単にデータ分析を行えるツールを探している一環で Looker と出会い、検証してみて他の BI ツールと比べて良かった点を紹介したいと思います。
Looker って?
一言でいうとデータ探索プラットフォームです。
データベースに存在しているデータを SQL を使うことなく、データの集計・可視化・レポーティングなどを行ってくれます。
国内では Mercari や Quipper などで導入実績があります。
- プロダクトのリリース前から新ダッシュボード「Looker」の導入に踏み切ったわけ - Mercari Engineering Blog
- エンジニアを魅了する次世代 BI ツール『Looker』を Quipper が導入した理由(わけ) - Quipper Product Team Blog
Looker の良かった点
さて本題の Looker を検証してみてよかったところをいくつかご紹介します。
- 集計・可視化・定期レポーティングまでのフローがとても楽
- ダッシュボードも含めてコード化ができ、Git管理が可能
- 既存のクエリからの分析・可視化が可能
- 利用状況が可視化されている
- 柔軟な権限設定機能により複雑な権限設定が可能
- API提供によるプログラマティックな操作が可能
集計・可視化・定期レポーティングまでのフローがとても楽
分析をしていてよくあることとして、分析で作ったロジックや可視化設定を今後追加されるデータにも適用して継続的に監視したい、ということがあります。
この要件に対して Looker はスケジュール実行機能を備えているため、定期的なクエリ実行からレポーティングまでを数クリックで実現することができます。
レポーティング先として Slack も利用できるため、日次や週次の分析結果を簡単にレポーティングすることが可能です。
また、レポーティング先に Webhook の設定も可能なので、分析結果を自動的にアプリケーションに取り込むことも可能です。
参考リンク:
ダッシュボードも含めてコード化ができ、Git 管理が可能
Looker は LookML という YAML に似た設定言語を持っていて、データベースのスキーマ情報など分析するためのモデルを定義することで、SQL を使わずデータベースのデータを扱うことができるのですが、このコードによる設定がダッシュボードの設定としても残すことができます。
また、LookML は Git で世代管理されているため、以前の設定を復元することも可能にしています。
このため、ダッシュボードの変更を管理したり、意図しない変更や削除に対しても対策することができます。
参考リンク:
既存のクエリからの分析・可視化が可能
Looker では既存のクエリを使った集計結果を可視化することも可能です。
SQL Runner
として接続しているデータベースに直接クエリを実行することが可能で、この結果を LookML 化して分析するためのモデルとして定義することができます。
このため、Looker を導入する前に作成していた分析用クエリをそのまま利用することができます。
参考リンク:
利用状況が可視化されている
Looker には管理者向け機能として利用状況を可視化する機能があります。
この機能を用いることで、使用されていないユーザーやプロジェクト、さらに、使用されていダッシュボードなどもすぐに判別可能です。
運用が長く続いた際の、リソースの棚卸しも楽に行うことができます。
参考リンク:
柔軟な権限設定機能により複雑な権限設定が可能
企業でデータを扱う際に課題となるひとつに、データのアクセス制限があります。
利用者の部署、役職にあったアクセス権を付与することが必要であり、場合によってはデータベースの設計を見直さないといけないこともあります。
Looker ではユーザー属性から適切にアクセスできる範囲を限定できる機能が豊富に用意されており、複雑な権限要件に対応することが可能です。
参考リンク:
API 提供によるプログラマティックな操作が可能
Looker には Restful な API が提供されており、これにより Looker 操作の自動化が行えるようになります。
例えば、別 DB で管理しているユーザー属性を Looker 内部のユーザーリソースに反映することも自動化することもできますし、独自の管理画面の作成にも利用することができたりします。
参考リンク:
まとめ
Looker ではデータ分析を行う上で便利な機能を提供するツールにとどまらず、アクセス制限やツール自身の運用に対しても豊富な機能を備えており、データ探索プラットフォームといっても過言ではないと思います。
もし、今回紹介したものが現在課題になっていた場合、Looker の利用を検討してみてはどうでしょうか。