SlideShare a Scribd company logo
1 of 57
データ集計基盤のいままでとこれから
〜HadoopからDataflowまで使い込んだ経験を徹底共有〜
db techshowcase 2018
Fringeneer 三ツ橋和宏
自己紹介
名前:三ツ橋和宏(ミッツ)
業務:広告システム開発を全般的に経験した後
データ処理基盤の改善を担当。
趣味:自転車(チャリ通)、ラン(最近始めました)
Qiita :https://qiita.com/kaz3284
データ集計基盤の役割
処理
Input
ログ
データ集計基盤=デー
タ処理
output 成果物データ
データ集計基盤の性質
Input ログ
ログデータの大小に関わらず同じアプリケーション。
100行、100億行のデータでも。
規模によって変わるのはインフラ〜ミドル部分。
大規模データをどれだけスムーズに処理できるか💪
データ処理で試行錯誤してきました。
色々な学びを得て、たどり着いたのが
Dataflowでした。
本日はその過程を徹底共有します!
本日の内容
・Dataflowについて
・データ処理の試行錯誤
・難題を解決へ
・新しい取り組み
Dataflowとは?
GCPのサービスで、
バッチ処理はもちろん、ストリーミング処理まで
守備範囲の広いデータ処理が可能。
パイプラインを定義して、フルマネージドで実行
パイプライン実行
Dataflowについて
GoogleのソースコードがOSSへ寄付され、
ApacheBeamプロジェクトで開発が進められてい
る。
Beamの由来はBatch-Streamから。
フルマネージドな実行環境として、
GCPのCloud Dataflowが提供されている。
Dataflowのユースケース
参照:https://cloud.google.com/dataflow/
GCPのBigQuery、DataStore、Pub/Sub...と連携できて
主にETL(Extract、Transform、Load)ツールとして使われる
手軽な使い方
ETLで手軽に使えるようテンプレートが用意されている。
下記のようなテンプレートを使うとコード書く必要なく使える。
•Pub/Sub to BigQuery
•Cloud Storage Text to Pub/Sub
•Datastore to Cloud Storage Text
•Storage Text to Datastore
•Bulk Compress Cloud Storage Files
コードはgithubで公開されていて、カスタマイズ可能。
Dataflowの強み
GCPの主要サービスと連携して、
シームレスに接続
フルマネージドな実行環境で、
負荷状況に応じて自動スケール
(CPUを上手に使ってくれる)
使った結果(サマリ)
Hadoop(MapReduce)を使っていたバッチ処理を移植
強みが生きて、長年抱えていた難題を解決。
・サーバ台数調整手間削減
・処理の安定性向上
・コスト削減
試行錯誤してきた
データ処理を振り返り
本日の内容
・Dataflowについて
・データ処理の試行錯誤
・難題を解決へ
・新しい取り組み
最初は単純にDBで処理
(〜2010頃)
最初はDB(オンプレ)で処理
Input ログ
データ処理:MySQLDB
output 成果物データ
間も無く
データ量増加に伴って、処理時間が大きくなり...
最終的には、
再集計(リカバリ)をひたすら繰り返す運用😱
つらみ
高価なサーバ使うも処理できない...
Hadoop導入
(2011頃)
Hadoopで分散処理(オンプレ)
Input ログ
output 成果物データ
データ処理:Hadoop
Hadoopについて
分散型データ処理の元祖。
GoogleのMapReduceに触発されて
開発されたオープンソース。
仕組み
足りなければ増やして解決!
つらみ
全タスク終わるまで時間かかり過ぎる...
処理待ちやり繰りのための、人的負荷増大...
1処理/クラスタ
Amazon EMR導入
(2012頃〜)
必要な時に並列処理
必要な時に必要なだけ
クラウドにクラスタを起動
必要なだけ並列化!
補足:Amazon EMRについて
ElasticMapReduce:伸縮可能MapReduce
必要なマシンリソースを指定、
任意数のクラスタを起動して、Hadoop実行
使った分だけの課金
物理制約から解放してくれた救世主😇
リソースがMapperとReducerに別れているため
使い切るのが難しい(Hadoopの性質)
つらみ
最適化のために個別パラメータの調整
(調整失敗すると途中で失敗してやり直し)
EMRのリソース調整
調整項目
• 各種ノード数
• Mapper/Reducer割合
• メモリ容量
最後に残った難題
サーバ利用効率悪く、
データ量に応じて個別のパラメータ調整
運用を楽に、より効率的な処理方法へ!
データ集計処理は、
日々集まるデータが増え、
機能追加も増え
根本的な問題解決が必要。
本日の内容
・Dataflowについて
・データ処理の試行錯誤
・難題を解決へ
・新しい取り組み
近年登場した分散処理ツールは使える?
Cloud
Dataflow
BigQuery
Amazon
Redshift
Amazon
Kinesis
分類してみる
SQLで処理できるタイプ
バッチ、ストリーム処理できるタイプ(Hadoopに近い)
BigQuery
Cloud
Dataflow
Amazon
Redshift
Amazon
Kinesis
SQLで処理できるタイプが多い。
SQL実行できるため、コード書く必要がない。
エンジニア以外でもデータ処理実行できる。
=エンジニアにとっても
手軽に開発でき、運用も楽に
Hadoop以降の分散型データ処理ツール
HadoopのMapReduceと同等の処理を
SQLで表現してみると
数100行のコード 15行のSQL文
試してみる
BigQuery
• 簡単に使い始められる
• サーバレス、フルマネージドで
PB級のデータも難なく処理
• 料金もリーズナブル
• ストレージ:$0.02/GB
• クエリ:$5/TB
すごい謎技術😇
早速、処理コストを試算してみると...
Hadoop(MapReduce)での処理と
同じ結果を出す処理(移植)を
実行するとして試算...
処理コスト:数倍...😭
コスト増の要因
MapReduce処理をSQLに移植すると
大量データに対して、
何回もクエリ発行する必要がある...
SQL処理が使えないのでなく、
使い方が間違っていた。
SQLでMapReduceは再現できない。
Hadoop(MapReduce)処理は、
データを1行づつ読み込みつつ
Map -> Reduceと進む基本的なデータ処理。
MapReduceでSQLを再現することはできるが、
SQLでMapReduceを再現するのは厳しい。
SQL
MapReduce
処理コスト増えないよう、移植するには
MapReduceとSQL処理の特性を生かして
適材適所で組み合わせて使えばいい
データをkey毎にまとめ上げる
SQLで実行
user_idをkeyにまとめ上げる(group by)
key毎のデータを読み込みながら個別処理
MapReduceで実行
user_id毎にデータを処理
taroの個別処理
hanakoの個別処理
jiroの個別処理
処理の流れと種類図に表すと
データをkey毎にまとめ上げる
key毎のデータを読み込みながら個別処理 key毎のデータを〜
key毎のデータを〜 key毎のデータを〜 key毎のデータを〜
ログ
今までの問題を解決しつつ
2つの特性を生かして組み合わせ処理
Dataflow
難題を解決できる
Dataflowの強み
GCPの主要サービスと連携して、
シームレスに接続
フルマネージドな実行環境で、
負荷状況に応じて自動スケール
具体的な構成(バッチモード)
ログ
Dataflow
BigQuer
y
データ処理
output
Dataflowで動かすと
SQLとMapReduceが連動して期待通り動いた。
パイプライン
オートスケール
難題は解決した?
• CP高いBigQueryを中心にMapReduceで補完する役割分
担でコスト削減
• 処理負荷に応じた自動スケールで楽になった!
難題 運用を楽に、より効率的な処理方法へ!
解決
本日の内容
Dataflowについて
データ処理に試行錯誤した過程について
難題をどう解決するか?
新しい取り組み
Dataflowの更なる活用
BigQuery Dataflow
Dataflow上に機械学習を実装
Datastore
Uniposというピアボーナスサービスでは
ユーザ投稿されたデータの中から、埋もれてしまう
有益なデータを抽出する機能を実装。
とは?
共に働く仲間と送り合う
ピアボーナスを実現するサービス
埋もれてしまう投稿の中から優れたものを抽出
機械学習モジュールと相性が良いpythonでバッチ実装
メッセージ
ポイント
拍手
まとめ
• Dataflowは様々なデータ処理を連携できる。
• 連携機能を活用して、難題だった
「処理効率改善」「運用手間改善」を解決。
• 今回紹介したのはほんの一例
(機械学習と組み合わせたり、ストリーム処理化...)
ご静聴ありがとうございました。

