DWHをBigQueryに移行した後の話

はじめに

こんにちは,
データエンジニアの大窄 直樹 (おおさこ)です.
今日, 8月6日は私の誕生日!!ということで, 私が執筆することになりました.
今回は, DWHをBigQueryに移行したあとの話について執筆します.

DWHをBigQueryに移行した背景

弊社では, 膨大な広告データを取り扱っています.
データサイズが大きいと, その集計処理もまた負荷が高いものとなります.

弊社では数年前, データ基盤としてAuroraを選択しました.

データサイズが小さいうちは, Auroraでの集計処理が可能だったのですが,
データサイズの増加に伴い, 集計処理にかかる時間は数十分だったのが数時間かかるようになりました.

この集計処理を高速化するために, データ基盤をBigQueryへ移行しました.

f:id:AdwaysEngineerBlog:20210806121736p:plain

BigQueryへのデータの移行については, こちらの記事をご覧ください.

blog.engineer.adways.net

BigQueryに移行して良かった

速い

BigQueryの集計処理は, Auroraに比べ遥かに早かったです.
Auroraで2時間30分かかった処理が,なんとBigQueryでは30秒で完了しました.
当初の目的の高速化は, Auroraに比べ約300倍速くなり達成できました.

安い

BigQuery はサーバーレスなデータ分析プラットフォームのため, 時間料金がかかりません.
分析料金として, 処理されたクエリデータ1TBにつき$5の支払いだけで良いです.

充実した機能

タイムトラベル

BigQueryにはなんと, 過去のデータを参照できる機能があります.
例えば, 1日前のテーブルにアクセスしたい.
下記のクエリで1日前のテーブルにアクセスできます.

SELECT *
FROM `mydataset.mytable`
  FOR SYSTEM_TIME AS OF TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 day);

Googleサービスとの連携

GCS, スプレッドシートのデータをリアルタイムでBigQueryのテーブルに反映する機能もあります.

などなど他にも, BigQueryには充実した機能が多数搭載され私たちをサポートしてくれます.

BigQueryにDWHを移行してからやったこと

私たちのチームでは, 今後データをどのように取り扱っていけば良いか, どのように利用していけば良いかを学ぶためにデータマネジメントの輪読会を行いました.
書籍には, "データマネジメントが30分でわかる本"を選択しました.
選定理由としては, 下記の3つの理由です.

  • データマネジメントの知識体系が書かれている
  • ケーススタディが書かれている
  • 短い時間で輪読会ができる

この書籍で輪読会を行ったおかげで私たちのチームでは, データのあり方について議論できるようになり, 今何をすべきかがわかりました.

私たちの例で言うと,

  • BigQueryでのデータセットの命名規則の設定
  • データ利用状況の可視化
  • 運用マニュアルの整備
  • ビジネスとデータのつながりを書き出した俯瞰図の作成

などです.

やるべきことがわかったので, 実際に行ったものを一つとして, 命名規則の設定をどのようにしたかを紹介します.

"データマネジメントが30分でわかる本"に記載されていることを参考に, 私たちの命名規則を設定しました.

f:id:AdwaysEngineerBlog:20210806121855p:plain

例えば, product_name__source__mysql という名前のデータセットがあれば,

  • product_nameというプロダクトで
  • 無加工の生データで
  • mysqlから取得したデータ

を表しています

命名規則を設定したおかげで, どこに何のデータがあるか一目でわかるようになり管理がしやすくなりました.

あとがき

このブログで, DWHのBigQueryの移行は, 速度, コスト, 機能全てにおいて最高だよ.
"データマネジメントが30分でわかる本"はとても良いよということが, 伝われば幸いです.

DWH何が良いかわからない, という方はとりあえずBigQueryを試してみてはどうですか?
データマネジメントって何??って方はとりあえず"データマネジメントが30分でわかる本"を読んでみてはいかがですか?