Upgrade to Pro — share decks privately, control downloads, hide ads and more …

アジリティの高いデータ基盤を目指して

 アジリティの高いデータ基盤を目指して

大規模データの負債解消への道のり Lunch LT での登壇資料
https://findy.connpass.com/event/325973/

Toshiki Tsuchikawa

August 19, 2024
Tweet

More Decks by Toshiki Tsuchikawa

Other Decks in Technology

Transcript

  1. 自己紹介 土川 稔生 (Tsuchikawa Toshiki) 株式会社タイミーに2020年入社 DRE (Data Reliability Engineering)

    チーム 1人目データエンジニアとしてデータ基盤を構築し始める 現在はプロダクトオーナーとして、データ基盤プロダクト作りに 励む
  2. 4

  3. 5

  4. 6

  5. アジリティ向上の大まかなロードマップ 2019 アプリ リリース DWH (BigQuery)へ データ集約 2020 BIツール移行 (Redash

    → Looker) & dbt導入 2021 2022 2023 2024 データモデリング をLookerからdbt へ移行 dbt exposureに よるデータアウ トプットの自動 登録・管理 データコントラクト など
  6. BIツール移行 (Redash → Looker) データ利用者が、正しいデータを素早く利用できるようになることで、 データ活用サイクルを向上させると同時に、データチームのSQL修正コストを下げる アジリティへの課題 BIツールとして、Redashを本番データベースから繋ぐことで、可視化をおこなっていた。しかし、データ利用者がRedash上にク エリを書くため、指標の定義ずれや、SQLのミスによるデータアウトプットの間違いが増加した。そのためデータ利用者は正し いデータを出すために時間がかかり、データを修正する人のコストもかなり高まっていた。

    (RedashでAPIログなどの扱いが難しく、セキュリティを担保することも難しかった。) 取り組み内容 RedashをLookerに移行することで、データ利用者がSQLを書かずにデータを扱えるようにした。 アジリティへの効果と振り返り 全社の従業員数が増え、データ利用業務は拡大しているにも関わらず、それらのデータ活用を支えることができてい る。 そのため、データチームが単純なSQL修正業務に仕事が圧迫されることが減り、ビジネスチーム側に入り込みながら データ活用を一緒に取り組めている。 詳細はこちら → タイミーのデータ基盤品質。これまでとこれから。
  7. データ加工・モデリングを Looker, Embulkからdbtへ移行 Looker, Embulkで行っていたデータ加工・モデリングをdbtに統一することで、 データ加工・モデリングの開発生産性を向上させ、データ利用者に利便性の高いデータを提供する アジリティへの課題 データ利用者の利便性のために、データ同士を掛け合わせることであらかじめ分析に使うためのデータをembulkで加 工し、ビジネス指標をLooker上で定義していた。 しかし、複数回に分けてデータの加工を行なったり、複雑なデータモデリングを行なったりするにはEmbulkや

    Lookerだと実装が複雑になってしまう。故に、発展的なデータ加工・モデリングをする際のボトルネックになってし まっていた。 取り組み内容 データモデリングの定義をLookerからdbtへ集中させた。 アジリティへの効果と振り返り dbtでデータ加工・モデリングをまとめて管理できることで、コード記述が一覧化され、開発・管理の効率 がかなり向上した。 また、dbt上でデータのリネージュ可視化などでも開発効率が向上することができた。 詳細はこちら → 株式会社タイミーのdbt導入事例
  8. dbt exposureによるデータアウトプットの自動登録・管理 各種BIツールでのデータアウトプットを自動的に登録・管理できるようにすることによって、 データ基盤への修正や、追加開発の生産性を向上させる アジリティへの課題 BIツールで可視化されているダッシュボードや、グラフがどこのデータウェアハウス、データマートを経由して可視化されて いるかわからないため、データウェアハウスや、データマートに対しての開発を行う際の、影響度や変更の工数を測ることが 難しい。 (また、障害などが起こった際に、どこに影響があるのかわからないことで、障害対応で対応漏れが発生したり、適切にデータ 利用ユーザーに報告ができなかった。)

    取り組み内容 BIツールで利用されているダッシュボードの参照テーブル情報や、作成者などのメタデータをexposuresを通して、 dbtで自動的に登録、管理できるようにした。 アジリティへの効果と振り返り データ加工・モデリングに対して、変更がある際にどのダッシュボードに影響があるのかを測れることで、変更コス トを見積もることができるようになった。また、実際にダッシュボードを変更する際も作成者に変更を依頼しやすく なり、変更の容易性が向上した。 詳細はこちら → dbt exposureによるデータ基盤アウトプットの登録を自動化しました
  9. これからについて それでも、技術的負債は定期的に溜まっていき、すぐデータチームのアジリティは低下しがちである。 直近のアジリティへの課題 現在、データ基盤を通して、様々な組織・チームで、様々なデータ活用がされている。その中には、データの品質が求められるもの や、リアルタイムであることが求められるものや、逆にそこまで求めないものもある。 これらのデータ利用の要件はデータ基盤の入力データの制約に依存するものである。入力データに意図しないデータ型変更などがあ ると、後段のデータ利用には大きな影響が出てしまう。 このデータを生成する側、利用する側を挟んで、データチームは品質などにおける取り決めをしながら、データ利用を支える必要が ある。データニーズが増えると、取り決めも増えていくためデータチームのスイッチングコスト含め様々なコストを浪費する。 取り組み内容

    データコントラクトの実践。 データコントラクトとは、データを生成する側と、データ消費者で利用できるデータに関するAPI定義みたいなも の。これを定義することにより、データの品質の期待値や、管理レベルを擦り合わせることができる。 タイミーでは、データオーナー (データに最も詳しい人) 、データ提供者、データ基盤のリソース、品質のサービスレ ベル、スキーマ構成 などを契約としてステークホルダーと取り決めることで、上の課題の解決を目指している。
  10. その他のアジリティに関する取り組み dbt testの徹底 https://tech.timee.co.jp/entry/2024/06/25/141634 詳細はこちら → dbt exposureによるデータ基盤アウトプットの登録を自動化しました SLI, SLO, SLA運用

    https://speakerdeck.com/ttccddtoki/detapin-zhi-wozhong-shi-sitadetaji-pan-purodakut okai-fa スクラムによるアジャイル開発 https://speakerdeck.com/ttccddtoki/datatech-jp-casual-talks-number-3
  11. まとめ データ基盤開発のアジリティを高めることが重要 データ基盤におけるアジリティは、ユーザーニーズやビジネス環境の変化に柔軟且つ迅速に対応できる能力を指し、これを高め ることは非常に難しい。 アジリティが低いと、これらの変更を行うために大きなコストがかかり、日々増加するユーザーニーズに対応することが難しく なる。 タイミーでの取り組み事例の一部 • BIツール移行 (Redash

    → Looker) • データ加工・モデリングをLooker, Embulkからdbtへ移行 • dbt exposureによるデータアウトプットの自動登録・管理 など 今後の展望 データニーズが多くなればなるほど、技術的負債は溜まっていき、すぐデータチームのアジリティは低下しがちである。 データコントラクトなどの、アジリティを高めるための取り組みをどんどん行っていきながら、データ基盤開発をスケールさせ ていきたい。