11.4秒のクエリが1.5秒になった日の話
この記事で書くこと
カウシェでデータ分析・基盤構築を担当しているgoroです。今回はスタートアップのデータ分析基盤を改善する施策を紹介します。この前の記事で述べたカウシェのデータ基盤にガタが来ていました。そんな分析基盤とどうやって付き合っているかについて書きます。
分析基盤の課題が山積みに
最近、カウシェのデータ分析基盤の課題が続出する状況になっていました。「データ分析基盤の課題感リスト」を見て欲しいです。このリストでは、カウシェのアナリストが分析をしていて感じた問題や、データ利用の現場(MTG等)に入ってヒアリングした不満等を、粒度を問わず貯めています。何となく流れてしまいがちな課題を貯めておくことで、今解決しなくても良い、という負担軽減 & いつか解決されるという安心感になっています。
大きな課題として挙がったものを並べてみます。
クエリが遅い
データ定義が周知しきれておらず問い合わせが増えた
データ改修の影響範囲が読めず、エラーにびびって改修速度が下がった。またエラーを予防できないこと
課題解決の 1 Day ワークを実施
これらの課題に対応するため「Data Management 1 Day」を実施しました。参加者は自分とアナリスト複業1名の合計2名です。目的は山積みとなったデータ分析基盤の息苦しさ(課題)を解決する時間を集中的に取ることでした。
実施にあたっては、分析基盤の大きな課題を解決するのは重い(時間がかかる)だろうことを念頭に置き、1つの課題に向き合い続けて1日が終わることを避けるために、工数小タスクを織り交ぜつつ実施することにしました。
ちなみに開催宣言はこれです(赤裸々がすぎる)
8/11(山の日)に休日出勤申請(カウシェ社公式制度、別日で代休取得をする)を行い、1日かけてデータ分析基盤の課題の棚卸しと、その解決を図りました。休日に実施したのは、他チームの業務影響を抑えるためです。休日にバグを起こしても、働いてる人がいないから影響が小さいはず、その中に直せばいい、という思想です。
主なアウトプットは3つ
結果的に、Lookerのクエリ速度を約10秒短縮し、「データポータル」の立ち上げを思案し、データウェアハウス改修のボトルネックを掴みました。主なアウトプットを以下に書きます。
11.4秒かかったクエリを1.5秒に
Lookerの参照をBigQueryのビューからパーティションテーブルに変更し、クエリ速度を改善しました。とあるLooks(Looker上のチャート)の更新時間が11.4秒から1.5秒(!!!!!)になりました。これはデータ活用の場でじわじわと効いてくるやつです。
データポータルの立ち上げ
続いて、データで現状を把握したい人、データを使って分析したい人が参照するポータルページ(データポータル)を立ち上げることにしました。これはまだ完成していませんが、組織が大きくなるにつれ重要さが増してくるものであり、継続的にやっていきます。データとその利用者のインターフェースとして、問い合わせに都度アナリストが対応することなく、このデータポータルが解決する、という構図を目指しています。
分析テーブルの参照関係を可視化
最後にBigQueryのAPI等を利用し、テーブル間の参照関係を可視化しました。データウェアハウス改修の影響範囲が可視化され、そのテーブル改修による影響範囲が分かり、非効率的な部分を特定しました。これで迷い無くデータ改修ができます。同様の方式でドライランを毎朝回すことでエラー検知→Slackに結果を通知すること、なども今後の改良予定です。
カウシェ分析基盤の未来
今回解決できた課題は全体の1割程度です。まだまだ課題は山積しており、大事なものから平時も含めて解決していきます。
また 1 day ワークは3ヶ月に1回の頻度で続けていく方針です。集中的な場を持つことで解決できる課題があると考えています。また複業メンバーとの接点を持つことも副次的な狙いとして大きいです。次回開催は10/1(明日!!!!!)@名古屋を予定しています。
そしてやっぱり、データ基盤の専門家が待ち遠しいです。この先3ヶ月は今のデータ基盤で持ち堪えられても、その先は怪しく、1年後は絶対に無理が来ます。そんなカウシェの未来を担う方、少しでもカウシェのデータチームに興味をもった方、まずは話を聞いてみたい方はこちらからDMください!
他ポジションの募集についてはこちらから↓
この記事が気に入ったらサポートをしてみませんか?