0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

The Analytics Engineering Guide 「Why does it exist? 」を読んでみた

Posted at

Why does it exist?

前回に引き続き、dbt記事の第2弾。
Why does it exist?の記事を要約+和訳する。

1. Analytics code should be version controlled

The Before Times

データサイエンティストは、クエリを個人のマシンに保存するか、せいぜいストアドプロシージャとしてリポジトリにチェックするだけ。

Today

分析コードを共有のgitリポジトリで共同作業しています。お互いのコード変更をレビューし、本番環境にマージする前に品質テストを行う。

2. Analytics code should have quality assurance

The Before Times

またデータ変換の処理に関するテストが不足していたため、データパイプラインの作成・保守を行う際問題がしばしば生じた。

Today

dbtテストを導入するため、バグの発生を事前に検知することができるようになった。

3. Analytics code should be modular

The Before Times

データ分析を行う人々が指標やフィルタリングなど各々の基準で定義づけを行なっていた。コーデの共有が難しい状況。

Today

統一されたコードベースで作業を行う。一つのモデルが複数のモデルのベースとなる。SQLに加えてJinjaのようなテンプレート言語を使用することでよりモジュール化されたSQLを利用することができる。

4. Analytics should use environments

The Before Times

アナリストは本番環境を利用してテストを行なっていた。そのため本番環境が壊れないように祈ることが往々にしてあった。

Today

本番環境・開発環境を切り替えることで、変更や追加を開発・テスト・レビューを行える。また本番環境にコミットする前に変更結果の内容を確認できるため安全な運用が可能になる。

5. Analytics code should be designed for maintainability

The Before Times

新しいデータの追加で既存のデータモデルが壊れることがある。また通知機能を設定していなければ、アラートもなることがない。

Today

モジュール化されていくことで、データソースを追加した際、単体かつ個別に切り分けて結果を確認することができる。

まとめ

dbtを通じて、コードのバージョン管理・テストの逐次実行・モジュールとして切り分けることで管理が容易になると言った利点がありそう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?