Comments
Description
Transcript
今さら聞けない クラウドのキーテクノロジー
今さら聞けない クラウドのキーテクノロジー 日経Linux 副編集長 安東 一真 2011/7/28 Nikkei Business Publications All Rights Reserved. 2011 1 本日お話すること 話題の技術、事例、最新動向 Hadoop KVS(NoSQL) Cassandra HBase MongoDB 2011/7/28 Nikkei Business Publications All Rights Reserved. 2011 2 Hadoopとは Googleが開発した技術「MapReduce」 をオープンソースで実装したもの (論文は2004年公開) 米Yahooの技術者が開発 大量データに対する処理を並列実 行で高速化 2011/7/28 Nikkei Business Publications All Rights Reserved. 2011 3 Hadoopの適用領域 Webサービス領域 ログ分析 レコメンデーション Yahooは4000台で 楽天、リクルート、クックパッドなどなど 2011/7/28 基幹バッチ処理 Nikkei Business Publications All Rights Reserved. 2011 4 基幹バッチでの適用事例 西鉄ストア ー 世界初の基幹への導入 2011年5月に本格稼働 4時間のバッチが20分に 仕入れや買掛金の確定、請求書の突き合わせ 月次 → 日次に 今月末にも単品レベルの売り上げ、利益が見ら れるように → 20万点分を日次で把握 9/16 XDevにて詳細を明らかに ノーチラス・テクノロジーズ 神林 飛志氏 2011/7/28 Nikkei Business Publications All Rights Reserved. 2011 5 MapReduceとは Map処理 Reduce処理 抽出・仕分けしたデータを集計する ログ分析 データを抽出・仕分けする URL別に仕分けして、集計 → アクセス数 基幹バッチ 2011/7/28 商品別に請求書を仕分けして集計 複数の人が手分けしてできる処理には適用可能 Nikkei Business Publications All Rights Reserved. 2011 6 仕組み: 抽出、仕分け → 集計 2011/7/28 Nikkei Business Publications All Rights Reserved. 2011 7 処理の流れ(1) 2011/7/28 Nikkei Business Publications All Rights Reserved. 2011 8 処理の流れ(2) 2011/7/28 Nikkei Business Publications All Rights Reserved. 2011 9 データ分割の仕組み ①保存先を問い合わせ ②各ノードへ均等にブロックを割り当てる。 ノードの障害などに備えて、各ブロックを複数箇所に保存する(通常3箇所) Hadoopが動作するノード群 NameNode ブロックリスト ブロック名 ブロック1 ブロック1 ブロック5 ブロック2 ブロック6 ブロック1 ③ブロックの保存 ノードを指示 HDFSクライアントソフト ④各ブロックを保存 2011/7/28 DataNode ブロック3 ブロック4 ・ ・ ・ ブロック1 ブロック2 ブロック3 ブロック4 ブロック5 ブロック6 スレーブノード4 DataNode ・ ・ ・ 入力 データ 入力 を固定 サイズ に分割 スレーブノード3 ブロック1 ・ ・ ・ CSV形式 やHadoop 独自形式の ファイル ・ ・ ・ DataNode クライアント 入力データ スレーブノード2 DataNode ・ ・ ・ ・ ・ ・ ・ ・ ・ ブロック2 スレーブノード1 保存ノード スレーブノード1 スレーブノード2 スレーブノード3 スレーブノード2 ・・・ 通知や指示 データの流れ Nikkei Business Publications All Rights Reserved. 2011 10 障害を自動復旧 障害が起こると、Map処理、Reduce処理のど ちらも自動的に再実行 投機的再実行 2011/7/28 遅くなっているマシンに対処 Nikkei Business Publications All Rights Reserved. 2011 11 簡易言語(DSL)が充実 MapReduceアプリケーションを生で書くのは難 しい。(並列処理の基礎知識) DSL(ドメイン特化型言語) Pig 簡易なスクリプト言語 Hive SQLで分析処理を記述できる Asakusa 基幹バッチ処理向け。MapReduceの知識が不要 2011/7/28 Nikkei Business Publications All Rights Reserved. 2011 12 Hiveの例 SELECT a.name FROM employee a WHERE a.birth > '1980'; 2011/7/28 Nikkei Business Publications All Rights Reserved. 2011 13 Asakusaは三つのDSLで構成 Operational DSL Flow DSL 基礎演算子 → Hadoopの知識が必要 業務処理(データフロー)を記 → Hadoopを意識しなくてOK Batch DSL 2011/7/28 いわゆるジョブフローの記述 → 簡単なスクリプ トのようなもの Nikkei Business Publications All Rights Reserved. 2011 14 実装が増えている(1) Cloudera 商用ディストリビューションの草分け Hadoopの生みの親(ダグ・カッティング氏)などが 参加 Elastic MapReduce 米Amazon Web Servicesのサービス 自営のマシンは不要 2011/7/28 国内事例も増えつつある Nikkei Business Publications All Rights Reserved. 2011 15 実装が増えている(2) Hortonworks Yahooからスピンアウト。Apache Hadoopを開発 次世代Hadoop MapR Technologies クローズドなソフト。単一障害点をなくす。 MapReduceを独自に実装、HDFSを書き直し 米EMCと提携、Greenplumと連携 米Microsoftの「Dryad」 2011/7/28 Nikkei Business Publications All Rights Reserved. 2011 16 KVSとは キーと値のペアで読み書きするデータベース スケーラビリティー、耐障害性が高い NoSQL(SQLを使わない)と総称されることが 多い 用途に合ったソフトを選ぶ必要がある 2011/7/28 Nikkei Business Publications All Rights Reserved. 2011 17 KVSの分類 揮発性 キャッシュとして高速化 memcached mixiなど広く利用されている 不揮発性 Cassandra HBase MongoDB 2011/7/28 Nikkei Business Publications All Rights Reserved. 2011 18 狭義と広義 2011/7/28 Nikkei Business Publications All Rights Reserved. 2011 19 CAP定理で分類 A (可用性) CA: RDBMS C (一貫性) 2011/7/28 AP: Cassandra CP: Hbase、 MongoDB P (分割耐性) Nikkei Business Publications All Rights Reserved. 2011 20 Cassandraとは(1) 米Facebookが開発、現在はApacheのOSS データの一貫性よりも、可用性を重視 特に書き込みが速い 単一障害点がない Twitter、Rackspaceなどが利用 Facebookは・・・ もう使っていません 2011/7/28 Nikkei Business Publications All Rights Reserved. 2011 21 Cassandraとは(2) 米Amazonの「Dynamo」がベース 書いたデータをすぐに読み出すと、読めないこと もある・・・ ショッピングバスケットの例 バスケットに入れたデータがマレに間違うことよりも、 何秒も画面が表示されないことの方が問題 売り上げランキングなどならOK 一貫性の高さはアプリケーションで選択 2011/7/28 Nikkei Business Publications All Rights Reserved. 2011 22 Cassandraの仕組み 日経SYSTEMS 2011/7号より 2011/7/28 Nikkei Business Publications All Rights Reserved. 2011 23 HBaseとは Google Bigtableのクローン、現在はApacheの OSS 可用性よりも一貫性を重視 Hadoopと相性がよい(HDFSベース) Facebookが3000ノード、40ペタバイトで運用中 ユーザー間のメッセージ交換 サイトのアクセス分析など Hadoop+MySQLで最大24時間 → 30秒に 2011/7/28 Nikkei Business Publications All Rights Reserved. 2011 24 データの一貫性を維持 2011/7/28 Nikkei Business Publications All Rights Reserved. 2011 25 MongoDB スキーマレスでデータを格納 SQLライクに検索できる(Joinはない) 数十~数百台で分散可能 自動シャーディング “汚いデータ”の前処理などに有効 2011/7/28 ログ分析など Nikkei Business Publications All Rights Reserved. 2011 26 少し宣伝を みてわかるクラウドマガジンvol.3 Hadoop、Pig、Asakusa、 Cassandra、Hbase、 MongoDBなどを楽しく 触りながら学べます 2011/7/28 Nikkei Business Publications All Rights Reserved. 2011 27 ご静聴ありがとうございました 2011/7/28 Nikkei Business Publications All Rights Reserved. 2011 28