次世代のデータプラットフォーム「Looker」機能概要まとめ #looker
Developers.IOをご覧の読者の皆様は「Looker(ルッカー)」というBIツール・サービスを御存知でしょうか。2012年01月に米国カリフォルニアにて設立された同名企業により開発された、データ探索とデータディスカバリー(発見)のための、次世代のデータプラットフォームです。
Lookerは世界各国の著名な企業・スタートアップなどで採用されており、また日本国内でも下記のようにメルカリやQuipperといった企業が採用・導入をした事で知名度が上がってきています。2019年の「Gartner Magic Quadrant」でも「Analytics and Business Intelligence Platforms」部門に掲載されています。
- プロダクトのリリース前から新ダッシュボード「Looker」の導入に踏み切ったわけ - Mercari Engineering Blog
- エンジニアを魅了する次世代 BI ツール『Looker』を Quipper が導入した理由(わけ) - Quipper Product Team Blog
- データ分析は、アナリストだけの仕事じゃない。メルカリの「データ民主化」の進め方 | SELECK [セレック]
- Get the 2019 Gartner Magic Quadrant for BI and Analytics | Looker
このたび、Developers.IOでもこの「Looker」を取り上げて行くことになりました。
当エントリでは記念すべき1本目のエントリとして、Looker公式ページに記載されている情報を読み解いて、「Lookerではどういう事が出来るのか/Lookerの特徴」について把握してみたいと思います。
目次
Lookerとは
Lookerは、誰もがビジネスを推進するデータを見つけ、調査し、理解するのを容易にするデータプラットフォームです。 データアナリストは、合意されたビジネスロジックとすべての人が使用する定義を使用して、ビジネスのための単一の信頼性の高いデータプラットフォームを作成し、ビジネスチームは信頼できるビジネスの共有ビューに基づいて表示、調査、共有、および決定を下すことができます。
Lookerの提供するBIプラットフォーム
Lookerでは、企業がデータから真の価値を引き出すのに役立つ、SQLの力を用いた独自の強力なデータプラットフォームを利用する事が出来ます。ビジネス用語を使いデータに対して高度な質問を問いかけることも可能です。
「LookML」でメトリックを定義
データアナリストは、データに関する知見・知識をLookMLという、Lookerで提供されているシンプルで強力なデータモデリング言語として記述します。
LookMLを使うことで、顧客生涯価値、コンバージョン率等の「ビジネスメトリクス」を定義し、テーブルが互いにどの様に関連するかを説明してLookerに対して(ユーザーの語り掛けに対する)適切なSQLを記述させる事が可能となります。
データを「美しく、意味のあるもの」にする
視覚化(Visualizations)の機能を活用する事で、データを使って完全なるストーリーを作り上げることが出来ます。読み易いレポート、美しいダッシュボードでユーザーはそれらを用い、ドリルダウンして内容を深掘りし、探索を続ける事が出来ます。作成した視覚化(Visualizations)はいつでも簡単に共有可能です。
データベース本来の技術を活用
今日、データベースでは非常に簡単に、且つ大量のデータを照会する事が可能となっています。
Lookerは仕組み上、それらのデータベースに直接接続を行っています。そのため、データベース本来の力を活用することが出来ます。
- データの抽出は行いません。
- ダウンロードするソフトウェアもありません。
- 「探索出来るもの」に対する制限はありません。
「データ文化」を構築する
全社内で信頼且つ信用出来る答えを持っていて、アナリストがボトルネックになっていないのであれば、Lookerを使って誰もが自身の問い掛けに答え、情報に基づいた「データ主導の決定」を下すことが出来ます。
Lookerがどのように動いているのか
Lookerを使ってデータにアクセスし、探索を行う上での「流れ」はどのようなものになっているのでしょうか。Lookerは内部で以下の様な処理を踏まえ、ユーザーの質問に対する回答を返しています。
- (STEP1)
- LookerはAmazon RedshiftやGoogle BigQueryなどのデータソースに接続を行う。
- (STEP2)
- Lookerは自動的に接続したスキーマ情報からデータモデルを生成。
- (STEP3)
- 会社独自の測定基準やビジネスロジックを反映させるためにモデルを改良。
- (STEP4)
- KPIダッシュボードや部門別レポートなどの基本的なものを構築し、ユーザーを招待。
- (STEP5)
- Lookerを使い、ユーザーは自身のノウハウを用いながら質問を投げ掛ける。Lookerはそれらを正確で高性能なSQLに変換し、回答を返す。
Lookerの「守備範囲」をフローで表した図が以下となります。データベースとプラットフォームを繋ぐ真ん中の部分、「LookML」が担っているビジネスロジック・モデリングレイヤーの部分が鍵となっているようです。
また、データや処理の種類で更に詳細な構成図として起こしている図が以下の内容となります。データベースのみならず、その他様々な情報やアプリケーションとも連携が可能となっている事が分かります。
Lookerの構成要素
Lookerを使うと、「データを繋いで可視化が出来る」「データをモデル化出来る」というのはざっくりではありますが分かりました。
では、もう少し踏み込んで「そういうことをするために、Lookerではどういう機能が用意されているのか」についてもう少し踏み込んで見たいと思います。
公式ページでは以下の様なかたち(More about Looker)でより詳細な機能紹介がなされています。それぞれの内容について見ていきましょう。
データモデリング
「SQL」は当ブログをお読みの方であれば多かれ少なかれ、利用されている事と思います。好みは人それぞれあるかと思いますが、SQLは強力且つ柔軟なものです。Lookerでは、諸々を考慮した結果『SQLは必要なデータを取得するための最善の方法(場合によっては唯一の情報)となる』という考えに辿り着き、Lookerプラットフォーム上で動作する言語として『LookML』というものを作り上げ、活用しています。
LookMLは、SQLを置き換えるものではなく、SQLの良さを残しつつ、ビジネス要件にも柔軟に耐えられるような機能を利用出来るような独自の言語として作られたものです。LookMLを用いてSQLを実際のプログラミング言語の様に扱うことで、低レベルの懸念を抽象化し、ユーザーは分析を行う事に集中出来るようになります。
LookMLの特徴は以下の通り。
再利用可能
LookMLを使って作成したデータモデル定義は、他の場所で再利用する事が可能です。
共有可能な設定がなされていれば、対応する全てのユーザーがそのモデル・ロジックを活用する事が出来ます。
LookMLを使う事で、全員が同じ集中型のディメンションとメトリックを参照するようになるため、同僚が正しいSQL・ロジックを使っている事を確認出来ます。
共同作業が容易に
LookMLを使うことで、SQLを一口サイズのまとまりに分割し、情報の調査/要約/再結合を容易にします。結果として共同作業(コラボレーション)の反復が促進されます。
また、LookMLを使うことでスニペットの理解と更新が容易になり、巨大なSQLクエリを読み解く作業が軽減・削減出来ます。
フレキシブル
LookMLを使うと、会社におけるビジネスロジックを定義出来ます。
ビジネス要件が変わった場合〜KPIの定義を修正したり、価格モデルの変更が発生した場合、対応するLookMLモデルの定義を変更するだけで済みます。
変更した設定は、そのLookMLモデルを使っている全ての箇所に反映されます。
組織された構成
LookMLは構造化された拡張可能なコードでビューとモデルを構成し、ビジネスロジックを整理します。つまり、整理されていないSQLファイルでいっぱいのフォルダが出来てしまう...といったことはありません。
Gitと統合・データモデルのバージョン管理が可能
LookMLはGitHubやユーザー自身で管理しているGitリポジトリを通して、Gitとシームレスに統合します。
各ユーザーは新しい分析を試すために、他の人に影響を与えることなく、独自のリポジトリを使うことが出来ます。データモデルの全ての変更は、必要に応じて監査・調査・ロールバックする事が可能です。
セキュリティ周りの対応
Lookerでは、セキュリティ周りの対応についても様々な観点で考慮が為されています。
予めデータセキュリティを考慮した設計
Lookerのデータプラットフォームは既存データベースを活用し、セキュアな接続を使用してデータウェアハウスに直接問い合わせを行います。
Looker内部では、必要なデータにアクセスするクエリを作成し、結果を取得。その際の回答はキャッシュとして保持します。必要に応じて保持される期間や条件を変更することも可能です。(※デフォルト値は「1時間」)
Lookerではデータへの単一アクセスポイントを提供する形を取っているので、ユーザーは堅牢なデータガバナンスインフラを構築し、データの広がりを最小限に押さえて機密情報へのアクセスを制限しながら、ユーザーそれぞれが探索を行い、回答を得ることが可能となります。
管理者はユーザーまたはグループ毎に詳細な権限を設定し、データベースレベルから行レベル・列レベルに至るまでのデータアクセス制限を行う事が可能です。様々なレベルでの制御が行えるので、堅牢なビジネスインテリジェンスデータガバナンスを構築して、ユーザーにとって安全なエクスペリエンスを実現可能です。
データを管理下に置く
Lookerは移動を制限する事により、データベース内のデータが安全かつ確実になるように設計されています。
データ分析のために「データを取り出す」ことを勧めている他のBIプラットフォームとは異なり、Lookerはデータベースに直接問い合わせるSQLを生成します。「データベースのセキュリティプロトコルを活用」しているのです。
データストレージではなくデータの可用性を重視
Lookerでは、質問に答え、関連する結果セットだけを返す必要最小限のデータにアクセスするために、データベースに対して読み取り専用接続を使用する設定が可能です。この仕組みにより、既存のデータベースセキュリティモデルの能力を最大限に活用しながらも、データの重複を少なく出来、機密データをローカルマシンに長期的に保存する必要がなくなります。
ボトムアップからのデータガバナンス
セルフサービスでは、データガバナンスを犠牲にすべきではありません。Lookerではこの考えに基づき、以下の様な仕組みで様々なレベルでのアクセス制御を実現しています。
- 安全なユーザーアクセスと管理
- Lookerを使用することで、管理者はデータベースレベルからフィールドレベルまで、ユーザーのアクセスを簡単に制御できます。
- 構成をシンプルに
- アプリケーションのアクセス許可、データアクセス、およびコンテンツアクセスは、アプリケーションで設定するか、LookerのAPIを介してプログラムで管理するか、既存のシングルサインオン認証プロトコルから直接継承することができます。
エンタープライズグレードの機能セット
- 任意の認証方法を選択可能
- LookerのBIプラットフォームには、二要素認証、SAMLベースのシングルサインオン(SAML, OneLogin, Google Appsのサポート)、及びチーム管理を含むエンタープライズレベルの機能が標準装備されており、Lookerアクセスを安全かつ最新の状態に保つ事が出来ます。
- 業界標準のデータセキュリティ暗号化
- Lookerは業界標準のAES暗号化を使用して、DB接続の認証情報と保管時に保存されたキャッシュデータを保護します。また、TLSを使用してユーザーのブラウザとLookerプラットフォーム間のネットワークトラフィックを暗号化します。
- DB接続を保護するための各種オプション
- Lookerには、IPホワイトリスト、SSL、SSH、PKI、Kerberos認証など、DBへの接続を保護するための様々なオプションがあります。
包括的な監視・完全な監査
Lookerのデータプラットフォームは、データに対するユーザーの操作に対して単一の窓口を提供する形となっているので、誰が何にいつアクセスしたのかを正確且つ簡単に追跡可能です。
- 使用状況の監視・開発の追跡
- Lookerは全ての対話内容をログに記録しているので、管理者は使用状況を監査し、スケジュール設定されたレポートとアラートを簡単に設定出来ます。また、Lookerのデータモデルはバージョン管理されているので、メトリック定義がいつ変更されたのか、誰が変更したのか、またその理由等を追跡する事が出来ます。
- サポートアクセスの設定も簡単
- Lookerは、テクニカルサポートによるインスタンスへのアクセスを監視し、定期的に監査しています。この設定のアクセスを制御のOn/Offの切り替えは容易に可能です。
- Support Access
共有セキュリティパートナーシップ
Lookerは組織のデータベースに接続し、そのデータはLookerプラットフォームに持ち込まないように設計されています。Lookerは、維持管理する責任のあるテクノロジに接続するため、セキュリティの要件はLookerと利用者の間で共有される「責任」となります。
※セキュリティ周りの要件ついてはこの他にも詳細な内容が展開されていますので、別途エントリを改めて内容を確認していきたいと思います。
埋め込み分析
Lookerでは、シームレスなデータ探索を行うための「埋め込み・組み込み分析(Embedded analytics)にも対応しています。この仕組みを使って、データを顧客に配信する事が出来ます。
Gitと連動してワークフロー全体を管理可能
より良いコラボレーションと継続性の確保を実現する形でレポートを製品に組み込むことが出来ます。Lookerではgitを用いたバージョン管理とアジャイル開発プロセスを用いて、ワークフロー全体を管理する形を取っています。
スケーラブルで予測可能なパフォーマンス
データが成長するに伴い、埋め込みレポートを簡単に変更していくことが出来ます。モデルを1箇所で管理し、メトリックとユーザー権限を変更に伴って自動的に更新します。
迅速な価値、深いカスタマイズ
アプリケーションの内容に合わせて、埋め込みアナリティクスの見た目・デザインをカスタマイズする事が出来ます。また、堅牢なAPI、SDK、および一般的な統合ライブラリによって、ユーザーを制御できます。
豊かな経験のためのより深い相互作用
顧客がセルフサービス方式でデータをドリルダウンし、探索を行い、アラートをスケジューリングし、データに対して問い掛けを行っていく作業を可能にする組み込みレポートを構築する事が出来ます。
「Looker Blocks™」という仕組み
Looker Blocks™は、分析を加速させるために利用することが出来る、事前に構築された処理コードの塊(Block)です。この処理は1から作り上げていくことも出来ますが、最初から始めずとも、他の人が行った作業を再利用してから、ブロックを自分の仕様に合わせてカスタマイズしていく事が出来ます。
最適化されたSQLパターンから完全に構築されたデータモデル、カスタムビジュアライゼーションから天気や人口統計データまで、様々な「Blocks」が提供されています。そして、Looker Blocks™はMITライセンスの下でライセンスされています。
Looker Blocks™で利用可能なBlocksの種類は以下の通り。
- 分析ブロック(Analytic Blocks):データを変換するためのデザインパターンの採用
- ソースブロック(Source Blocks):一般的なデータソースを速やかに理解
- データブロック(Data Blocks):モデル化された外部データでデータを充実
- データツール(Data Tools):特定のタスクに対するユーザーの分析経験を整理
- ビズブロック(Viz Blocks):Lookerに美しくインタラクティブな視覚化を追加
- 埋め込みブロック(Embedded Blocks):Lookerを任意のコンテキストまたはツールに取り込む
Looker Blocks™に関するドキュメントは以下となります。
Action Hub
Lookerでは、様々な外部アプリケーションとの連携も可能となっています。
管理ページから各種設定を行う事で、様々な連携を「アクション(Action)として実施する事が出来るようになります。
プロフェッショナルサービス
各種サポート体制についても、以下の様なトレーニングやサービスが用意されているようです。
- Professional Services
- Consulting Services
- Implementation Services
- Jumpstart Program
- Looker Training
- Ongoing Support
まとめ
というわけで、次世代のデータプラットフォーム「Looker」に関する概要把握エントリのご紹介でした。こうしてみると『何はともあれ、LookMLをマスターする事が必要なのだな』という点と『LookMLを使いこなすことが出来れば、相当に便利な使い勝手の良いものになりそうだな』という感想を抱きました。利用に先立ってLooker社のトレーニングも受講しましたが、私を含めた受講者数名の『こういうことしたいんだけど、出来ますか?』『こういうケースを想定した場合、Lookerではどういう対策を取ることが出来ますか?』と言った問い掛けにも回答が用意されている『細かいところまで行き届いている』という印象を受けました。
Lookerで出来ることについての概要は当エントリでご紹介したものとなりますが、機能それぞれの内容についても色々深掘りし甲斐、試し甲斐がありそうなものとなっています。当ブログでもその辺色々触ってみた内容について紹介して行きたいと思いますので、是非下記シリーズのチェックをお願い致します!!
参考情報
- Advanced Data Analytics Platform & Software | Looker
- Business Intelligence (BI) Software for Everyone | Looker
- LookML - Data Modeling Language That's Simple & Powerful | Looker
- Data Security for Business Intelligence at Looker | Looker
- Embedded Analytics (OEM) & Reporting Platform | Looker
- Looker Data Actions - Inject data into your day-to-day workflow | Looker