More Related Content

What's hot

マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)Trainocate Japan, Ltd.
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)Yoshitaka Kawashima
 
PostgreSQLでスケールアウト
PostgreSQLでスケールアウトPostgreSQLでスケールアウト
PostgreSQLでスケールアウトMasahiko Sawada
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところY Watanabe
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかShogo Wakayama
 
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
 
AWSで作る分析基盤
AWSで作る分析基盤AWSで作る分析基盤
AWSで作る分析基盤Yu Otsubo
 
DMBOKをベースにしたデータマネジメント
DMBOKをベースにしたデータマネジメントDMBOKをベースにしたデータマネジメント
DMBOKをベースにしたデータマネジメントKent Ishizawa
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)Takuto Wada
 
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)Mikiya Okuno
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方Yoshiyasu SAEKI
 
Webアプリでパスワード保護はどこまでやればいいか
Webアプリでパスワード保護はどこまでやればいいかWebアプリでパスワード保護はどこまでやればいいか
Webアプリでパスワード保護はどこまでやればいいかHiroshi Tokumaru
 
ログ管理のベストプラクティス
ログ管理のベストプラクティスログ管理のベストプラクティス
ログ管理のベストプラクティスAkihiro Kuwano
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話Koichiro Matsuoka
 
Snowflake Architecture and Performance
Snowflake Architecture and PerformanceSnowflake Architecture and Performance
Snowflake Architecture and PerformanceMineaki Motohashi
 
トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法Kumazaki Hiroki
 
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 Hiroshi Ito
 

What's hot (20)

マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
 
PostgreSQLでスケールアウト
PostgreSQLでスケールアウトPostgreSQLでスケールアウト
PostgreSQLでスケールアウト
 
MLOps入門
MLOps入門MLOps入門
MLOps入門
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
 
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
 
AWSで作る分析基盤
AWSで作る分析基盤AWSで作る分析基盤
AWSで作る分析基盤
 
DMBOKをベースにしたデータマネジメント
DMBOKをベースにしたデータマネジメントDMBOKをベースにしたデータマネジメント
DMBOKをベースにしたデータマネジメント
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
 
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 
Webアプリでパスワード保護はどこまでやればいいか
Webアプリでパスワード保護はどこまでやればいいかWebアプリでパスワード保護はどこまでやればいいか
Webアプリでパスワード保護はどこまでやればいいか
 
ログ管理のベストプラクティス
ログ管理のベストプラクティスログ管理のベストプラクティス
ログ管理のベストプラクティス
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
 
Snowflake Architecture and Performance
Snowflake Architecture and PerformanceSnowflake Architecture and Performance
Snowflake Architecture and Performance
 
トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法
 
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
 

Similar to データ集計基盤のいままでとこれから 〜Hadoopからdataflowまで使い込んだ経験を徹底共有〜

リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例Tetsutaro Watanabe
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展Recruit Technologies
 
Big data解析ビジネス
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネスMie Mori
 
巨大なサービスと膨大なデータを支えるプラットフォーム

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

巨大なサービスと膨大なデータを支えるプラットフォーム
Tetsutaro Watanabe
 
リクルート式Hadoopの使い方
リクルート式Hadoopの使い方リクルート式Hadoopの使い方
リクルート式Hadoopの使い方Recruit Technologies
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムRecruit Technologies
 
MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来 MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来 株式会社MonotaRO Tech Team
 
避けては通れないビッグデータ周辺の重要課題
避けては通れないビッグデータ周辺の重要課題避けては通れないビッグデータ周辺の重要課題
避けては通れないビッグデータ周辺の重要課題kurikiyo
 
企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案Toshiyuki Shimono
 
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoTreasure Data, Inc.
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料Recruit Technologies
 
E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐
E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐
E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐Rakuten Group, Inc.
 
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎Insight Technology, Inc.
 
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューションDell TechCenter Japan
 
マーケティング向け大規模ログ解析事例紹介
マーケティング向け大規模ログ解析事例紹介マーケティング向け大規模ログ解析事例紹介
マーケティング向け大規模ログ解析事例紹介Kenji Hara
 
