ストリーミングアーキテクチャ: State から Flow へ - 2016/02/08 Hadoop / Spark Conference Japan 2016

MapR Technologies Japan
MapR Technologies JapanMapR Technologies Japan
®
© 2016 MapR Technologies 1
®
© 2016 MapR Technologies
草薙 昭彦, MapR Technologies
2016 年 2 ⽉ 8 ⽇
®
© 2016 MapR Technologies 2
⾃⼰紹介
•  草薙 昭彦 (@nagix)
•  MapR Technologies
データエンジニア
NS-SHAFT
無料!
®
© 2016 MapR Technologies 3
®
© 2016 MapR Technologies 4
ストリーミングの5つの⾒かた
•  エンタープライズ・チーム
•  マイクロサービス
•  アブストラクト・コンピューティング
•  結果の配送
•  統合
®
© 2016 MapR Technologies 5
File upload
web service
Files
Thumbnail
extraction
Transcoding
uploads
thumbs
recodes
Files
®
© 2016 MapR Technologies 6
File upload
web service
Files
Thumbnail
extraction
Transcoding
uploads
thumbs
recodes
Files
映画「羅⽣⾨」あらすじ
都にほど近い⼭中で、貴族の⼥性と供回りの侍が⼭賊に襲わ
れた。そして侍は死亡、事件は検⾮違使によって吟味される
事になった。だが⼭賊と貴族の⼥性の⾔い分は真っ向から対
⽴する。検⾮違使は霊媒師の⼝寄せによって侍の霊を呼び出
し証⾔を得るが、その⾔葉もまた、⼆⼈の⾔い分とは異なっ
ていた…
®
© 2016 MapR Technologies 7
第1話	
エンタープライズの盗賊	
The	enterprise	bandit
®
© 2016 MapR Technologies 8
巨⼤なモノリシックシステムからの進化
•  ⼀枚岩のメインフレームシステムの複雑性が専⾨化を引き起こ
した
–  ストレージ
–  データベース
–  システム分析
–  プログラマ
–  オペレーション
–  データ⼊⼒
•  n層アーキテクチャが次のステップとなった
®
© 2016 MapR Technologies 9
3層アーキテクチャ
Web tier
Middle tier
Data tier
®
© 2016 MapR Technologies 10
3層アーキテクチャで重要な部分
Web tier
Middle tier
Data tier
®
© 2016 MapR Technologies 11
現実の3層アーキテクチャ
Web tier
Middle tier
Data tier
Web tier
Middle tier
Data tier
Web tier
Middle tier
Data tier
Web tier
Middle tier
Data tier
®
© 2016 MapR Technologies 12
分断を補うために「コントロール」を追加
•  エンタープライズ・サービス・バスの進化により、専⾨化とコ
ントロールの集中が再確⽴
•  重要な点は、メッセージングとコントロール・バックボーンに
埋め込まれた⾼度な処理
®
© 2016 MapR Technologies 13
エンタープライズ・サービス・バス (ESB)
®
© 2016 MapR Technologies 14
第1話のまとめ
•  階層化はパズルのような (Tic-Tac-Toe) アーキテクチャを引き起
こした
•  ESB はコントロールが複雑な⽷の⽟を引き起こす
–  泥の⽟よりはましだが、ちょっとだけ
•  問題は解決していない
®
© 2016 MapR Technologies 15
第2話	
スタートアップの侍	
The	startup	Samurai
®
© 2016 MapR Technologies 16
振り⼦が揺り戻す時
•  ESB はまだ有効でよく使われている
•  しかし、反動が進⾏中
–  Google, Facebook, Netflix, Amazon, LinkedIn
–  さらに数多くの知られていない企業も
–  シリコンバレー・スタートアップの世界と深く関連している
–  JavaScript, Python コミュニティでの開発と深く関連している
•  Meteor.js, node.js
•  Swagger
•  n層アーキテクチャの置き換えを考慮
®
© 2016 MapR Technologies 17
RPC layer
Logic
Disk
RPC layer
Logic
Disk
RPC layer
Logic
Disk
まずパーティショニングを考える
®
© 2016 MapR Technologies 18
ジョブとコミュニケーションの⽅法を与えてやる
Light-weight を
維持することが重要!
®
© 2016 MapR Technologies 19
結果は素晴らしいものになり得る
•  このスタイルを採⽤した企業と、素晴らしい成功の間には関連
がありそう
–  前のページのリストをご覧ください
•  採⽤していない企業はどうかというと …
•  もちろん、これは優秀な技術者を雇えた企業のみが実現できた
だけかもしれない
–  実際、ものすごく優秀なチームでないとできないかも …
®
© 2016 MapR Technologies 20
しかし …
•  多くの議論では RPC (コール/レスポンス) サービスが話題に上
る
•  これ⾃体はよいが、これだけでは不⼗分
•  重要なのは遅延処理 (Deferred Processing)
–  ⼀部は急いで処理
–  メッセージをキューに⼊れて後で完了させる
®
© 2016 MapR Technologies 21
しかし …
•  RPC はシンプル …
–  REST
–  Protobuf
–  Avro
–  などなど
•  ネットワーク + DNS + ロードバランサー以外には何の基盤もい
らない
–  そして既にそれらはある
•  スケーラブルではない永続化レイヤーがしばしば使われている
®
© 2016 MapR Technologies 22
メッセージ・ベース・サービスを実現するには
•  メッセージ受信者は現時点で動作していないかもしれない
–  永続化キューが必要
•  メッセージの数は⾮常に多い
–  外部へのリクエストの総数(5〜10倍)
–  永続化オペレーションの総数(2〜3倍)
•  秒間数百万メッセージ、GB/s ものトラフィックは⼗分あり得る
•  スタートアップはいいとして、エンタープライズが採⽤する際
には新たな課題
®
© 2016 MapR Technologies 23
第2話まとめ
•  マイクロサービスは耐障害性のある⾼性能なメッセージング
キューを必要とする
•  これらのシステムは耐障害性と⾼性能が好ましいだけではない
•  これらのシステムは耐障害性が必須。⾼性能も必須
•  伝統的なキューは適⽤できない
®
© 2016 MapR Technologies 24
第3話	
使い古されたメタファー	
The	tired	metaphor
®
© 2016 MapR Technologies 25
第3話	
使い古されたメタファー	
The	tired	metaphor	
雲の上からの眺め	
The	view	from	the	clouds
®
© 2016 MapR Technologies 26
チューリングが念頭に置いていなかったこと
•  従来型のプログラムはほとんどバッチ処理
–  有限の⼊⼒、有限の出⼒
–  重要なパラメータは処理時間、コスト、可⽤性、正しさ
–  バッチ処理でも OK、クエリ/レスポンスでも OK
•  ストリーム処理は「違う」
–  無限の⼊⼒のデータ列、無限の出⼒のデータ列
–  ⼀部の出⼒についての捉え⽅を変えても差し⽀えない
–  重要なパラメータはレイテンシ、コスト、コミットメント・レベル
®
© 2016 MapR Technologies 27
Δt
tprovisional
Input
Output
暫定的な出⼒の存在は暫定的
な⼊⼒も取り扱う必要がある
ことも注意
®
© 2016 MapR Technologies 28
より複雑な要素
•  このレイテンシだけがすべてではない
•  データの取得は即座にはできない
•  レイテンシがゼロからのスタートがそもそもできない
•  実際、遅延はフローベース・コンピューティングでは重要課題
®
© 2016 MapR Technologies 29
思考問題
•  地球上のあらゆる場所の温度は何度か
–  たった今
–  これを知ることは不可能
•  1時間前の地球上のあらゆる場所の温度は何度だったか?
–  これを知ることは難しい
•  先⽉の地球上のあらゆる場所の温度は何度だったか?
–  これは⽐較的簡単
•  では今⽇の天気について話すのは不可能なのか?
®
© 2016 MapR Technologies 30
State の問題
•  現在の地球の気温の数値は存在するかも/しないかも
•  遅延つきの気温のみが現実の処理の対象となる
•  処理によって遅延はバラバラ
•  (気温についての例をあげましたが、全てのデータも同様です)
®
© 2016 MapR Technologies 31
第3話まとめ
•  重要な問題には、分散コンピューテーションをメッセージとフ
ローで表現する必要がある
•  これは便利だからという問題ではない
®
© 2016 MapR Technologies 32
第n話	
現実世界に適⽤するには	
Getting	stuff	done	in	the	real	world
®
© 2016 MapR Technologies 33
mySQL
mySQL
files
Web-site
Auth
service
Upload
service
Image
extractor
Transcoder
User
profiles
Search
User action
logging
Recommendation
analysis
mySQL
mySQL
mySQL
Oracle
Solr
Elastic
®
© 2016 MapR Technologies 34
mySQL
mySQL
files
Web-site
Auth
service
Upload
service
Image
extractor
Transcoder
User
profiles
Search
User action
logging
Recommendation
analysis
mySQL
mySQL
mySQL
Oracle
Solr
Elastic
®
© 2016 MapR Technologies 35
マイクロサービス・ダイアグラム
File upload
web service
Raw
files
Thumbnail
extraction
Transcoding
Video
metadata
Video
files
DB updater
DB
snapshots
Metadata
snapsMetadata
snapsMetadata
snap db
Live
metadata
DB
uploads
thumbs
recodes
video
adds
snaps
Image
files
サムネイル
抽出
アップロード
サービス
ファイル
ファイル
フォーマット
変換
ビデオ
メタデータ
DBスナップ
ショット
DBアップ
データ
画像
ファイル
メタデータ
スナップ
DB
ライブ
メタデータ
DB
®
© 2016 MapR Technologies 36
省略された詳細部分
File upload
web service
Files
Thumbnail
extraction
Transcoding
uploads
thumbs
recodes
Files
サムネイル
抽出
フォーマット
変換
アップロード
サービス
ファイル
ファイル
®
© 2016 MapR Technologies 37
さらに詳細
Thumbnail
extraction
uploads
thumbs
metrics
exceptions
checkpoints
Input
Output
Monitoring
Restart
⼊⼒
出⼒
監視
再開処理
サムネイル
抽出
®
© 2016 MapR Technologies 38
現実世界における前提
•  メッセージング機能は耐障害性があり、基盤として存在しなけ
ればならない
–  送信者、受信者の動作に依存してはならない
•  メッセージがすべてに適しているということはない
–  1TB のメッセージ?
•  (スケーラブルな) ファイルが必要
•  (スケーラブルな) テーブルが必要
•  (スケーラブルな) メッセージストリームが必要
•  可能であれば永続化レイヤーもサービスから分離すべき
®
© 2016 MapR Technologies 39
現実世界において考慮すべきこと
•  耐障害性のある⾼速なキューイングが必要
–  Kafka なら OK
–  MapR Streams なら OK
–  それ以外の製品はほとんど対応できない
•  従来のメッセージングは全く対応できない
–  耐久性を確保すると、ほとんどのキューは1万メッセージ/秒 (MB/s) 未
満に
–  ⾼性能システムは100万メッセージ/秒 (GB/s) 超を扱う
•  1ミリ秒未満のレイテンシは別のシステムで扱う必要がある
•  グローバル規模のシステムには、ここでは取り上げなかったさ
らなる制約が加わる
®
© 2016 MapR Technologies 40
まとめ
•  マイクロサービスは⾃然な進化
•  マイクロサービスは耐障害性があ
り、⾼速で、Kafka ⾵のキューイ
ングを前提とする
•  マクロ・マイクロの両⽅のアーキ
テクチャが必要
•  インフラは単なるキュー以上の機
能を備える必要がある。ファイル
やテーブルも必要
Web tier
Middle tier
Data tier
Web tier
Middle tier
Data tier
Web tier
Middle tier
Data tier
Web tier
Middle tier
Data tier
Thumbnail
extraction
uploads
thumbs
metrics
exceptions
checkpoints
Input
Output
Monitoring
Restart
®
© 2016 MapR Technologies 41
®
© 2016 MapR Technologies 42
Q&A
@mapr_japan maprjapan
sales-jp@mapr.com
お問い合わせはこちらまで
MapR Japan
maprtech
mapr-technologies
1 of 42

