見出し画像

11.4秒のクエリが1.5秒になった日の話

この記事で書くこと

カウシェでデータ分析・基盤構築を担当しているgoroです。今回はスタートアップのデータ分析基盤を改善する施策を紹介します。この前の記事で述べたカウシェのデータ基盤にガタが来ていました。そんな分析基盤とどうやって付き合っているかについて書きます。

分析基盤の課題が山積みに

最近、カウシェのデータ分析基盤の課題が続出する状況になっていました。「データ分析基盤の課題感リスト」を見て欲しいです。このリストでは、カウシェのアナリストが分析をしていて感じた問題や、データ利用の現場(MTG等)に入ってヒアリングした不満等を、粒度を問わず貯めています。何となく流れてしまいがちな課題を貯めておくことで、今解決しなくても良い、という負担軽減 & いつか解決されるという安心感になっています。

データ分析基盤の課題リスト(カウシェ内資料_notion)

大きな課題として挙がったものを並べてみます。

  • クエリが遅い

  • データ定義が周知しきれておらず問い合わせが増えた

  • データ改修の影響範囲が読めず、エラーにびびって改修速度が下がった。またエラーを予防できないこと

課題解決の 1 Day ワークを実施

これらの課題に対応するため「Data Management 1 Day」を実施しました。参加者は自分とアナリスト複業1名の合計2名です。目的は山積みとなったデータ分析基盤の息苦しさ(課題)を解決する時間を集中的に取ることでした。

実施にあたっては、分析基盤の大きな課題を解決するのは重い(時間がかかる)だろうことを念頭に置き、1つの課題に向き合い続けて1日が終わることを避けるために、工数小タスクを織り交ぜつつ実施することにしました。

ちなみに開催宣言はこれです(赤裸々がすぎる)

本会はデータ分析基盤に関わる課題を解決するために実施される。2022年8月現在、カウシェにはデータ分析基盤の整備を専務する担当者はおらず、アナリスト業務などに従事する傍ら、隙間時間や喫緊の課題が噴出したときに基盤改善へ取り組む程度である。また影響度は高いが緊急度が低い案件も多く、負債として積み上がり、慢性的な基盤の使いにくさ、分析実行の足かせになってしまっている。上記の背景より、データ基盤関連の課題を集中的に解決する場を設けることにした。対象の課題としては影響度を重視し、影響度がもっとも高いと設定されたものから着手する。解決にあたっては担当課題を振り分けた上で、対応工数が小中大のものを、3:2:1の割合で解決する

Data Management 1 Day 2022.08.11 / 開催の背景(カウシェ内資料_notion)

8/11(山の日)に休日出勤申請(カウシェ社公式制度、別日で代休取得をする)を行い、1日かけてデータ分析基盤の課題の棚卸しと、その解決を図りました。休日に実施したのは、他チームの業務影響を抑えるためです。休日にバグを起こしても、働いてる人がいないから影響が小さいはず、その中に直せばいい、という思想です。

主なアウトプットは3つ

結果的に、Lookerのクエリ速度を約10秒短縮し、「データポータル」の立ち上げを思案し、データウェアハウス改修のボトルネックを掴みました。主なアウトプットを以下に書きます。

11.4秒かかったクエリを1.5秒に

Lookerの参照をBigQueryのビューからパーティションテーブルに変更し、クエリ速度を改善しました。とあるLooks(Looker上のチャート)の更新時間が11.4秒から1.5秒(!!!!!)になりました。これはデータ活用の場でじわじわと効いてくるやつです。

とあるLooksの速度(改修前)
とあるLooksの速度(改修後)

データポータルの立ち上げ

続いて、データで現状を把握したい人、データを使って分析したい人が参照するポータルページ(データポータル)を立ち上げることにしました。これはまだ完成していませんが、組織が大きくなるにつれ重要さが増してくるものであり、継続的にやっていきます。データとその利用者のインターフェースとして、問い合わせに都度アナリストが対応することなく、このデータポータルが解決する、という構図を目指しています。

データポータルのイメージ

分析テーブルの参照関係を可視化

最後にBigQueryのAPI等を利用し、テーブル間の参照関係を可視化しました。データウェアハウス改修の影響範囲が可視化され、そのテーブル改修による影響範囲が分かり、非効率的な部分を特定しました。これで迷い無くデータ改修ができます。同様の方式でドライランを毎朝回すことでエラー検知→Slackに結果を通知すること、なども今後の改良予定です。

カウシェの分析テーブル参照関係

カウシェ分析基盤の未来

今回解決できた課題は全体の1割程度です。まだまだ課題は山積しており、大事なものから平時も含めて解決していきます。

また 1 day ワークは3ヶ月に1回の頻度で続けていく方針です。集中的な場を持つことで解決できる課題があると考えています。また複業メンバーとの接点を持つことも副次的な狙いとして大きいです。次回開催は10/1(明日!!!!!)@名古屋を予定しています。

そしてやっぱり、データ基盤の専門家が待ち遠しいです。この先3ヶ月は今のデータ基盤で持ち堪えられても、その先は怪しく、1年後は絶対に無理が来ます。そんなカウシェの未来を担う方、少しでもカウシェのデータチームに興味をもった方、まずは話を聞いてみたい方はこちらからDMください!


他ポジションの募集についてはこちらから↓

この記事が気に入ったらサポートをしてみませんか?