Looker #03
今更このブログ発見。LookMLを何故この世に放ったのか?新しいテクノロジーを採用する際、誕生背景を知っておくことはめちゃくちゃ大事ですよね。早速興味の赴くままにピックアップしていきます。
私もこれ思いました。
- “Why invent a new data language when SQL already exists?” or
- “I have to write code (😱😩😭)? Can’t I use a graphical user interface (GUI) instead?”
でもね、 LookMLはSQLを置き換えるものではなく、SQLを”より良く”書く為のツールなんです。
データ操作を行う言語は、停滞していました。例えばアセンブラはCに、CはJavaやPython、Rubyに代替され、メモリ管理のような低レベル(本来業務から離れたレベルのタスク)から開放、よりプログラミング(ビジネスロジックということでしょう)に注力できるようになりました。
一方でデータ操作言語はどうでしょう?未だにデータ取得の為にSQLを手書く、つまり本来多大な時間を割くべきではないところに時間と労力を取られています。
Lookerの創業者であるLloyd Tabbは、LookMLの開発を開始した時に、Data Languages (データ操作言語)を進化させる必要があるという信念を持っていました。
そしてその信念はグラフィカル言語(適当な単語が見つからないので許して下さい)を開発するという方向には向かいませんでした。多くのグラフィカル言語を見て学んだことは、本質的に不正確、非効率そして、複雑なことをシンプルに表現するという点において良い方法でない、ということです。
そして、プロダクションシステムを構築する代わりにそのような"Teaching Tools"を使うに留まっているわけです。
#これは既存のセルフBI(ツール)が部門利用にとどまっており、全社レベルでデータ活用を実現するには至ってない、ということが言いたいのかな?
LookMLは、上記のような落とし穴を回避するだけでなく、データを本当に活用したい人々に最高の環境を提供する、それを実現する、というビジョンがあります。LookMLがデータ操作言語を大きく進化させたと言えるに足る、7つの理由を見て行きましょう。
1.再利用
プログラマのマントラ。同じことを繰り返すな。でもね、データ分析の現場は繰り返しの連続。
データを取り出して、準備をして、分析する。そしてそこで実行された作業は二度と使われない。
これは非効率極まりない、なぜなら次の分析でも同じような作業を実施するから。
LookMLは一度DemesionとMeasureを定義、構築するだけ。上記のような繰り返しが不要です。
2.低学習コスト
LookMLはSQLに寄り添って開発されています。理由は単純で開発の現場で広くそして長く使われているからです。つまり、多くのSQLに習熟したエンジニアにとっては、すでに馴染みのあるものとして受け入れてもらえます。一方でグラフィカル言語は強制的にゼロから習熟することを強いるかもしれません。
LookMLはSQLに熟れたデータ分析者であれば、僅かな時間で習熟することができるようになっています。
3.バージョン管理 #しっくりこない
データ管理・分析の現場では、いつ誰がどんな理由でデータを変更したのかをトレース、管理することが求められますが、残念ながら今時のグラフィカル言語では、先に示したような変更(バージョン)管理が許されていません。(#できないということかな?)
データ管理システムに組み込まれた、昔ながらのバージョンコントロールは、イケてなくプロプライエタリ(ベンダ独自の作法)で、なによりチームのコラボレーションを阻害します。
LookMLは業界標準のGitを利用したバージョンコントールを提供します。
4.簡単なデバッグ
あなたが、もしグラフィカル言語を用いた環境でデバッグしたことがあるなら、複雑に絡みあった問題を解決する大変さが身に染みているかもしれません。
LookMLの開発者は、auto-completion, error highlighting, contextual help機能を持つ成熟した統合開発環境のメリットを享受することができるだけなく、validatorがエラーを修復する手伝いをしてくれます。このような環境はグラフィカル言語では得ることが出来ないのではないでしょうか。
5.複雑なデータ管理のために開発
単にデータを平易に取り扱おうとしても、そもそものデータの複雑性を取り除ける訳ではありません。イケていないツールは複雑なデータの取り扱いをより難しくします。
LookMLはパワーユーザが複雑なデータをキャプチャすることを助ける強力なツールにもなります。例えばinequality joins, many-to-many relationships, multi-level aggregationなどを使って、新しい視点をユーザに提供するとも出来ます。
6.コラボレーションの促進
ソフトウェア開発者は、複雑な開発プロジェクトで非常にパワフルなツールを開発しています。そしてそれはデータ管理・分析の現場にも同様に必要なものです。一方で、会社の各所から求められるデータ(ニーズ)に一人だけで対応、サービスを提供することは出来ません。
SQLは、取り扱うのが”難しく”、データを使ったコラボレーションの実現には困難を伴います。LookMLは、ユーザが自然かつ容易にデータを取り扱う為に作られている為、コラボレーションの実現を容易にします。
7. データ管理者・分析者、そしてエンドユーザーの為に
ここまで読んで頂くとお分かりの通り、LookMLは、データ管理者・分析者の為のツールです。エンドユーザの為のものではありません。LookMLは、分析者がデータの持つ意味をナレッジ化することを助け、そのナレッジをLookerに投入します。結果として、LookMLはナレッジを全てのユーザが利用できるようにします。
そして、Lookerは、エンドユーザーがデータ利用の背後に横たわる”技術的なこと”を心配することなく、ダッシュボードの作成、行レベルの詳細のドリル、複雑なメトリックへアクセスすることを支援します。
以上の7つを一言で言うと、LookMLは進化したSQLです。データ分析者に馴染みのあるSQLをレバレッジ、つまり抽象化レイヤを設けて複雑さを隠蔽しながら、一方で成熟されたパワフルなデータ操作機能を使えるということですね。#だいぶ超訳です。
0コメント