Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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}},...], ...

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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