SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Mobility Technologies Co., Ltd.
Data Engineering Study #2
データ収集の基本と
「JapanTaxi」アプリにおける実践例
株式会社 Mobility Technologies
渡部 徹太郎
2020/8/19
Mobility Technologies Co., Ltd.
自己紹介
2
ID :fetaro
名前:渡部 徹太郎
学生:東京工業大学でデータベースと情報検索の研究
(@日本データベース学会)
職歴:
* 野村総合研究所(NRI)
- オンライントレードシステム基盤
- オープンソース技術部隊
* リクルートテクノロジーズ
- ビッグデータ分析基盤
* MobilityTechnologies
- データエンジニア
エディタ:emacs派→ InteliJ派
日本AWSユーザ会(JAWS)
ビッグデータ支部長
やってました
著書
Mobility Technologies Co., Ltd.
confidential
3
データソースの種類と取得方法
Agenda
「JapanTaxi」アプリにおける実践例
データ収集における注意点
データ分析システムの全体とデータ収集の役割
70%
10%
15%
5%
Mobility Technologies Co., Ltd.
データ分析システムの全体と
データ収集の役割01
4
Mobility Technologies Co., Ltd.
分析システム全体像
5
分析システム事業システム
データ
レイク データ
ウェア
ハウス
アドホック
分析
データ
マート
データ
可視化
一次
加工 マート
生成
データ
収集
データ
生成
メタデータ管理
データ
アプリ
ケーション
利
益
向
上
意
思
決
定
収集生成 蓄積 活用
データ
ソース
構造化
データ
非構造化
データ
構造化
データ
Mobility Technologies Co., Ltd.
分析システムにおけるデータ収集
6
分析システム事業システム
データ
レイク データ
ウェア
ハウス
アドホック
分析
データ
マート
データ
可視化
一次
加工 マート
生成
データ
収集
データ
生成
メタデータ管理
データ
アプリ
ケーション
利
益
向
上
意
思
決
定
収集生成 蓄積 活用
データ
ソース
構造化
データ
非構造化
データ
構造化
データ
データ収集で考える範囲
Mobility Technologies Co., Ltd.
データソースの種類と
取得方法02
7
Mobility Technologies Co., Ltd.
データソースの種類と収集方法
8
頻度 データソース Webサイトのデータ例 収集方式
1/week 〜
1/month
スプレッドシート コードマスタ 手動アップロード
10/min〜
1/day
オブジェクトスト
レージ
社内の他システムのデータ ファイル収集
Web画面 APIを公開していないWebサイ
ト
スクレイピング
1/min〜
1/h
API クラウドCRMのAPI
気象オープンデータ
API呼び出し
10/sec 〜
1/day
DB ユーザマスタ
商品マスタ
購入トランザクション
DBから
の収集
SQL方式
エクスポート方式
DBダンプ方式
更新ログ方式
更新ログ方式 CDC
100/sec 〜
10000/sec
ログファイル Web画面遷移、検索、購入 エージェントを利用した収集
端末イベント Web画面遷移、クリック、ス
クロール、マウス軌跡。
分散キューを利用した収集
→割愛
→割愛
Mobility Technologies Co., Ltd.
ファイル収集 (1/2)
9
分析システム事業システム
データ
配置処理
データ
キュー
2.配置完了通
知
1.配置
3.通知受領
4.データ収集
オブジェクトストレージ
収集処理収集処理収集処理
5.蓄積
データレイク
or
データ
ウェエアハウス
Mobility Technologies Co., Ltd.
ファイルフォーマットの種類
ファイル収集 (2/2)
10
フォーマット
名
説明 利用ケース
CSV, TSV ・構造化データを表現できる
・テキストフォーマット
構造化データで可読性重視の場合
JSON ・半構造化データを表現できる
・テキストフォーマット
・キー名もデータに含まれるため、データ量が多くなりが
ち
半構造化データで可読性重視の場合
AVRO ・型に厳格なJSONみたいなもの
・バイナリデータ
・事前に型定義を受取システム間で共有し、バイナリデー
タを型定義によってシリアライズ・デシリアライズする
半構造化データで型に厳格にしたい場合。
JSONよりもデータ量を小さくしたい場合。
Parquet, OCR ・カラムナフォーマット(※)
・バイナリデータ
・列指向圧縮によりデータ量の削減ができる
・対応するデータウェアハウスで扱えば、データの読み飛
ばしによるIOの削減の恩恵を受けられる
データ容量の削減優先や、データウェア
ハウスにロードさせる事が前提の場合
カラムナフォーマットについては https://engineer.retty.me/entry/columnar-storage-format
Mobility Technologies Co., Ltd.
API呼び出し
11
収集処理 3. 格納
API
分析システム
1. HTTP GET
(トークン付き)
2. JSON
データレイク
or
データ
ウェエアハウス
 注意点
 多くの場合APIコール回数制限がある
Mobility Technologies Co., Ltd.
 メリット
 実装が簡単
 取得対象のデータを SQLで絞り込みや加工ができる
 デメリット
 事業システムDBに高い負荷を与える
 事業システムのデータベースキャッシュは、オンラインのワークロードに最適化されているが、データ収集のSELECT文が
