>100 Views
December 16, 15
スライド概要
http://yahoo-ds-event.connpass.com/event/22017/
2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp
分散システム処理モデルの課題および展望 DATA & SCIENCE Workshop ヤフー株式会社 データ&サイエンスソリューション統括本部 今野 賢 2015年11月24日
自己紹介 今野 賢 (http://www.cybergarage.org) (こんの さとし) 2005年 ヤフー株式会社中途入社 デジタルテレビなどの組み込み機器、iOS/Androidなどのスマートフォン向けの各種仕様策 定およびサービス開発業務に従事 2012年からNoSQLデータベース、CI/CDおよびコンテナ技術関連のエコシステム開発/運用 業務に従事。現在、社内の社会人博士課程の支援制度を受けつつ、NoSQLデータベースの開 発/運用業務を担当。分散データベースおよびアーキテクト分野、黒帯 [1] [1] Yahoo! JAPAN 黒帯制度 〜エンジニアの才能と情熱を解き放つ〜 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
分散システム*1) 処理モデルの課題って? *1) 今回は分散システムを狭義にクラウドに限定して話を進めます。 画像:アフロ
分散システムにおける処理モデルの推移 [1] いっぱい あるなぁ Distributed Programming Models on Cloud Computing 2006 : Google MapReduce 2007 : Microsoft Dryad 2006 : Yahoo Hadoop 2006 : Google Chubby 2009 : Yahoo ZooKeeper 2014 : HashiCorp Consul 2011 : Twitter Storm 2010 : Apache Spark 2015 : Twitter Heron 2010 : Apache Mesos 2008 : Facebook Pig 2013 : Apache Tez 2013 : Facebook Presto 2012 : Yahoo YARN 2010 : FlumeJava 2009 : Facebook Hive 2010 : Google Dremel 2012 : Google Spanner 2013 : CoreOS etcd 2013 : Google F1 2015 : Google Borg 2014 : Google Kubernetes [1] Yahoo! JAPAN Tech Blog: : 分散システム処理モデルに関する動向について(MapReduceからBorgまで) 画像:アフロ Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
なんで、いっぱいあるの? 画像:アフロ
なぜ乱立しているのか? ⇨ 過度な単純化の弊害および反動 • 既存モデルが過度に単純化されすぎていた …. 現実世界は複雑[1][2][3][4] MapReduceの概念は ぼくでも分かり易いんだけどなぁ そもそも一つのモデルで 現実世界全てを対応するのは … 単純化されたモデルへの 反動もあっての乱立かもね ・リアルタイム処理、実行効率や最適化などの問題も顕在化 [5][6][10][11] ・近年は有向非循環グラフベースのモデルが隆盛 [1][2][3][4][7][8][9] ・過度な単純化への反動[12]は、分散クラウドデータベースの分野でも[13] [1] Dryad: Distributed Data-Parallel Programs from Sequential Building Blocks, 2007 [2] Pig Latin: A Not-So-Foreign Language for Data Processing, 2008 [3] Hive - A Warehousing Solution Over a Map-Reduce Framework, 2009 [4] FlumeJava: Easy, Efficient Data-Parallel Pipelines, 2010 [5] Large-scale Incremental Processing Using Distributed Transactions and Notifications, 2010 [6] Mesos: a platform for fine-grained resource sharing in the data center, 2011 [7] Apache Tez, 2013 [8] F1: A Distributed SQL Database That Scales, 2013 [9] Storm @ Twitter, 2014 [10] Apache Hadoop YARN: Yet Another Resource Negotiator, 2013 [11] Facebook Presto, 2013 [12] Yahoo! JAPAN Tech Blog: 分散システム処理モデルに関する動向について(MapReduceからBorgまで), 2015 [13] Yahoo! JAPAN Tech Blog: 分散システムの一貫性に関する動向について, 2015 画像:アフロ Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 結果整合性による一貫性の 問題も最近見直されてるね
いっぱいあって困るなぁ… 画像:アフロ
乱立して困ること - 分類ごとの課題と既存提案 分類 課題 既存提案 どれが いいかなぁ ・・・・・・ 投資 運用 ・専用クラスタの構築 ・専用クラスタの利用効率 ・仮想化やコンテナによる転用 [1][2][3] ・リソース管理などによる効率化 [4][5][6] 資産 ・ソフトウェア資産の継承 ・知識、経験の陳腐化 ・DSLやSQLなどの抽象化言語の採用 (利用者視点) [7][8][9][10][11][12] [1] 「OpenStack Summit Tokyo 2015」が開幕。基調講演にYahoo!、NTTグループなどが登場、「OpenStackはデータセンター抽象化のコア」(前編) [2] OpenStack, http://www.openstack.org [3] Docker, https://www.docker.com [4] Mesos: a platform for fine-grained resource sharing in the data center, 2011 [5] Apache Hadoop YARN: Yet Another Resource Negotiator, 2013 [6] Large-scale cluster management at Google with Borg, 2015 [7] Hive - A Warehousing Solution Over a Map-Reduce Framework, 2009 [8] Yahoo Query Language (YQL), 2009 [9] Dremel: Interactive Analysis of Web-Scale Datasets, 2010 [10] Spanner: Google’s Globally-Distributed Database, 2012 [11] F1: A Distributed SQL Database That Scales, 2013 [12] Facebook Presto, 2013 画像:アフロ Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 まだまだ解決すべき 問題は色々あるなぁ
?なんだかみたことあるような? !なんか既視感があるかも! 画像:アフロ
乱立して困ること - 分類ごとの課題と既存提案 分類 事例 既存提案 どれが いいかなぁ 超並列の世界だと ジョブ管理だね 投資 並列DBの世界だと クエリー並列化だね 運用 ・専用クラスタの構築 ・専用クラスタの利用効率 ・仮想化やコンテナによる転用 [1][2][3] ・リソース管理などによる効率化 [4][5][6] 資産 ・ソフトウェア資産の継承 ・知識、経験の陳腐化 ・DSLやSQLなどの抽象化言語の採用 (利用者視点) [7][8][9][10][11][12] [1] 「OpenStack Summit Tokyo 2015」が開幕。基調講演にYahoo!、NTTグループなどが登場、「OpenStackはデータセンター抽象化のコア」(前編) The high-performance computing community has a long tradition of work in this area; however the [2] OpenStack, http://www.openstack.org requirements of scale, work- loads and fault tolerance are different from those of Google’s cells. 並列DBとのMapReduceモデルを比較した「A Comparison of Approaches to Large-Scale Data Analysis, 2009」も現状を予見した意味で興味深い … [3] Docker, https://www.docker.com [4] Mesos: a platform for fine-grained resource sharing in the data center, 2011 [5] Apache Hadoop YARN: Yet Another Resource Negotiator, 2013 [6] Large-scale cluster management at Google with Borg, 2015 [7] Hive - A Warehousing Solution Over a Map-Reduce Framework, 2009 [8] Yahoo Query Language (YQL), 2009 [9] Dremel: Interactive Analysis of Web-Scale Datasets, 2010 [10] Spanner: Google’s Globally-Distributed Database, 2012 [11] F1: A Distributed SQL Database That Scales, 2013 [12] Facebook DremelPresto, is designed 2013 to operate at scale. Although it is conceivable that parallel DBMSs can be made to scale to thousands of nodes, we are not aware of any published work or industry reports that attempted that. 画像:アフロ Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 クラウド環境とは 要件が違うと言うけれど ….
よし、歴史を勉強しよう! 画像:アフロ
歴史に学ぼう Dataflow (1960年代) High Reactive Systems (1980年代) Performance Computing Parallel CSP *1) (1970年代) Database 分散システム Actor Model (1970年代) Unix (1970年代) AOP *2) (1970年代) Microkernel (1980年代) *1) CSP : Communicating Sequential Processes *2) AOP : Aspect Oriented Programming 画像:アフロ Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止