Lookerを使い倒したい

2023-12-22

はじめに

こんにちは。株式会社 Belong で Data Platform チーム所属の taketsuru です。

この度弊社ではLookerを導入しました。

Looker は BI ツールの一つで、データの可視化や分析を行うことができます。

私はこれまでいわゆる BI ツールを使ったことがなく、他の BI ツールとの使用感の比較ができない点だけご了承ください。

経緯

自社データを契約のある会社に提供するためという形で他チームから話がきました。

その際の要件として

  • ユーザー管理が容易
    • コマンドではなく GUI で管理したい
  • ユーザー管理が google workspace による SSO に依存しない
    • google workspace を採用していない会社もあるため
  • データの可視化
    • Bigquery の dataset からリアルタイムでデータを取得できる

というものがありました。

依頼元は Looker studio を使用していたので構築するダッシュボードのイメージはあったのですが、ユーザー管理の面から Looker を推してきたようです。

Looker studio では上記のユーザー管理要件を満たせておらず、またコードによる生成物管理もできないためかと推測しています。

直接の理由は以上ですが、今後を見据えての選択だったと考えています。

第一印象

とにかく高いと思います。月$5000です。

今回の記事はそれから始まりました。

高いって言ってても仕方ないので使い倒すマインドに

高い高いと言っても使い方で節約できるサービスではないので使い倒すマインドで取り組むことにしました。

Cloud Next でヒアリング

タイミング良く開催されたので参加してきました。

いい使い方を聞くことが半分、高いことを愚痴ることが半分です。

結果として得られたのが Looker 採用企業はデータガバナンスに魅力を感じているという話でした。

データガバナンス

誰にどのデータを見せるかを管理することです。

単純に思いつくのはユーザー単位で dataset や table のアクセス権限を設定することです。

が、そのレベルの機能は標準的なものかと思います。

Looker はユーザーごとに KeyValue(user attribute)を設定でき、それを利用して行レベルで見せたくないデータを制御できます。

access_filter という設定項目で user attribute による where 句を自動で付与してくれます。

冒頭にも書いたように私は他の BI ツールを知らないので実は標準的な機能なのかもしれません。

( だとしたら魅力を感じている企業様は...?となるので考えるのをやめました )

実際に使ってみて

独自ものばかりで初期学習コストがかかります。

LookML、専用 IDE と Git クライアント、project や model の概念、dashboard の概念、etc...

ただダッシュボードで要素の絞り込みをしていくプルダウンは簡単だったので印象に残っています。

大カテゴリを選択すると小カテゴリのプルダウンが絞り込まれるというものです。

よくある実装だと大カテゴリ選択後に小カテゴリ側の表示を絞り込むやつですが、Looker では小カテゴリ側の更新を大カテゴリに紐づける設定のみです。

画面操作だけで完結するのは良いですね。

管理画面を眺めてみて

Looker の管理画面にはいろいろな設定項目があります。

ほぼ使えてないので〜らしい、〜っぽいという表現になります。

使ってみたら書いてあることと違ったというのもありうるのでご了承ください。

連携

思ってたよりいろいろありました。

workflow ツール、コミュニケーションツールに引っ掛けるのはもちろん、GCS や S3 への dump も可能に見えます。

google 謹製らしく spreadsheet への出力ってのもありました。

スプシ出力は普通にやると何らかのスクリプトを挟まないといけないので楽そうです。

というより、その何らかのスクリプト管理をしなくて良くなるのは結構なメリットに見えます。

GCP からだと SA とか設定が必要ですが Looker だとどうするのでしょうか。

ユーザー認証方法

弊社では今の所メールアドレスとパスワードでの認証のみ有効にしています。

他にも SAML や OIDC、Google workspace 認証、LDAP 認証がありました。

google authenticator の必須化や IP 制限などもできるようです。

API のためのキーも発行できます。

webhook, API

大まかに 3 種類あります。

Git 系の webhook、LookML 更新などの管理系 API、データ取得系 API です。

Git 系の webhook では Github での master マージによる gha からの Looker デプロイなどができそうです。

というか現時点できてないのでやりたいです。

管理系は現時点では使い所が思いつきませんがユーザー管理 GUI を別システムで作る場合とかでしょうか。

データ取得系は SQL を発行して返すだけの API サーバーの代わりになるかもしれません。

ただ rate limit は設定できなさそうですし、どれだけの負荷に耐えられるかは不明です。

社内向けサービスなどの SLO が緩い場面に限定されそうです。

アラート、スケジュール設定

これは管理画面から設定ではなく、各ダッシュボードで設定したものの一覧が見れる感じです。

管理画面からは設定できませんが一覧で把握できるのは良いですね。

まとめ

Looker を使い始めて思ったことを書いてみました。

とりあえずは月$5000 に見合った働きをさせるべく何ができるかを探っている状態です。

機能面もなのですが運用面についてもノウハウを蓄積していければなと思います。

弊社 Belong では一緒にサービスを育てる仲間を募集しています。 もし弊社に興味を持っていただけたら <エンジニアリングチーム紹介ページ> をご覧いただけたら幸いです。