[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
 
ビジネスマネージャとデータ分析
ビジネスマネージャとデータ分析ビジネスマネージャとデータ分析
ビジネスマネージャとデータ分析TOSHI STATS Co.,Ltd.
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionTetsutaro Watanabe
 

Similar to データ集計基盤のいままでとこれから 〜Hadoopからdataflowまで使い込んだ経験を徹底共有〜 (20)

リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
 
Big data解析ビジネス
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネス
 
巨大なサービスと膨大なデータを支えるプラットフォーム

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

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

 
Hadoopカンファレンス2013
Hadoopカンファレンス2013Hadoopカンファレンス2013
Hadoopカンファレンス2013
 
リクルート式Hadoopの使い方
リクルート式Hadoopの使い方リクルート式Hadoopの使い方
リクルート式Hadoopの使い方
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 
MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来 MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来
 
避けては通れないビッグデータ周辺の重要課題
避けては通れないビッグデータ周辺の重要課題避けては通れないビッグデータ周辺の重要課題
避けては通れないビッグデータ周辺の重要課題
 
「Data Infrastructure at Scale 」#yjdsw4
「Data Infrastructure at Scale 」#yjdsw4「Data Infrastructure at Scale 」#yjdsw4
「Data Infrastructure at Scale 」#yjdsw4
 
企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案
 
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
 
E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐
E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐
E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐
 
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
 
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション
 
マーケティング向け大規模ログ解析事例紹介
マーケティング向け大規模ログ解析事例紹介マーケティング向け大規模ログ解析事例紹介
マーケティング向け大規模ログ解析事例紹介
 
[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data Platform[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data Platform
 
ビジネスマネージャとデータ分析
ビジネスマネージャとデータ分析ビジネスマネージャとデータ分析
ビジネスマネージャとデータ分析
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年version
 

Recently uploaded

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです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
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 

Recently uploaded (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
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
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 

データ集計基盤のいままでとこれから 〜Hadoopからdataflowまで使い込んだ経験を徹底共有〜

Editor's Notes

  1. 資料は後ほど公開する予定です〜
  2. スライドは後ほど公開。写真は撮るひつないです。
  3. Inputとなるログデータを規模の大小に関わらず同じアプリケーションで処理する仕組み。 ログデータの規模によって変わるのはインフラ〜ミドル部分。 「大規模データをどれだけスムーズに処理できるか」にやりがい。
  4. Googleではビックデータ=データという。
  5. 裏ではComputeEngineが起動されてパイプライン処理が動きだす。 上から下へ流れていくイメージ
  6. ちなみに、ビックデータ処理の先駆けとして有名になったHadoopは 当時Googleが社内で使っていたMapReduceが元になったが、 論文を元にOSS化されたためGoogle初感なく悔しい思いがあった。 Dataflow
  7. githubのURLを入れる。 様々なサービスとの組みあわせができる。
  8. DBにデータを入れさえすれば
  9. これはヤヴァイ。 心身ともに消耗する... (データ量:数千万行)
  10. オンプレなので、注文したサーバが届く日を心待ち(2ヶ月くらい) にしつつ置き換え...思ったより性能でない... スケールアップで重いデータ処理は解決できない。
  11. 全ページに年代入れる...
  12. しばらく運用してたら、 当時の規模では、オンプレで1クラスタを運用するのが精一杯だった。 (データ量:〜1億行) excelで実行管理表作ってタスク運用。
  13. 一言でいうと「オンプレの物理的制約から解放してくれた救世主」
  14. データ処理をオンプレからクラウドに移行して、 物理的な問題からは解放され、ダイブ助かるようになったが... 個別の処理リソースの調整をしなければ処理が終わらないなのど、運用面での難題が残った。 待ちサーバ:Hadoopの マシン使用率低下問題 MapperとReducerでサーバが別れる
  15. EMRのWebUI画面のキャプチャ。 ここにでているマスターノード、コアノード、タスクノード数の他にもMapper/Reducer割合やメモリ調整 を個別のデータセットに合わせて調整していく必要がある。 個別のデータセットは十数個あって1日一回データ処理が動く。
  16. 検討した結果。SQL型で難題の解決に一番近いのはBigQueryと結論して試して見ました。 1ページじゃまとめ切れないほどのネタがありますが、一言で表すと
  17. 全体を俯瞰するUIで見るとこんな感じ。 ポイントポイント絞って見ていきます。
  18. 上から下へ流れるイメージです。 BigQueryからデータを読み出し、 マスターデータと結合。 統合処理を実行した後outputをBigQueryに書き出す処理です。 途中で失敗した場合は赤色になってログが出力される。
  19. オートスケール
  20. サーバ利用効率悪く、 データ量に応じて個別のパラメータ調整
  21. 最後に新しい取り組みについて紹介したいと思います。
  22. 機会学習をやってて、こういう目的でやってるんです。
  23. メッセージにポイントをつけてピアボーナスを送りたい人に向けて投稿します。 投稿された内容は誰もが見れるタイムラインに表示される。
  24. ピアボーナスの要素は メッセージ ポイント 拍手 メッセージとポイントは投稿者から付与されるもの。 拍手はそれを見て共感したら送るもの。 良い投稿があってもタイムラインで流れてしまうのがもったいないところ 機会学習onDataflowで、メッセージ、ポイント、拍手数からよい投稿を再度ピックアップする機能を開発中 データ処理の制約少なくサクッと実装できるのがよいところ。