この投稿は、2023年JINSのアドベントカレンダー18日目の記事です。
自己紹介
株式会社ジンズのITデジタル部ほりお(@mhori0)です。
主にデータエンジニアみたいなことをやっています。
紹介すること
開発を行うと当たり前のようにGitが使われていますがローカルだけで開発される方の中にはまだGit手を出していないんだよなーって方がいるかと思っています。(私も手を出すのは大分遅かったうちの一人です。)
Lookerではバージョン管理を良い感じにする仕組みが内包されているので、これをとっかかりにGitに慣れていくのもありなのでは?ってことで書いてみようと思います。
Lookerとは
LookerはBIツールの一つでデータベースを持たず、直接データベースにアクセスしてデータ分析を行うBIサービスです。LookMLという言語を使ってデータ定義を行いデータガバナンス機能を有しています。
Google が世界中の情報を整理して、世界中の人々がアクセスできて使えるようにしていることと同様に、Looker はビジネスデータに対して同じことを行い、分析情報を活用したワークフローやアプリケーションを容易に構築できようにします。
- 信頼できる最新のデータにアクセスし、分析と対応を行う
- 選択したクラウドから信頼できるデータ エクスペリエンスを大規模に提供する
- より多くのユーザーにより多くの分析情報を提供することで、生産性、意思決定、イノベーションを改善する
コードのバージョン管理
LookerではLookML(Looker Modeling Language)という言語でモデリングを作成します。
このLookMLの変更の記録とファイルのバージョン管理を行うため、Gitを使用しています。
Gitを使用することで次のような機能が実現されています。
- ファイルの変更履歴の管理
- 過去のある時点のファイルの状態に戻す
- チームで更新したファイルを共有・結合できる
この中でもGit等を使わずにローカル環境で開発をしていくと問題になるのがチームでの開発になります。例えばAさんがあるファイルを編集中にBさんが同じファイルを編集し、Aさんが更に上書きをした場合Bさんが編集した内容がごっそり消える形になります。
これは極端な例ですが、変更内容の影響範囲の考慮不足があったり、他の変更を見落としていたり、、などチームで開発を行うと特に他社が修正している内容をきちんと把握した上で作業を進めることが重要になります。
LookerのGitを設定し複数人で作業をすると、下図のように自身の変更を加えながら他社の変更履歴も保持しているので最後にリリースする前に自身の変更+他社の変更を取り込んでリリースが行える、というようなイメージになります。
このような変更管理をLookerのGUIで確認しながら作業を行えるので、もう何も怖くない!感じであ開発を進められますね!
Lookerには外部連携機能のAction Hubという機能もあり、Lookerが全てのデータのハブとしての役割を担えるよう開発を進めていきたいと思います。
まとめ
Gitの数ある機能の超一部を挙げたまでになりますが、Gitの仕組みを使ってこのような管理がLookerでされています。Lookerに限らず開発者であればコード管理を最初からやっておけば、、と後悔してしまうこともあるかと思うので、Gitに手を出してみてはいかがでしょうか?
興味を持たれた方は他にわかりやすく&詳しく書かれている方が多くいらっしゃるのでそちらをご参考に。
明日は三度登場@knt-okadaが、グローバルネットワークの構築話をしてくれるのでお楽しみに!
出典情報
ビジネス インテリジェンス向けの Looker
https://cloud.google.com/looker-bi?hl=ja