キャッシュを流してしまう。
 長時間トランザクションになりがち
 リードレプリカから収集すれば軽減できる
DBからの収集 SQL方式(1/2)
12
分析システム事業システム
1.SELECT文
収集処理
2.カーソル返却
4.データ
3.フェッチ
5.一時格納
一時
ファイル
6. 格納
3〜6を繰り返す
事業システムDB
テーブル
データ
ウェエアハウス
Mobility Technologies Co., Ltd.
 巨大なテーブルからの収集を並列化する場合
DBからの収集 SQL方式(2/2)
13
分析システム
収集ワーカー
事業システム
収集ワーカー
収集ワーカー
テーブル
WHERE id <= 10000
WHERE 10001 <= id AND id < 20000
WHERE 20001 <= id
データ
~ 10000
データ
10001~20000
データ
20001~
 ポイント
 テーブルを分割するキーの設計が必要
 分割キーのインデックスの状態によっては、where句で絞り込むオーバーヘッドが大きすぎ、並列化
するとかえって遅くなるケースが有る
 製品
 Apache sqoop
事業システムDB
Mobility Technologies Co., Ltd.
DBからの収集 エクスポート方式
分析システム事業システム
テーブル
CSV 収集
 メリット
 SQLよりも事業システムDBに対する負荷は小さい。
 エクスポート時に絞り込みや加工ができる物が多い。
 デメリット
 次に説明する「DBダンプファイル」よりもデータ量が多く、DBに対する負荷も大きい
事業システムDB
エクスポート
データ
ウェエアハウス
14
Mobility Technologies Co., Ltd.
DBからの収集 DBダンプ方式
15
分析システム事業システム
SELECT
復元
事業システムDB
テーブル
ダンプ
復元用DB
テーブル 収集
 メリット
 事業システムDBへの負荷が少ない
 多くのシステムでは、事業システムDBの日次バックアップをとっているため、それをもらうだけでよ
く、新たに開発しなくてよいケースが有る
 デメリット
 復元用DBは、事業システムDBと同種のDBを用意する必要がある。
 収集時に絞り込みや加工ができない
データ
ウェエアハウス
15
Mobility Technologies Co., Ltd.
DBからの収集 更新ログ方式
16
 概要
 事業システムのDBの更新ログ(MySQLのbinlog等)を随時収集し、復元用DBに適用し復元する。
 メリット
 事業システムDBに対する負荷が小さい
 DBダンプはデータ全量だが、更新ログは差分のみとなるため、データ量が少なく高速。
 DBダンプよりもデータの鮮度を高めることが可能
 デメリット
 構築が難しい
分析システム事業システム
ログ
収集
・
適用
事業システムDB
テーブル
更新
ログ
復元用DB
=リードレプリカ
テーブル 収集
準同期レプリケーショ
ンと同じ仕組み
データ
ウェエアハウス
Mobility Technologies Co., Ltd.
分析システム
収集ワーカ
DBからの収集 更新ログ方式 CDC
17
 概要
 更新ログを収集ワーカで解釈し、データウェアハウスに直接反映する。CDC( Change Data Capture)とも呼ばれる
 メリット
 復元用DBが必要ない
 データレイクorデータウェアハウスにほぼリアルタイムにデータが届くため、データ鮮度が高い
 デメリット
 自前で作るのは難しく、製品利用が前提
 trocco, AWS DMS(Database Migration Service), Attunity, Oracle GoldenGate,
 一般的にデータウェエアハウス製品はUPDATEやDELETEが遅いため、
事業システムDBの更新に頻繁に更新が入ると、収集が間に合わない可能性がある。
 そのため、直接ターゲットテーブルをUPDATE/DELETEするのではなく、一時テーブルに既存データと変更データを入れて処
理する方法が取られる場合がある。
参考:https://trocco.zendesk.com/hc/ja/articles/360046472233-MySQL-to-BigQuery-転送-CDC-
事業システム
ログ
収集
事業システムDB
テーブル
更新
ログ 解釈 格納
データ
ウェエアハウス
Mobility Technologies Co., Ltd.
事業システム
アプリサーバ or コンテナ
 ポイント
 収集エージェントで取れる形(例えばJSON形式)に変換して貰う必要がある
 事業システムへの働きかけが必要
 急に流量が増えた場合に収集エージェント・収集マネージャのキャパシティを超えることがある
 製品
 fluentd, Logstash, AWS CloudWatch Logs
エージェントを利用した収集
18
18
分析システム
データレイク
データ
アプリ
ログ
収集
マネージャ
収集
エージェント
アプリケーション
tail -f バッファ
Mobility Technologies Co., Ltd.
ブラウザ
スマホアプリ
IoTデバイス
事業システム
 ポイント
 端末で発生したイベントを分散キューに溜め込み、非同期でデータレイクに取り込む
 メリット
 分散キューに十分な容量を割り当てておけば、急に流量が増えてもイベントを消失しない
 デメリット
 分散キューそのものが難しい
分散キューを利用した収集 (1/3)
19
分析システム
ワーカー
データレイク分散キュー
受信API
javascript
SDK
送信
プログラム
プロデューサー コンシューマー
受信API
ワーカー
Mobility Technologies Co., Ltd.
 難しい分散キューの特性
 順序性保証レベル
 レベルが低いと、キューに投入された順序でコンシューマーが取り出せるとは限
