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

データの"守り"を固めた2022

Takuma Kouno
December 14, 2022

 データの"守り"を固めた2022

2022/12/14のData Engineering Studyの発表資料

Takuma Kouno

December 14, 2022
Tweet

Other Decks in Technology

Transcript

  1. データの”守り”を固めた2022
    2022.12.14 
    株式会社Luup 河野匠真
    Data Engineering Study #17

    View Slide

  2. 発表者
    ● 河野 匠真(@makako1124)
    ● 株式会社Luup / Data Strategy部 Data Engineering Team
    ● 主にデータ基盤の構築から運用、整備を行う

    View Slide

  3. Luupとは
    電動キックボードや電動アシスト自転車をはじめとする、電動・小型・一人乗りのマイクロモビリティを、iOS/Android アプリから解錠・
    施錠を行って自由に乗車することのできるシェアリングサービス
    ポート数
    車両数
    5,000台以上 2,430以上
    展開エリア:東京、大阪、京都、横浜など
    (2022年11月末時点)

    View Slide

  4. 1. Luupのデータとデータ基盤
    2. 課題
    a. Rawデータはそのまま使えない
    b. データがどこにあるかわからない
    3. 結果
    4. 今後実施したいこと
    5. まとめ
    6. 最後に
    Agenda

    View Slide

  5. Luupのデータとデータ基盤
    API
    Firebase Extensions
    1. アプリや車両のデータをFunctionsで処理してBigQueryへ
    2. アプリデータはFirestoreに保存され、BigQueryへ
    ※上図は簡潔に記載しており、詳細を割愛しています
    iOS/Androidアプリ

    View Slide

  6. 課題
    Rawデータはそのまま使えない
    データがどこにあるかわからない
    ※課題は他にもたくさんありますが、重要な二つに絞って紹介しています

    View Slide

  7. 課題
    ※課題は他にもたくさんありますが、重要な二つに絞って紹介しています
    データを綺麗にして誰でもアクセスできる環境を整えないと!
    データの守りを固める
    データの信頼性を上げ、
    正しく一貫したデータに誰もがアクセスできるようにする

    View Slide

  8. 課題
    Rawデータはそのまま使えない
    データがどこにあるかわからない
    ※課題は他にもたくさんありますが、重要な二つに絞って紹介しています

    View Slide

  9. データがどこにあるかわからない
    データがどこに存在しているのかわからない
    ● ほしいときにすぐにデータが手に入らない
    ● そもそも欲しいデータがあるのかわからない
    ※上図は簡潔に記載しており、詳細を割愛しています
    API
    Firebase Extensions
    iOS/Androidアプリ

    View Slide

  10. データがどこにあるかわからない
    ※課題は他にもたくさんありますが、重要な二つに絞って紹介しています
    データカタログを用意
    → データがどこにあり、誰が作成し、いつどれくらいの頻度で更新されるのか等の情報が誰で
    も確認できる
    → NotionのDatabaseを採用 (APIで毎日自動生成される仕組みに
    )

    View Slide

  11. 課題
    Rawデータはそのまま使えない
    データがどこにあるかわからない
    ※課題は他にもたくさんありますが、重要な二つに絞って紹介しています

    View Slide

  12. Rawデータはそのまま使えない
    BigQueryに入ってきたRawデータはjson形式であり、そのまま使うにはさまざまな弊害が生じる
    ● 膨大なクエリ容量
    ● 複雑なSQLが必要
    ● 不透明な定義のため抽出ユーザーによりデータが異なる
    ※上図は簡潔に記載しており、詳細を割愛しています
    API
    Firebase Extensions
    iOS/Androidアプリ

    View Slide

  13. Rawデータはそのまま使えない
    BigQueryに入ってきたRawデータはjson形式であり、そのまま使うにはさまざまな弊害が生じる
    例)
    ライド(乗車)中のデータは、一定間隔で位置情報が更新され続けるので、
    1レコードずつデータが追加されていく
    ※課題は他にもたくさんありますが、重要な二つに絞って紹介しています
    ...,
    "routePoints":[{"location":{"_latitude":
    xxxx,"_longitude":xxxx},"timeStamp":
    {"_seconds":xxxx,"_nanoseconds":x
    xxx}},...], ...
    ...,
    "routePoints":[{"location":{"_latitude":
    xxxx,"_longitude":xxxx},"timeStamp":
    {"_seconds":xxxx,"_nanoseconds":x
    xxx}},...], ...

    View Slide

  14. Rawデータはそのまま使えない
    ※課題は他にもたくさんありますが、重要な二つに絞って紹介しています
    1. ワークフローツール(Cloud Composer)の導入
    → 安定したデータ処理環境を構築
    2. 定義毎にデータ処理層を用意
    → クエリ容量の削減、データの整合性担保
    3. 各種Datamartテーブルを用意
    → 容易なSQLでデータ取得が可能

    View Slide

  15. 結果
    ● ダッシュボード毎にデータが異なるといったデータ不整合を防げるようになった。
    ● 一日に使用するクエリ容量が約半分までに減少した。
    ● 容易なSQLでデータが抽出できるようになった。
    ● どういうデータが存在するのか誰でも気軽に確認できるようになった。
    構築完了したのが直近のため、結果はこれからさらにでてくると想定

    View Slide

  16. 今後実施したいこと
    攻め=データの可用性を上げ、データが創出しうる価値を最大化する
    “攻め”の課題(一例)
    ● Map Visualizationの拡充
    ● IoTデバイスのログ取得拡充と整備
    ● 会社全体のデータリテラシーの向上
    etc
    API
    Firebase Extensions
    iOS/Androidアプリ

    View Slide

  17. まとめ
    さまざまなツールを検証・導入し、最適なデータフローを考え実装した、
    データの”守り”(=データの信頼性を上げ、正しく一貫したデータに誰もが
    アクセスできるようにする)を徹底した年

    View Slide

  18. 最後に
    Luup Developers Blogにてアドベントカレンダー実施中!
    データカタログにNotionを選択した理由についても掲載中!
    Luupでのデータ基盤構築、データ活用に少しでもご興味がある
    方、ご連絡お待ちしております。
    Luup採用情報

    View Slide