Recommended

Spark Streaming の基本とスケールする時系列データ処理 - Spark Meetup December 2015/12/09 by
Spark Streaming の基本とスケールする時系列データ処理 - Spark Meetup December 2015/12/09Spark Streaming の基本とスケールする時系列データ処理 - Spark Meetup December 2015/12/09
Spark Streaming の基本とスケールする時系列データ処理 - Spark Meetup December 2015/12/09MapR Technologies Japan
6.2K views40 slides
時系列の世界の時系列データ by
時系列の世界の時系列データ時系列の世界の時系列データ
時系列の世界の時系列データMapR Technologies Japan
6.9K views32 slides
Apache Drill を利用した実データの分析 by
Apache Drill を利用した実データの分析Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析MapR Technologies Japan
5K views47 slides
MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12 by
MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12
MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12MapR Technologies Japan
7.2K views52 slides
逆らえない大きな流れ: 次世代のエンタープライズアーキテクチャ by
逆らえない大きな流れ: 次世代のエンタープライズアーキテクチャ逆らえない大きな流れ: 次世代のエンタープライズアーキテクチャ
逆らえない大きな流れ: 次世代のエンタープライズアーキテクチャMapR Technologies Japan
2.5K views33 slides
Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15 by
Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15
Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15MapR Technologies Japan
2.9K views63 slides