らない
 信頼性レベル
 レベルが低いと、データは1回以上コンシューマーが受信することがある
 可視性タイムアウト
 コンシューマーが処理している間、他のコンシューマーには見せないようにする
時間
 タイムアウトが処理時間に対して短いと、同じデータを2度処理することになる
 デッドレター
 どのコンシューマーが処理しても必ず失敗するデータ
 データの生成速度
 メッセージの生成速度がコンシューマーの消費速度よりも早い場合、キューが溢
れてしまう
分散キューを利用した収集(2/3)
20
コンシューマー
を冪等に作る
退避するキューを作る
「デッドレターキュー」
BackPressureにより
生成速度を抑止する
対策å
分散キューは難しいので、利用しないで済むならそれがよい
Mobility Technologies Co., Ltd.
分散キューを利用した収集(3/3)
21
オープンソース AWS
マネージドサービス
GCP
マネージドサービス
プロデューサー 自前プログラム
分散キュー Kafka Kinesis Data Streams Cloud Pub/Sub
コンシュー
マー
そのまま格納 自前プログラム Lambda、
Kinesis Data Firehose
Cloud Function
加工して格納
(ウインドウ集計
等)
Spark Streamings、
Flink
Kinesis Data Analytics Cloud Dataflow
実現する製品
Mobility Technologies Co., Ltd.
「JapanTaxi」アプリにおける
実践例03
22
Mobility Technologies Co., Ltd.
Mobility Technologiesとは
23
配車関連事業
広告決済事業 乗務員向けソリューション事業
DRIVE CHART・ドラレコ事業 次世代向けR&D事業
Mobility Technologies Co., Ltd.
「JapanTaxi」アプリのデータ収集
24
BigQuery
生
データ
アプリ
DB
アプリ
SQLによる収集
コンシューマー
Lambda
GPSや
センサー
整形済み
データ
SQL
分散キュー
Kinesis
DataStream
事業システム
アプリログ
分析システム
Open Street Map
外部システム
広告媒体
fluentd
App Store
Google Play
データレイク層
データウェア
ハウス層
ログ
Google Ads
APIによる収集
APIによる収集
自前python
API
アプリ
データ
地図
広告
効果等
ダウンロード数
等
ダウンロード数等 広告効果等
Firebase アプリイベント
・重複削除
・名寄せ
・個人情報除去
etc
タクシー
ユーザ
Mobility Technologies Co., Ltd.
「JapanTaxi」アプリのデータ活用
25
BigQuery
整形済み
データ
KPI
集計SQL
分析システム
BIツール
(Looker)
データアプリケーション
(お迎え時間予想)機械学習用
データ
アドホック分析
(BigQuery UI)
メタデータ管理
(BigQuery description + 自前ツール(※))
SQL
データウェア
ハウス層
データマート層
意思決定
利益向上¥
https://github.com/JapanTaxi/bqdesc_backupper(※)
Mobility Technologies Co., Ltd.
データ収集における注意点04
26
Mobility Technologies Co., Ltd.
 どんな問題?
 ETL製品が多すぎる
 クラウド:AWS Glue, GCP Dataflow, GCP Datafusion
 マネージドサービス:trocco, Alooma
 OSS:embulk, fluentd, logstash, Apache Nifi, sqoop, Pentaho,
 商用製品: Talend, Infomatica, Data Spider, Oracle GoldenGate
 解決策
 ETL製品を選ぶときの選定基準
 入出力プラグインの数は関係ない。プラグインの機能を重視する。
 並列SQLによる収集はできるのか?CDCできるのか?等
 プログラマ向けでカスタマイズ可能な物を選ぶ
 非プログラマ向けのGUIで操作できるものがあるが、多くの場合典型的なデータ収集にしか対応できない。
 デバッグできること(できればソースコードレベルで)
 データ収集の障害は、データの中身がどう処理されているかわからないと解決できないものが多い
 例: nullの扱い null or ”null” or ””
 合うものがなければ自作
 データ収集は業務そのものなので会社によって多種多様。製品でカバーできないケースも多い
ETL製品との付き合い方
27
ETL実行環境
E
T
L
S3
MySQL
S3
コネクタ
MySQL
コネクタ
BigQuery
コネクタ BigQuery
Mobility Technologies Co., Ltd.
 どんな問題?
 長期間運用するとデータソースである事業システム側の変更により収集が失敗する事が起こる
 仕様変更(列の追加、変更、削除)、障害、計画停止
 解決策
 事業システムの変更を事前に得られる状態にする
 →しかし事業システムのほうが優先されることが多く、分析システムは後回しにされるケースが
多い
 どうする?
 案1: 上から落とす
 トップダウンで、事業システムの変更連絡を徹底させる
• 分析システムが会社に貢献(利益向上、意思決定支援)し、民意を得ていることが必須
 →うまく出来ている企業は少ない
 案2 :事業システムの変更を機械的に知る
 事業システム変更のトリガを機械的にフックする(gitのpull requestなど)
データソースの変更対応
28
Mobility Technologies Co., Ltd.
どんな問題?
 データ収集チームが、新規要望や障害対応に日々追われて疲弊している。