More Related Content

What's hot

MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす by
MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなすMapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす
MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなすMapR Technologies Japan
1.8K views66 slides
Apache Drill でたしなむ セルフサービスデータ探索 - 2014/11/06 Cloudera World Tokyo 2014 LTセッション by
Apache Drill でたしなむ セルフサービスデータ探索 - 2014/11/06 Cloudera World Tokyo 2014 LTセッションApache Drill でたしなむ セルフサービスデータ探索 - 2014/11/06 Cloudera World Tokyo 2014 LTセッション
Apache Drill でたしなむ セルフサービスデータ探索 - 2014/11/06 Cloudera World Tokyo 2014 LTセッションMapR Technologies Japan
3.5K views17 slides
Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014... by
Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...
Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...MapR Technologies Japan
6.9K views61 slides
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11 by
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11MapR Technologies Japan
2.6K views46 slides
Drilling into Data with Apache Drill - Tokyo Apache Drill Meetup 2015/11/12 by
Drilling into Data with Apache Drill - Tokyo Apache Drill Meetup 2015/11/12Drilling into Data with Apache Drill - Tokyo Apache Drill Meetup 2015/11/12
Drilling into Data with Apache Drill - Tokyo Apache Drill Meetup 2015/11/12MapR Technologies Japan
1.9K views38 slides
MapR と Vertica エンジニアが語る、なぜその組み合わせが最高なのか? - db tech showcase 大阪 2014 2014/06/19 by
MapR と Vertica エンジニアが語る、なぜその組み合わせが最高なのか? - db tech showcase 大阪 2014 2014/06/19MapR と Vertica エンジニアが語る、なぜその組み合わせが最高なのか? - db tech showcase 大阪 2014 2014/06/19
MapR と Vertica エンジニアが語る、なぜその組み合わせが最高なのか? - db tech showcase 大阪 2014 2014/06/19MapR Technologies Japan
5.1K views30 slides

What's hot(20)

MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす by MapR Technologies Japan
MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなすMapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす
MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす
Apache Drill でたしなむ セルフサービスデータ探索 - 2014/11/06 Cloudera World Tokyo 2014 LTセッション by MapR Technologies Japan
Apache Drill でたしなむ セルフサービスデータ探索 - 2014/11/06 Cloudera World Tokyo 2014 LTセッションApache Drill でたしなむ セルフサービスデータ探索 - 2014/11/06 Cloudera World Tokyo 2014 LTセッション
Apache Drill でたしなむ セルフサービスデータ探索 - 2014/11/06 Cloudera World Tokyo 2014 LTセッション
Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014... by MapR Technologies Japan
Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...
Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11 by MapR Technologies Japan
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Drilling into Data with Apache Drill - Tokyo Apache Drill Meetup 2015/11/12 by MapR Technologies Japan
Drilling into Data with Apache Drill - Tokyo Apache Drill Meetup 2015/11/12Drilling into Data with Apache Drill - Tokyo Apache Drill Meetup 2015/11/12
Drilling into Data with Apache Drill - Tokyo Apache Drill Meetup 2015/11/12
MapR と Vertica エンジニアが語る、なぜその組み合わせが最高なのか? - db tech showcase 大阪 2014 2014/06/19 by MapR Technologies Japan
MapR と Vertica エンジニアが語る、なぜその組み合わせが最高なのか? - db tech showcase 大阪 2014 2014/06/19MapR と Vertica エンジニアが語る、なぜその組み合わせが最高なのか? - db tech showcase 大阪 2014 2014/06/19
MapR と Vertica エンジニアが語る、なぜその組み合わせが最高なのか? - db tech showcase 大阪 2014 2014/06/19
Hadoopソースコードリーディング8/MapRを使ってみた by Recruit Technologies
Hadoopソースコードリーディング8/MapRを使ってみたHadoopソースコードリーディング8/MapRを使ってみた
Hadoopソースコードリーディング8/MapRを使ってみた
Hadoopのシステム設計・運用のポイント by Cloudera Japan
Hadoopのシステム設計・運用のポイントHadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイント
Cloudera Japan34.7K views
ビジネスへの本格活用が始まったHadoopの今 ~MapRが選ばれる理由~ - ビッグデータEXPO東京 2014/02/26 by MapR Technologies Japan
ビジネスへの本格活用が始まったHadoopの今 ~MapRが選ばれる理由~ - ビッグデータEXPO東京 2014/02/26ビジネスへの本格活用が始まったHadoopの今 ~MapRが選ばれる理由~ - ビッグデータEXPO東京 2014/02/26
ビジネスへの本格活用が始まったHadoopの今 ~MapRが選ばれる理由~ - ビッグデータEXPO東京 2014/02/26
Hadoop概要説明 by Satoshi Noto
Hadoop概要説明Hadoop概要説明
Hadoop概要説明
Satoshi Noto32.2K views
スケールアウト・インメモリ分析の標準フォーマットを目指す Apache Arrow と Value Vectors - Tokyo Apache Dril... by MapR Technologies Japan
スケールアウト・インメモリ分析の標準フォーマットを目指す Apache Arrow と Value Vectors - Tokyo Apache Dril...スケールアウト・インメモリ分析の標準フォーマットを目指す Apache Arrow と Value Vectors - Tokyo Apache Dril...
スケールアウト・インメモリ分析の標準フォーマットを目指す Apache Arrow と Value Vectors - Tokyo Apache Dril...
CDHの歴史とCDH5新機能概要 #at_tokuben by Cloudera Japan
CDHの歴史とCDH5新機能概要 #at_tokubenCDHの歴史とCDH5新機能概要 #at_tokuben
CDHの歴史とCDH5新機能概要 #at_tokuben
Cloudera Japan8K views
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) by hamaken
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
hamaken100.1K views
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料) by Hadoop / Spark Conference Japan
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料) by NTT DATA OSS Professional Services
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
MapR Streams & MapR コンバージド・データ・プラットフォーム by MapR Technologies Japan
MapR Streams & MapR コンバージド・データ・プラットフォームMapR Streams & MapR コンバージド・データ・プラットフォーム
MapR Streams & MapR コンバージド・データ・プラットフォーム

Viewers also liked

リクルートライフスタイルの考える ストリームデータの活かし方(Hadoop Spark Conference2016) by
リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)
リクルートライフスタイルの考える ストリームデータの活かし方(Hadoop Spark Conference2016)Atsushi Kurumada
6.4K views54 slides
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集 by
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集matsu_chara
13.6K views39 slides
Apache Kudu Fast Analytics on Fast Data (Hadoop / Spark Conference Japan 2016... by
Apache Kudu Fast Analytics on Fast Data (Hadoop / Spark Conference Japan 2016...Apache Kudu Fast Analytics on Fast Data (Hadoop / Spark Conference Japan 2016...
Apache Kudu Fast Analytics on Fast Data (Hadoop / Spark Conference Japan 2016...Hadoop / Spark Conference Japan
2.5K views39 slides
20151128_SMeNG_態度は変えられるのか by
20151128_SMeNG_態度は変えられるのか20151128_SMeNG_態度は変えられるのか
20151128_SMeNG_態度は変えられるのかTakanori Hiroe
1.5K views29 slides
20150321 医学:医療者教育研究ネットワーク@九州大学 by
20150321 医学:医療者教育研究ネットワーク@九州大学20150321 医学:医療者教育研究ネットワーク@九州大学
20150321 医学:医療者教育研究ネットワーク@九州大学Takanori Hiroe
811 views72 slides
JSME_47th_Nigata by
JSME_47th_NigataJSME_47th_Nigata
JSME_47th_NigataTakanori Hiroe
1.1K views14 slides

Viewers also liked(20)

リクルートライフスタイルの考える ストリームデータの活かし方(Hadoop Spark Conference2016) by Atsushi Kurumada
リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)
リクルートライフスタイルの考える ストリームデータの活かし方(Hadoop Spark Conference2016)
Atsushi Kurumada6.4K views
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集 by matsu_chara
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
matsu_chara 13.6K views
20151128_SMeNG_態度は変えられるのか by Takanori Hiroe
20151128_SMeNG_態度は変えられるのか20151128_SMeNG_態度は変えられるのか
20151128_SMeNG_態度は変えられるのか
Takanori Hiroe1.5K views
20150321 医学:医療者教育研究ネットワーク@九州大学 by Takanori Hiroe
20150321 医学:医療者教育研究ネットワーク@九州大学20150321 医学:医療者教育研究ネットワーク@九州大学
20150321 医学:医療者教育研究ネットワーク@九州大学
Takanori Hiroe811 views
HBase New Features by rxu
HBase New FeaturesHBase New Features
HBase New Features
rxu756 views
Apache Drill で日本語を扱ってみよう + オープンデータ解析 by MapR Technologies Japan
Apache Drill で日本語を扱ってみよう + オープンデータ解析Apache Drill で日本語を扱ってみよう + オープンデータ解析
Apache Drill で日本語を扱ってみよう + オープンデータ解析
MapR 5.2: Getting More Value from the MapR Converged Community Edition by MapR Technologies
MapR 5.2: Getting More Value from the MapR Converged Community EditionMapR 5.2: Getting More Value from the MapR Converged Community Edition
MapR 5.2: Getting More Value from the MapR Converged Community Edition
MapR Technologies858 views
20170225_Sample size determination by Takanori Hiroe
20170225_Sample size determination20170225_Sample size determination
20170225_Sample size determination
Takanori Hiroe2K views
MapR Streams and MapR Converged Data Platform by MapR Technologies
MapR Streams and MapR Converged Data PlatformMapR Streams and MapR Converged Data Platform
MapR Streams and MapR Converged Data Platform
MapR Technologies3.3K views
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」 by オラクルエンジニア通信
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」
Inside MapR's M7 by Ted Dunning
Inside MapR's M7Inside MapR's M7
Inside MapR's M7
Ted Dunning7.5K views
Big Data Hadoop Briefing Hosted by Cisco, WWT and MapR: MapR Overview Present... by ervogler
Big Data Hadoop Briefing Hosted by Cisco, WWT and MapR: MapR Overview Present...Big Data Hadoop Briefing Hosted by Cisco, WWT and MapR: MapR Overview Present...
Big Data Hadoop Briefing Hosted by Cisco, WWT and MapR: MapR Overview Present...
ervogler1.3K views
Docker1.13で変わったことをわからないなりにまとめてみた by Kouta Asai
Docker1.13で変わったことをわからないなりにまとめてみたDocker1.13で変わったことをわからないなりにまとめてみた
Docker1.13で変わったことをわからないなりにまとめてみた
Kouta Asai4K views
Innovation and Management in the Era of “Co-Creation”—Cultivating Knowledge... by Kenji Hiranabe
 Innovation and Management  in the Era of “Co-Creation”—Cultivating Knowledge... Innovation and Management  in the Era of “Co-Creation”—Cultivating Knowledge...
Innovation and Management in the Era of “Co-Creation”—Cultivating Knowledge...
Kenji Hiranabe5.1K views
WebSocketのキホン by You_Kinjoh
WebSocketのキホンWebSocketのキホン
WebSocketのキホン
You_Kinjoh24.1K views

Similar to ストリーミングアーキテクチャ: State から Flow へ - 2016/02/08 Hadoop / Spark Conference Japan 2016

クラウド時代を生き残る経営戦略策定のススメ「クラウドは敵か?味方か?」(山口・岡山) by
クラウド時代を生き残る経営戦略策定のススメ「クラウドは敵か?味方か?」(山口・岡山)クラウド時代を生き残る経営戦略策定のススメ「クラウドは敵か?味方か?」(山口・岡山)
クラウド時代を生き残る経営戦略策定のススメ「クラウドは敵か?味方か?」(山口・岡山)Serverworks Co.,Ltd.
1K views87 slides
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例 by
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例terurou
2.6K views36 slides
MagicOnion入門 by
MagicOnion入門MagicOnion入門
MagicOnion入門torisoup
10.4K views37 slides
さくらのクラウドを使ってみよう by
さくらのクラウドを使ってみようさくらのクラウドを使ってみよう
さくらのクラウドを使ってみよう法林浩之
1.8K views110 slides
Storm×couchbase serverで作るリアルタイム解析基盤 by
Storm×couchbase serverで作るリアルタイム解析基盤Storm×couchbase serverで作るリアルタイム解析基盤
Storm×couchbase serverで作るリアルタイム解析基盤NTT Communications Technology Development
4.6K views45 slides
Kernel vm-2014-05-25 by
Kernel vm-2014-05-25Kernel vm-2014-05-25
Kernel vm-2014-05-25Hirochika Asai
5.8K views34 slides

Similar to ストリーミングアーキテクチャ: State から Flow へ - 2016/02/08 Hadoop / Spark Conference Japan 2016(20)

クラウド時代を生き残る経営戦略策定のススメ「クラウドは敵か?味方か?」(山口・岡山) by Serverworks Co.,Ltd.
クラウド時代を生き残る経営戦略策定のススメ「クラウドは敵か?味方か?」(山口・岡山)クラウド時代を生き残る経営戦略策定のススメ「クラウドは敵か?味方か?」(山口・岡山)
クラウド時代を生き残る経営戦略策定のススメ「クラウドは敵か?味方か?」(山口・岡山)
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例 by terurou
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
terurou2.6K views
MagicOnion入門 by torisoup
MagicOnion入門MagicOnion入門
MagicOnion入門
torisoup10.4K views
さくらのクラウドを使ってみよう by 法林浩之
さくらのクラウドを使ってみようさくらのクラウドを使ってみよう
さくらのクラウドを使ってみよう
法林浩之1.8K views
【JAWS DAYS 2013】ランサーズを支えるAWS by Kei Kinoshita
【JAWS DAYS 2013】ランサーズを支えるAWS【JAWS DAYS 2013】ランサーズを支えるAWS
【JAWS DAYS 2013】ランサーズを支えるAWS
Kei Kinoshita2.6K views
Observability, Service Mesh and Microservices by Taiki
Observability, Service Mesh and MicroservicesObservability, Service Mesh and Microservices
Observability, Service Mesh and Microservices
Taiki 568 views
OSC 2014 Tokyo/Spring さくらの社長が語る!「さくらのクラウド」でのウェブサービスかんたん運用術~Dockerをつかってみた~ by Kunihiro TANAKA
OSC 2014 Tokyo/Spring さくらの社長が語る!「さくらのクラウド」でのウェブサービスかんたん運用術~Dockerをつかってみた~OSC 2014 Tokyo/Spring さくらの社長が語る!「さくらのクラウド」でのウェブサービスかんたん運用術~Dockerをつかってみた~
OSC 2014 Tokyo/Spring さくらの社長が語る!「さくらのクラウド」でのウェブサービスかんたん運用術~Dockerをつかってみた~
Kunihiro TANAKA6K views
Gmo media.inc 第9回西日本ossの普及を考える会 by Dai Utsui
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
Dai Utsui1.3K views
リクルートのWebサービスを支える共通インフラ「RAFTEL」 by Recruit Technologies
リクルートのWebサービスを支える共通インフラ「RAFTEL」リクルートのWebサービスを支える共通インフラ「RAFTEL」
リクルートのWebサービスを支える共通インフラ「RAFTEL」
Recruit Technologies11.5K views
快適に料理を楽しむための監視のおはなし by Satoshi Takada
快適に料理を楽しむための監視のおはなし快適に料理を楽しむための監視のおはなし
快適に料理を楽しむための監視のおはなし
Satoshi Takada2.6K views
【JAWS UG 山形】ランサーズでのAWS活用事例 by Yuki Kanazawa
【JAWS UG 山形】ランサーズでのAWS活用事例【JAWS UG 山形】ランサーズでのAWS活用事例
【JAWS UG 山形】ランサーズでのAWS活用事例
Yuki Kanazawa1.7K views
【JAWS DAYS 2014】ランサーズを支えるRDS by Yuki Kanazawa
【JAWS DAYS 2014】ランサーズを支えるRDS【JAWS DAYS 2014】ランサーズを支えるRDS
【JAWS DAYS 2014】ランサーズを支えるRDS
Yuki Kanazawa6.1K views
Treasure Dataを支える技術 - MessagePack編 by Taro L. Saito
Treasure Dataを支える技術 - MessagePack編Treasure Dataを支える技術 - MessagePack編
Treasure Dataを支える技術 - MessagePack編
Taro L. Saito13.7K views
生物データベース論(スケーラビリティと可用性) by Masahiro Kasahara
生物データベース論(スケーラビリティと可用性)生物データベース論(スケーラビリティと可用性)
生物データベース論(スケーラビリティと可用性)
Masahiro Kasahara1.2K views

More from MapR Technologies Japan

Hadoop によるゲノム解読 by
Hadoop によるゲノム解読Hadoop によるゲノム解読
Hadoop によるゲノム解読MapR Technologies Japan
1K views9 slides
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11 by
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11MapR Technologies Japan
18.8K views35 slides
Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11 by
Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11
Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11MapR Technologies Japan
19.6K views56 slides
異常検知 - 何を探すかよく分かっていないものを見つける方法 by
異常検知 - 何を探すかよく分かっていないものを見つける方法異常検知 - 何を探すかよく分かっていないものを見つける方法
異常検知 - 何を探すかよく分かっていないものを見つける方法MapR Technologies Japan
9.4K views85 slides
Apache Drill: Rethinking SQL for Big data – Don’t Compromise on Flexibility o... by
Apache Drill: Rethinking SQL for Big data – Don’t Compromise on Flexibility o...Apache Drill: Rethinking SQL for Big data – Don’t Compromise on Flexibility o...
Apache Drill: Rethinking SQL for Big data – Don’t Compromise on Flexibility o...MapR Technologies Japan
3.5K views67 slides
実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference ... by
実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference ...実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference ...
実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference ...MapR Technologies Japan
14.7K views76 slides

More from MapR Technologies Japan(8)

事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11 by MapR Technologies Japan
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11 by MapR Technologies Japan
Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11
Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11
異常検知 - 何を探すかよく分かっていないものを見つける方法 by MapR Technologies Japan
異常検知 - 何を探すかよく分かっていないものを見つける方法異常検知 - 何を探すかよく分かっていないものを見つける方法
異常検知 - 何を探すかよく分かっていないものを見つける方法
Apache Drill: Rethinking SQL for Big data – Don’t Compromise on Flexibility o... by MapR Technologies Japan
Apache Drill: Rethinking SQL for Big data – Don’t Compromise on Flexibility o...Apache Drill: Rethinking SQL for Big data – Don’t Compromise on Flexibility o...
Apache Drill: Rethinking SQL for Big data – Don’t Compromise on Flexibility o...
実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference ... by MapR Technologies Japan
実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference ...実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference ...
実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference ...
マップアールが考える企業システムにおける分析プラットフォームの進化 - 2014/06/27 Data Scientist Summit 2014 by MapR Technologies Japan
マップアールが考える企業システムにおける分析プラットフォームの進化 - 2014/06/27 Data Scientist Summit 2014マップアールが考える企業システムにおける分析プラットフォームの進化 - 2014/06/27 Data Scientist Summit 2014
マップアールが考える企業システムにおける分析プラットフォームの進化 - 2014/06/27 Data Scientist Summit 2014
エンタープライズ NoSQL/HBase プラットフォーム – MapR M7 エディション - db tech showcase 大阪 2014 201... by MapR Technologies Japan
エンタープライズ NoSQL/HBase プラットフォーム – MapR M7 エディション - db tech showcase 大阪 2014 201...エンタープライズ NoSQL/HBase プラットフォーム – MapR M7 エディション - db tech showcase 大阪 2014 201...
エンタープライズ NoSQL/HBase プラットフォーム – MapR M7 エディション - db tech showcase 大阪 2014 201...

ストリーミングアーキテクチャ: State から Flow へ - 2016/02/08 Hadoop / Spark Conference Japan 2016

  • 1. ® © 2016 MapR Technologies 1 ® © 2016 MapR Technologies 草薙 昭彦, MapR Technologies 2016 年 2 ⽉ 8 ⽇
  • 2. ® © 2016 MapR Technologies 2 ⾃⼰紹介 •  草薙 昭彦 (@nagix) •  MapR Technologies データエンジニア NS-SHAFT 無料!
  • 3. ® © 2016 MapR Technologies 3
  • 4. ® © 2016 MapR Technologies 4 ストリーミングの5つの⾒かた •  エンタープライズ・チーム •  マイクロサービス •  アブストラクト・コンピューティング •  結果の配送 •  統合
  • 5. ® © 2016 MapR Technologies 5 File upload web service Files Thumbnail extraction Transcoding uploads thumbs recodes Files
  • 6. ® © 2016 MapR Technologies 6 File upload web service Files Thumbnail extraction Transcoding uploads thumbs recodes Files 映画「羅⽣⾨」あらすじ 都にほど近い⼭中で、貴族の⼥性と供回りの侍が⼭賊に襲わ れた。そして侍は死亡、事件は検⾮違使によって吟味される 事になった。だが⼭賊と貴族の⼥性の⾔い分は真っ向から対 ⽴する。検⾮違使は霊媒師の⼝寄せによって侍の霊を呼び出 し証⾔を得るが、その⾔葉もまた、⼆⼈の⾔い分とは異なっ ていた…
  • 7. ® © 2016 MapR Technologies 7 第1話 エンタープライズの盗賊 The enterprise bandit
  • 8. ® © 2016 MapR Technologies 8 巨⼤なモノリシックシステムからの進化 •  ⼀枚岩のメインフレームシステムの複雑性が専⾨化を引き起こ した –  ストレージ –  データベース –  システム分析 –  プログラマ –  オペレーション –  データ⼊⼒ •  n層アーキテクチャが次のステップとなった
  • 9. ® © 2016 MapR Technologies 9 3層アーキテクチャ Web tier Middle tier Data tier
  • 10. ® © 2016 MapR Technologies 10 3層アーキテクチャで重要な部分 Web tier Middle tier Data tier
  • 11. ® © 2016 MapR Technologies 11 現実の3層アーキテクチャ Web tier Middle tier Data tier Web tier Middle tier Data tier Web tier Middle tier Data tier Web tier Middle tier Data tier
  • 12. ® © 2016 MapR Technologies 12 分断を補うために「コントロール」を追加 •  エンタープライズ・サービス・バスの進化により、専⾨化とコ ントロールの集中が再確⽴ •  重要な点は、メッセージングとコントロール・バックボーンに 埋め込まれた⾼度な処理
  • 13. ® © 2016 MapR Technologies 13 エンタープライズ・サービス・バス (ESB)
  • 14. ® © 2016 MapR Technologies 14 第1話のまとめ •  階層化はパズルのような (Tic-Tac-Toe) アーキテクチャを引き起 こした •  ESB はコントロールが複雑な⽷の⽟を引き起こす –  泥の⽟よりはましだが、ちょっとだけ •  問題は解決していない
  • 15. ® © 2016 MapR Technologies 15 第2話 スタートアップの侍 The startup Samurai
  • 16. ® © 2016 MapR Technologies 16 振り⼦が揺り戻す時 •  ESB はまだ有効でよく使われている •  しかし、反動が進⾏中 –  Google, Facebook, Netflix, Amazon, LinkedIn –  さらに数多くの知られていない企業も –  シリコンバレー・スタートアップの世界と深く関連している –  JavaScript, Python コミュニティでの開発と深く関連している •  Meteor.js, node.js •  Swagger •  n層アーキテクチャの置き換えを考慮
  • 17. ® © 2016 MapR Technologies 17 RPC layer Logic Disk RPC layer Logic Disk RPC layer Logic Disk まずパーティショニングを考える
  • 18. ® © 2016 MapR Technologies 18 ジョブとコミュニケーションの⽅法を与えてやる Light-weight を 維持することが重要!
  • 19. ® © 2016 MapR Technologies 19 結果は素晴らしいものになり得る •  このスタイルを採⽤した企業と、素晴らしい成功の間には関連 がありそう –  前のページのリストをご覧ください •  採⽤していない企業はどうかというと … •  もちろん、これは優秀な技術者を雇えた企業のみが実現できた だけかもしれない –  実際、ものすごく優秀なチームでないとできないかも …
  • 20. ® © 2016 MapR Technologies 20 しかし … •  多くの議論では RPC (コール/レスポンス) サービスが話題に上 る •  これ⾃体はよいが、これだけでは不⼗分 •  重要なのは遅延処理 (Deferred Processing) –  ⼀部は急いで処理 –  メッセージをキューに⼊れて後で完了させる
  • 21. ® © 2016 MapR Technologies 21 しかし … •  RPC はシンプル … –  REST –  Protobuf –  Avro –  などなど •  ネットワーク + DNS + ロードバランサー以外には何の基盤もい らない –  そして既にそれらはある •  スケーラブルではない永続化レイヤーがしばしば使われている
  • 22. ® © 2016 MapR Technologies 22 メッセージ・ベース・サービスを実現するには •  メッセージ受信者は現時点で動作していないかもしれない –  永続化キューが必要 •  メッセージの数は⾮常に多い –  外部へのリクエストの総数(5〜10倍) –  永続化オペレーションの総数(2〜3倍) •  秒間数百万メッセージ、GB/s ものトラフィックは⼗分あり得る •  スタートアップはいいとして、エンタープライズが採⽤する際 には新たな課題
  • 23. ® © 2016 MapR Technologies 23 第2話まとめ •  マイクロサービスは耐障害性のある⾼性能なメッセージング キューを必要とする •  これらのシステムは耐障害性と⾼性能が好ましいだけではない •  これらのシステムは耐障害性が必須。⾼性能も必須 •  伝統的なキューは適⽤できない
  • 24. ® © 2016 MapR Technologies 24 第3話 使い古されたメタファー The tired metaphor
  • 25. ® © 2016 MapR Technologies 25 第3話 使い古されたメタファー The tired metaphor 雲の上からの眺め The view from the clouds
  • 26. ® © 2016 MapR Technologies 26 チューリングが念頭に置いていなかったこと •  従来型のプログラムはほとんどバッチ処理 –  有限の⼊⼒、有限の出⼒ –  重要なパラメータは処理時間、コスト、可⽤性、正しさ –  バッチ処理でも OK、クエリ/レスポンスでも OK •  ストリーム処理は「違う」 –  無限の⼊⼒のデータ列、無限の出⼒のデータ列 –  ⼀部の出⼒についての捉え⽅を変えても差し⽀えない –  重要なパラメータはレイテンシ、コスト、コミットメント・レベル
  • 27. ® © 2016 MapR Technologies 27 Δt tprovisional Input Output 暫定的な出⼒の存在は暫定的 な⼊⼒も取り扱う必要がある ことも注意
  • 28. ® © 2016 MapR Technologies 28 より複雑な要素 •  このレイテンシだけがすべてではない •  データの取得は即座にはできない •  レイテンシがゼロからのスタートがそもそもできない •  実際、遅延はフローベース・コンピューティングでは重要課題
  • 29. ® © 2016 MapR Technologies 29 思考問題 •  地球上のあらゆる場所の温度は何度か –  たった今 –  これを知ることは不可能 •  1時間前の地球上のあらゆる場所の温度は何度だったか? –  これを知ることは難しい •  先⽉の地球上のあらゆる場所の温度は何度だったか? –  これは⽐較的簡単 •  では今⽇の天気について話すのは不可能なのか?
  • 30. ® © 2016 MapR Technologies 30 State の問題 •  現在の地球の気温の数値は存在するかも/しないかも •  遅延つきの気温のみが現実の処理の対象となる •  処理によって遅延はバラバラ •  (気温についての例をあげましたが、全てのデータも同様です)
  • 31. ® © 2016 MapR Technologies 31 第3話まとめ •  重要な問題には、分散コンピューテーションをメッセージとフ ローで表現する必要がある •  これは便利だからという問題ではない
  • 32. ® © 2016 MapR Technologies 32 第n話 現実世界に適⽤するには Getting stuff done in the real world
  • 33. ® © 2016 MapR Technologies 33 mySQL mySQL files Web-site Auth service Upload service Image extractor Transcoder User profiles Search User action logging Recommendation analysis mySQL mySQL mySQL Oracle Solr Elastic
  • 34. ® © 2016 MapR Technologies 34 mySQL mySQL files Web-site Auth service Upload service Image extractor Transcoder User profiles Search User action logging Recommendation analysis mySQL mySQL mySQL Oracle Solr Elastic
  • 35. ® © 2016 MapR Technologies 35 マイクロサービス・ダイアグラム File upload web service Raw files Thumbnail extraction Transcoding Video metadata Video files DB updater DB snapshots Metadata snapsMetadata snapsMetadata snap db Live metadata DB uploads thumbs recodes video adds snaps Image files サムネイル 抽出 アップロード サービス ファイル ファイル フォーマット 変換 ビデオ メタデータ DBスナップ ショット DBアップ データ 画像 ファイル メタデータ スナップ DB ライブ メタデータ DB
  • 36. ® © 2016 MapR Technologies 36 省略された詳細部分 File upload web service Files Thumbnail extraction Transcoding uploads thumbs recodes Files サムネイル 抽出 フォーマット 変換 アップロード サービス ファイル ファイル
  • 37. ® © 2016 MapR Technologies 37 さらに詳細 Thumbnail extraction uploads thumbs metrics exceptions checkpoints Input Output Monitoring Restart ⼊⼒ 出⼒ 監視 再開処理 サムネイル 抽出
  • 38. ® © 2016 MapR Technologies 38 現実世界における前提 •  メッセージング機能は耐障害性があり、基盤として存在しなけ ればならない –  送信者、受信者の動作に依存してはならない •  メッセージがすべてに適しているということはない –  1TB のメッセージ? •  (スケーラブルな) ファイルが必要 •  (スケーラブルな) テーブルが必要 •  (スケーラブルな) メッセージストリームが必要 •  可能であれば永続化レイヤーもサービスから分離すべき
  • 39. ® © 2016 MapR Technologies 39 現実世界において考慮すべきこと •  耐障害性のある⾼速なキューイングが必要 –  Kafka なら OK –  MapR Streams なら OK –  それ以外の製品はほとんど対応できない •  従来のメッセージングは全く対応できない –  耐久性を確保すると、ほとんどのキューは1万メッセージ/秒 (MB/s) 未 満に –  ⾼性能システムは100万メッセージ/秒 (GB/s) 超を扱う •  1ミリ秒未満のレイテンシは別のシステムで扱う必要がある •  グローバル規模のシステムには、ここでは取り上げなかったさ らなる制約が加わる
  • 40. ® © 2016 MapR Technologies 40 まとめ •  マイクロサービスは⾃然な進化 •  マイクロサービスは耐障害性があ り、⾼速で、Kafka ⾵のキューイ ングを前提とする •  マクロ・マイクロの両⽅のアーキ テクチャが必要 •  インフラは単なるキュー以上の機 能を備える必要がある。ファイル やテーブルも必要 Web tier Middle tier Data tier Web tier Middle tier Data tier Web tier Middle tier Data tier Web tier Middle tier Data tier Thumbnail extraction uploads thumbs metrics exceptions checkpoints Input Output Monitoring Restart
  • 41. ® © 2016 MapR Technologies 41
  • 42. ® © 2016 MapR Technologies 42 Q&A @mapr_japan maprjapan sales-jp@mapr.com お問い合わせはこちらまで MapR Japan maprtech mapr-technologies