対応策
 事業へのインパクトを理解し、データ収集に優先順位をつけ対応する
 ECサイトの例
 高:止まると利益が低下するデータ・アプリケーション
 商品レコメンド精度に大きく関わるデータ
 中:止まると意思決定が大きく遅くなるレポート
 KPIモニタリングのための購入データ収集
 低:止まっても影響が小さいもの
 アドホック分析のみで用いるデータ
 目的のわからないデータ収集はやめる
 「企業内のデータを一箇所に」や「データレイクにとりあえず貯める」という曖昧な理由でデー
タを収集してはならない
データ収集の優先度を常に考える
29
「データ収集チーム」が出来てきた時点で要注意。縦割りが始まっている
文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。
Mobility Technologies Co., Ltd.
30
仲間募集中!

Weitere ähnliche Inhalte

Was ist angesagt?

AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAmazon Web Services Japan
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けRecruit Technologies
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
 
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
AWSで作る分析基盤
AWSで作る分析基盤AWSで作る分析基盤
AWSで作る分析基盤Yu Otsubo
 
データ分析基盤を支えるエンジニアリング
データ分析基盤を支えるエンジニアリングデータ分析基盤を支えるエンジニアリング
データ分析基盤を支えるエンジニアリングRecruit Lifestyle Co., Ltd.
 
事業のグロースを支えるDataOpsの現場 #DataOps #DevSumi #デブサミ
事業のグロースを支えるDataOpsの現場 #DataOps #DevSumi #デブサミ事業のグロースを支えるDataOpsの現場 #DataOps #DevSumi #デブサミ
事業のグロースを支えるDataOpsの現場 #DataOps #DevSumi #デブサミ@yuzutas0 Yokoyama
 
Glue DataBrewでデータをクリーニング、加工してみよう
Glue DataBrewでデータをクリーニング、加工してみようGlue DataBrewでデータをクリーニング、加工してみよう
Glue DataBrewでデータをクリーニング、加工してみようtakeshi suto
 
グラフデータベース入門
グラフデータベース入門グラフデータベース入門
グラフデータベース入門Masaya Dake
 
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返りSotaro Kimura
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!Tetsutaro Watanabe
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタSatoyuki Tsukano
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRecruit Technologies
 
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版) データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版) Satoshi Nagayasu
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAkihiro Kuwano
 
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)NTT DATA Technology & Innovation
 
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017Yusuke Suzuki
 
異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j昌桓 李
 

Was ist angesagt? (20)

AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
AWSで作る分析基盤
AWSで作る分析基盤AWSで作る分析基盤
AWSで作る分析基盤
 
データ分析基盤を支えるエンジニアリング
データ分析基盤を支えるエンジニアリングデータ分析基盤を支えるエンジニアリング
データ分析基盤を支えるエンジニアリング
 
事業のグロースを支えるDataOpsの現場 #DataOps #DevSumi #デブサミ
事業のグロースを支えるDataOpsの現場 #DataOps #DevSumi #デブサミ事業のグロースを支えるDataOpsの現場 #DataOps #DevSumi #デブサミ
事業のグロースを支えるDataOpsの現場 #DataOps #DevSumi #デブサミ
 
Glue DataBrewでデータをクリーニング、加工してみよう
Glue DataBrewでデータをクリーニング、加工してみようGlue DataBrewでデータをクリーニング、加工してみよう
Glue DataBrewでデータをクリーニング、加工してみよう
 
グラフデータベース入門
グラフデータベース入門グラフデータベース入門
グラフデータベース入門
 
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
 
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
 
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版) データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
 
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
 
異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j
 

Ähnlich wie データ収集の基本と「JapanTaxi」アプリにおける実践例

しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2オラクルエンジニア通信
 
[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data Platform[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data PlatformNaoki (Neo) SATO
 
Treasure Data Intro for Data Enthusiast!!
Treasure Data Intro for Data Enthusiast!!Treasure Data Intro for Data Enthusiast!!
Treasure Data Intro for Data Enthusiast!!Takahiro Inoue
 
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム
Tetsutaro Watanabe
 
Big data解析ビジネス
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネスMie Mori
 
[C32] 正確でスピーディーな決断を促す、日立の高速データアクセス基盤~性能検証事例と活用効果~ by Taichi Ishikawa
[C32] 正確でスピーディーな決断を促す、日立の高速データアクセス基盤~性能検証事例と活用効果~ by Taichi Ishikawa[C32] 正確でスピーディーな決断を促す、日立の高速データアクセス基盤~性能検証事例と活用効果~ by Taichi Ishikawa
[C32] 正確でスピーディーな決断を促す、日立の高速データアクセス基盤~性能検証事例と活用効果~ by Taichi IshikawaInsight Technology, Inc.
 
データを事業に活かすために必要なデータ基盤とは
データを事業に活かすために必要なデータ基盤とはデータを事業に活かすために必要なデータ基盤とは
データを事業に活かすために必要なデータ基盤とはgriddb
 
[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう by PostgreS...
[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう  by PostgreS...[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう  by PostgreS...
[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう by PostgreS...Insight Technology, Inc.
 
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとはdb tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとはKoji Shinkubo
 
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みリクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みRecruit Technologies
 
Logs are better with elastic apm 20210623
Logs are better with elastic apm 20210623Logs are better with elastic apm 20210623
Logs are better with elastic apm 20210623Shotaro Suzuki
 
Data platformdesign
Data platformdesignData platformdesign
Data platformdesignRyoma Nagata
 
[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例 by 株式会社日立製作所 ...
[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例  by 株式会社日立製作所 ...[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例  by 株式会社日立製作所 ...
[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例 by 株式会社日立製作所 ...Insight Technology, Inc.
 
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...Google Cloud Platform - Japan
 
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムRecruit Technologies
 
【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (1/2)
【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (1/2)【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (1/2)
【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (1/2)日本マイクロソフト株式会社
 
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのかTechon Organization
 
リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例Tetsutaro Watanabe
 
Azure Antenna はじめての Azure Data Lake
Azure Antenna はじめての Azure Data LakeAzure Antenna はじめての Azure Data Lake
Azure Antenna はじめての Azure Data LakeHideo Takagi
 

Ähnlich wie データ収集の基本と「JapanTaxi」アプリにおける実践例 (20)

しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
 
[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data Platform[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data Platform
 
Treasure Data Intro for Data Enthusiast!!
Treasure Data Intro for Data Enthusiast!!Treasure Data Intro for Data Enthusiast!!
Treasure Data Intro for Data Enthusiast!!
 
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム

 
Big data解析ビジネス
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネス
 
[C32] 正確でスピーディーな決断を促す、日立の高速データアクセス基盤~性能検証事例と活用効果~ by Taichi Ishikawa
[C32] 正確でスピーディーな決断を促す、日立の高速データアクセス基盤~性能検証事例と活用効果~ by Taichi Ishikawa[C32] 正確でスピーディーな決断を促す、日立の高速データアクセス基盤~性能検証事例と活用効果~ by Taichi Ishikawa
[C32] 正確でスピーディーな決断を促す、日立の高速データアクセス基盤~性能検証事例と活用効果~ by Taichi Ishikawa
 
データを事業に活かすために必要なデータ基盤とは
データを事業に活かすために必要なデータ基盤とはデータを事業に活かすために必要なデータ基盤とは
データを事業に活かすために必要なデータ基盤とは
 
[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう by PostgreS...
[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう  by PostgreS...[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう  by PostgreS...
[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう by PostgreS...
 
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとはdb tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
 
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みリクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
 
Logs are better with elastic apm 20210623
Logs are better with elastic apm 20210623Logs are better with elastic apm 20210623
Logs are better with elastic apm 20210623
 
Data platformdesign
Data platformdesignData platformdesign
Data platformdesign
 
[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例 by 株式会社日立製作所 ...
[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例  by 株式会社日立製作所 ...[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例  by 株式会社日立製作所 ...
[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例 by 株式会社日立製作所 ...
 
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...
 
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 
【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (1/2)
【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (1/2)【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (1/2)
【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (1/2)
 
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか
 
リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例
 
Azure Antenna はじめての Azure Data Lake
Azure Antenna はじめての Azure Data LakeAzure Antenna はじめての Azure Data Lake
Azure Antenna はじめての Azure Data Lake
 

Mehr von Tetsutaro Watanabe

データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎Tetsutaro Watanabe
 
ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出Tetsutaro Watanabe
 
IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点Tetsutaro Watanabe
 
ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出Tetsutaro Watanabe
 
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際Tetsutaro Watanabe
 
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめTetsutaro Watanabe
 
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたタクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたTetsutaro Watanabe
 
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用Tetsutaro Watanabe
 
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜Tetsutaro Watanabe
 
Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連Tetsutaro Watanabe
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - Tetsutaro Watanabe
 
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法Tetsutaro Watanabe
 
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けTetsutaro Watanabe
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法Tetsutaro Watanabe
 
MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!Tetsutaro Watanabe
 
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介がっつりMongoDB事例紹介
がっつりMongoDB事例紹介Tetsutaro Watanabe
 

Mehr von Tetsutaro Watanabe (20)

データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎
 
MLOpsはバズワード
MLOpsはバズワードMLOpsはバズワード
MLOpsはバズワード
 
ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出
 
IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点
 
ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出
 
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際
 
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
 
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたタクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
 
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
 
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
 
Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連
 
WiredTigerを詳しく説明
WiredTigerを詳しく説明WiredTigerを詳しく説明
WiredTigerを詳しく説明
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
 
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
 
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分け
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
 
MongoDB3.2の紹介
MongoDB3.2の紹介MongoDB3.2の紹介
MongoDB3.2の紹介
 
MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!
 
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
 
MongoDBの監視
MongoDBの監視MongoDBの監視
MongoDBの監視
 

Kürzlich hochgeladen

20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 

Kürzlich hochgeladen (8)

20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 

データ収集の基本と「JapanTaxi」アプリにおける実践例

  • 1. Mobility Technologies Co., Ltd. Data Engineering Study #2 データ収集の基本と 「JapanTaxi」アプリにおける実践例 株式会社 Mobility Technologies 渡部 徹太郎 2020/8/19
  • 2. Mobility Technologies Co., Ltd. 自己紹介 2 ID :fetaro 名前:渡部 徹太郎 学生:東京工業大学でデータベースと情報検索の研究 (@日本データベース学会) 職歴: * 野村総合研究所(NRI) - オンライントレードシステム基盤 - オープンソース技術部隊 * リクルートテクノロジーズ - ビッグデータ分析基盤 * MobilityTechnologies - データエンジニア エディタ:emacs派→ InteliJ派 日本AWSユーザ会(JAWS) ビッグデータ支部長 やってました 著書
  • 3. Mobility Technologies Co., Ltd. confidential 3 データソースの種類と取得方法 Agenda 「JapanTaxi」アプリにおける実践例 データ収集における注意点 データ分析システムの全体とデータ収集の役割 70% 10% 15% 5%
  • 4. Mobility Technologies Co., Ltd. データ分析システムの全体と データ収集の役割01 4
  • 5. Mobility Technologies Co., Ltd. 分析システム全体像 5 分析システム事業システム データ レイク データ ウェア ハウス アドホック 分析 データ マート データ 可視化 一次 加工 マート 生成 データ 収集 データ 生成 メタデータ管理 データ アプリ ケーション 利 益 向 上 意 思 決 定 収集生成 蓄積 活用 データ ソース 構造化 データ 非構造化 データ 構造化 データ
  • 6. Mobility Technologies Co., Ltd. 分析システムにおけるデータ収集 6 分析システム事業システム データ レイク データ ウェア ハウス アドホック 分析 データ マート データ 可視化 一次 加工 マート 生成 データ 収集 データ 生成 メタデータ管理 データ アプリ ケーション 利 益 向 上 意 思 決 定 収集生成 蓄積 活用 データ ソース 構造化 データ 非構造化 データ 構造化 データ データ収集で考える範囲
  • 7. Mobility Technologies Co., Ltd. データソースの種類と 取得方法02 7
  • 8. Mobility Technologies Co., Ltd. データソースの種類と収集方法 8 頻度 データソース Webサイトのデータ例 収集方式 1/week 〜 1/month スプレッドシート コードマスタ 手動アップロード 10/min〜 1/day オブジェクトスト レージ 社内の他システムのデータ ファイル収集 Web画面 APIを公開していないWebサイ ト スクレイピング 1/min〜 1/h API クラウドCRMのAPI 気象オープンデータ API呼び出し 10/sec 〜 1/day DB ユーザマスタ 商品マスタ 購入トランザクション DBから の収集 SQL方式 エクスポート方式 DBダンプ方式 更新ログ方式 更新ログ方式 CDC 100/sec 〜 10000/sec ログファイル Web画面遷移、検索、購入 エージェントを利用した収集 端末イベント Web画面遷移、クリック、ス クロール、マウス軌跡。 分散キューを利用した収集 →割愛 →割愛
  • 9. Mobility Technologies Co., Ltd. ファイル収集 (1/2) 9 分析システム事業システム データ 配置処理 データ キュー 2.配置完了通 知 1.配置 3.通知受領 4.データ収集 オブジェクトストレージ 収集処理収集処理収集処理 5.蓄積 データレイク or データ ウェエアハウス
  • 10. Mobility Technologies Co., Ltd. ファイルフォーマットの種類 ファイル収集 (2/2) 10 フォーマット 名 説明 利用ケース CSV, TSV ・構造化データを表現できる ・テキストフォーマット 構造化データで可読性重視の場合 JSON ・半構造化データを表現できる ・テキストフォーマット ・キー名もデータに含まれるため、データ量が多くなりが ち 半構造化データで可読性重視の場合 AVRO ・型に厳格なJSONみたいなもの ・バイナリデータ ・事前に型定義を受取システム間で共有し、バイナリデー タを型定義によってシリアライズ・デシリアライズする 半構造化データで型に厳格にしたい場合。 JSONよりもデータ量を小さくしたい場合。 Parquet, OCR ・カラムナフォーマット(※) ・バイナリデータ ・列指向圧縮によりデータ量の削減ができる ・対応するデータウェアハウスで扱えば、データの読み飛 ばしによるIOの削減の恩恵を受けられる データ容量の削減優先や、データウェア ハウスにロードさせる事が前提の場合 カラムナフォーマットについては https://engineer.retty.me/entry/columnar-storage-format
  • 11. Mobility Technologies Co., Ltd. API呼び出し 11 収集処理 3. 格納 API 分析システム 1. HTTP GET (トークン付き) 2. JSON データレイク or データ ウェエアハウス  注意点  多くの場合APIコール回数制限がある
  • 12. Mobility Technologies Co., Ltd.  メリット  実装が簡単  取得対象のデータを SQLで絞り込みや加工ができる  デメリット  事業システムDBに高い負荷を与える  事業システムのデータベースキャッシュは、オンラインのワークロードに最適化されているが、データ収集のSELECT文が キャッシュを流してしまう。  長時間トランザクションになりがち  リードレプリカから収集すれば軽減できる DBからの収集 SQL方式(1/2) 12 分析システム事業システム 1.SELECT文 収集処理 2.カーソル返却 4.データ 3.フェッチ 5.一時格納 一時 ファイル 6. 格納 3〜6を繰り返す 事業システムDB テーブル データ ウェエアハウス
  • 13. Mobility Technologies Co., Ltd.  巨大なテーブルからの収集を並列化する場合 DBからの収集 SQL方式(2/2) 13 分析システム 収集ワーカー 事業システム 収集ワーカー 収集ワーカー テーブル WHERE id <= 10000 WHERE 10001 <= id AND id < 20000 WHERE 20001 <= id データ ~ 10000 データ 10001~20000 データ 20001~  ポイント  テーブルを分割するキーの設計が必要  分割キーのインデックスの状態によっては、where句で絞り込むオーバーヘッドが大きすぎ、並列化 するとかえって遅くなるケースが有る  製品  Apache sqoop 事業システムDB
  • 14. Mobility Technologies Co., Ltd. DBからの収集 エクスポート方式 分析システム事業システム テーブル CSV 収集  メリット  SQLよりも事業システムDBに対する負荷は小さい。  エクスポート時に絞り込みや加工ができる物が多い。  デメリット  次に説明する「DBダンプファイル」よりもデータ量が多く、DBに対する負荷も大きい 事業システムDB エクスポート データ ウェエアハウス 14
  • 15. Mobility Technologies Co., Ltd. DBからの収集 DBダンプ方式 15 分析システム事業システム SELECT 復元 事業システムDB テーブル ダンプ 復元用DB テーブル 収集  メリット  事業システムDBへの負荷が少ない  多くのシステムでは、事業システムDBの日次バックアップをとっているため、それをもらうだけでよ く、新たに開発しなくてよいケースが有る  デメリット  復元用DBは、事業システムDBと同種のDBを用意する必要がある。  収集時に絞り込みや加工ができない データ ウェエアハウス 15
  • 16. Mobility Technologies Co., Ltd. DBからの収集 更新ログ方式 16  概要  事業システムのDBの更新ログ(MySQLのbinlog等)を随時収集し、復元用DBに適用し復元する。  メリット  事業システムDBに対する負荷が小さい  DBダンプはデータ全量だが、更新ログは差分のみとなるため、データ量が少なく高速。  DBダンプよりもデータの鮮度を高めることが可能  デメリット  構築が難しい 分析システム事業システム ログ 収集 ・ 適用 事業システムDB テーブル 更新 ログ 復元用DB =リードレプリカ テーブル 収集 準同期レプリケーショ ンと同じ仕組み データ ウェエアハウス
  • 17. Mobility Technologies Co., Ltd. 分析システム 収集ワーカ DBからの収集 更新ログ方式 CDC 17  概要  更新ログを収集ワーカで解釈し、データウェアハウスに直接反映する。CDC( Change Data Capture)とも呼ばれる  メリット  復元用DBが必要ない  データレイクorデータウェアハウスにほぼリアルタイムにデータが届くため、データ鮮度が高い  デメリット  自前で作るのは難しく、製品利用が前提  trocco, AWS DMS(Database Migration Service), Attunity, Oracle GoldenGate,  一般的にデータウェエアハウス製品はUPDATEやDELETEが遅いため、 事業システムDBの更新に頻繁に更新が入ると、収集が間に合わない可能性がある。  そのため、直接ターゲットテーブルをUPDATE/DELETEするのではなく、一時テーブルに既存データと変更データを入れて処 理する方法が取られる場合がある。 参考:https://trocco.zendesk.com/hc/ja/articles/360046472233-MySQL-to-BigQuery-転送-CDC- 事業システム ログ 収集 事業システムDB テーブル 更新 ログ 解釈 格納 データ ウェエアハウス
  • 18. Mobility Technologies Co., Ltd. 事業システム アプリサーバ or コンテナ  ポイント  収集エージェントで取れる形(例えばJSON形式)に変換して貰う必要がある  事業システムへの働きかけが必要  急に流量が増えた場合に収集エージェント・収集マネージャのキャパシティを超えることがある  製品  fluentd, Logstash, AWS CloudWatch Logs エージェントを利用した収集 18 18 分析システム データレイク データ アプリ ログ 収集 マネージャ 収集 エージェント アプリケーション tail -f バッファ
  • 19. Mobility Technologies Co., Ltd. ブラウザ スマホアプリ IoTデバイス 事業システム  ポイント  端末で発生したイベントを分散キューに溜め込み、非同期でデータレイクに取り込む  メリット  分散キューに十分な容量を割り当てておけば、急に流量が増えてもイベントを消失しない  デメリット  分散キューそのものが難しい 分散キューを利用した収集 (1/3) 19 分析システム ワーカー データレイク分散キュー 受信API javascript SDK 送信 プログラム プロデューサー コンシューマー 受信API ワーカー
  • 20. Mobility Technologies Co., Ltd.  難しい分散キューの特性  順序性保証レベル  レベルが低いと、キューに投入された順序でコンシューマーが取り出せるとは限 らない  信頼性レベル  レベルが低いと、データは1回以上コンシューマーが受信することがある  可視性タイムアウト  コンシューマーが処理している間、他のコンシューマーには見せないようにする 時間  タイムアウトが処理時間に対して短いと、同じデータを2度処理することになる  デッドレター  どのコンシューマーが処理しても必ず失敗するデータ  データの生成速度  メッセージの生成速度がコンシューマーの消費速度よりも早い場合、キューが溢 れてしまう 分散キューを利用した収集(2/3) 20 コンシューマー を冪等に作る 退避するキューを作る 「デッドレターキュー」 BackPressureにより 生成速度を抑止する 対策å 分散キューは難しいので、利用しないで済むならそれがよい
  • 21. Mobility Technologies Co., Ltd. 分散キューを利用した収集(3/3) 21 オープンソース AWS マネージドサービス GCP マネージドサービス プロデューサー 自前プログラム 分散キュー Kafka Kinesis Data Streams Cloud Pub/Sub コンシュー マー そのまま格納 自前プログラム Lambda、 Kinesis Data Firehose Cloud Function 加工して格納 (ウインドウ集計 等) Spark Streamings、 Flink Kinesis Data Analytics Cloud Dataflow 実現する製品
  • 22. Mobility Technologies Co., Ltd. 「JapanTaxi」アプリにおける 実践例03 22
  • 23. Mobility Technologies Co., Ltd. Mobility Technologiesとは 23 配車関連事業 広告決済事業 乗務員向けソリューション事業 DRIVE CHART・ドラレコ事業 次世代向けR&D事業
  • 24. Mobility Technologies Co., Ltd. 「JapanTaxi」アプリのデータ収集 24 BigQuery 生 データ アプリ DB アプリ SQLによる収集 コンシューマー Lambda GPSや センサー 整形済み データ SQL 分散キュー Kinesis DataStream 事業システム アプリログ 分析システム Open Street Map 外部システム 広告媒体 fluentd App Store Google Play データレイク層 データウェア ハウス層 ログ Google Ads APIによる収集 APIによる収集 自前python API アプリ データ 地図 広告 効果等 ダウンロード数 等 ダウンロード数等 広告効果等 Firebase アプリイベント ・重複削除 ・名寄せ ・個人情報除去 etc タクシー ユーザ
  • 25. Mobility Technologies Co., Ltd. 「JapanTaxi」アプリのデータ活用 25 BigQuery 整形済み データ KPI 集計SQL 分析システム BIツール (Looker) データアプリケーション (お迎え時間予想)機械学習用 データ アドホック分析 (BigQuery UI) メタデータ管理 (BigQuery description + 自前ツール(※)) SQL データウェア ハウス層 データマート層 意思決定 利益向上¥ https://github.com/JapanTaxi/bqdesc_backupper(※)
  • 26. Mobility Technologies Co., Ltd. データ収集における注意点04 26
  • 27. Mobility Technologies Co., Ltd.  どんな問題?  ETL製品が多すぎる  クラウド:AWS Glue, GCP Dataflow, GCP Datafusion  マネージドサービス:trocco, Alooma  OSS:embulk, fluentd, logstash, Apache Nifi, sqoop, Pentaho,  商用製品: Talend, Infomatica, Data Spider, Oracle GoldenGate  解決策  ETL製品を選ぶときの選定基準  入出力プラグインの数は関係ない。プラグインの機能を重視する。  並列SQLによる収集はできるのか?CDCできるのか?等  プログラマ向けでカスタマイズ可能な物を選ぶ  非プログラマ向けのGUIで操作できるものがあるが、多くの場合典型的なデータ収集にしか対応できない。  デバッグできること(できればソースコードレベルで)  データ収集の障害は、データの中身がどう処理されているかわからないと解決できないものが多い  例: nullの扱い null or ”null” or ””  合うものがなければ自作  データ収集は業務そのものなので会社によって多種多様。製品でカバーできないケースも多い ETL製品との付き合い方 27 ETL実行環境 E T L S3 MySQL S3 コネクタ MySQL コネクタ BigQuery コネクタ BigQuery
  • 28. Mobility Technologies Co., Ltd.  どんな問題?  長期間運用するとデータソースである事業システム側の変更により収集が失敗する事が起こる  仕様変更(列の追加、変更、削除)、障害、計画停止  解決策  事業システムの変更を事前に得られる状態にする  →しかし事業システムのほうが優先されることが多く、分析システムは後回しにされるケースが 多い  どうする?  案1: 上から落とす  トップダウンで、事業システムの変更連絡を徹底させる • 分析システムが会社に貢献(利益向上、意思決定支援)し、民意を得ていることが必須  →うまく出来ている企業は少ない  案2 :事業システムの変更を機械的に知る  事業システム変更のトリガを機械的にフックする(gitのpull requestなど) データソースの変更対応 28
  • 29. Mobility Technologies Co., Ltd. どんな問題?  データ収集チームが、新規要望や障害対応に日々追われて疲弊している。 対応策  事業へのインパクトを理解し、データ収集に優先順位をつけ対応する  ECサイトの例  高:止まると利益が低下するデータ・アプリケーション  商品レコメンド精度に大きく関わるデータ  中:止まると意思決定が大きく遅くなるレポート  KPIモニタリングのための購入データ収集  低:止まっても影響が小さいもの  アドホック分析のみで用いるデータ  目的のわからないデータ収集はやめる  「企業内のデータを一箇所に」や「データレイクにとりあえず貯める」という曖昧な理由でデー タを収集してはならない データ収集の優先度を常に考える 29 「データ収集チーム」が出来てきた時点で要注意。縦割りが始まっている

Hinweis der Redaktion

  1. ~1:00
  2. ~2:00
  3. ~3:00 60sec