クラウド / Watson / Big data その先にあるものは? ⽇本アイ・ビー・エム株式会社 ソフトウェア事業 エバンジェリスト
by user
Comments
Transcript
クラウド / Watson / Big data その先にあるものは? ⽇本アイ・ビー・エム株式会社 ソフトウェア事業 エバンジェリスト
渋⾕テクニカルナイト 2011 【ザ・クラウド編】 総括! クラウド / Watson / Big data その先にあるものは? ⽇本アイ・ビー・エム株式会社 ソフトウェア事業 エバンジェリスト ⽶持 幸寿 1 今⽇のお題 • クラウド・コンピューティング • Watson = NLP + Big data • これ以降の聴き所 2 よりスマートなコンピューティング 「Big data」を分析する「オプティマイズド・システ ム」が、「クラウドで運⽤」される Big Data: Designed for data 利用可能なすべてのデータ活用し、 的確な判断に結びつける洞察を導き出す ことにおける障壁を取り除く Optimized Systems: Tuned to the task すべてのワークロードにおけるより良い パフォーマンスと効率化を進めることにより、 金銭的な障壁を取り除く Cloud: Managed through the cloud 迅速な新サービスを導入し、変革をもたらす ビジネス・プロセスの考案における障壁を取り除く フラットな予算で、より多くのことをしなければならない! 3 4 Pressures like workforce mobility and ワークロードを流動的にし⽣産性を向上しよう という、危機感から⽣まれる increasing productivity are placing greater ITシステムに対する⼤きな要求 demands on IT systems. Increased expectations of customers demand increased self-service capabilities. Increased demands growth in digital data from 2007 to 2011. Increased competition of the world’s largest companies in 2000 remain on that list today. 54% of surveyed enterprise IT budgets in 2010 were spent on ongoing operations and maintenance costs.* *Source: Forrester Research, Inc. "2011 IT Budget Planning Guide," October 7, 2010 by Craig Symons 5 © 2011 IBM Corporation As a result, cloud is an increasingly attractive means 結局、ITサービスを作り、提供していく過程において of creating and delivering IT services. どんどん魅力的になっている。 Value delivered From traditional To cloud Change management Months Days or hours Test provisioning Weeks 20 minutes Install database 1 day 12 minutes Install of operating system 1 day 30–60 minutes Provisioning environment ▄ 51% cost savings Design and deploy business applications Months Days/Weeks “Our commitment to informed decision making led us to consider private cloud delivery of Cognos via System z, which is the enabling foundation that makes possible +$20M savings over 5 years.” – IBM Office of the CIO 6 Businesses are choosing a variety of cloud models to meet 企業は個々のニーズや優先度に応じて、異なったクラウドモ their unique needs and priorities. デルを選択している Public cloud Private cloud Available to the general public or a large industry group and owned by an organization selling cloud services. On or off premises cloud infrastructure operated solely for an organization and managed by the organization or a third party Hybrid IT Traditional IT and clouds (public and/or private) that remain separate but are bound together by technology that enables data and application portability Traditional IT Appliances, pre-integrated systems and standard hardware, software and networking. 7 オンプレミスとオフプレミスの(別の)例 マイ・カー 家呑み 家食 持ち家 vs. 所有 vs. レンタカー vs. 持ち寄り vs. パーティー 賃貸住宅 vs. レンタル vs. シェアードカー vs. 外呑み vs. 外食 ホテル ⼀時利⽤ 経済性 便利 利便性 短期間 8 IBM CloudBurst クラウド専⽤のインフラストラクチャー クラウドを実現する機能を Bladeサーバー ストレージ ネットワーク 仮想化機能 クラウド管理 ソフトウェア オールインワンで提供する製品 社内外における豊富なクラウド構 築・導⼊実績に基づく製品実装 クイックにクラウドを開始可能 標準化されたクラウドのサービス 提供のためのカタログ機能 クラウドを⾃動化するツールの搭載 クラウドを⾃動化するツールの搭載 クイック・スタート ・サービス 9 IBM Smart Business Cloud - Enterprise 変化の激しいビジネス・ニーズに機敏に対応し、IT資源を迅速かつ柔軟に、 最適なコストで提供することのできる、クラウドサービスです インターネット お客様(管理者) 3 ステップで簡単に、 新しい仮想サーバーを立ち上げ。 サーバー の選択 スペック 決定 起動完了! お客様専用の 仮想システム環境 お客様専用の 仮想環境を割り当て IBMクラウド・データセンター(日本を含む世界5か所*1) *1 2011年4月8日現在 10 東京工科大学様 H-Lcloud インターネット 学生 通常時(固定費が安い) 授業日(一時利用が安い) 自動スケール 11 IBM Image Construction and Composition Tool VMイメージの構築と組み⽴てツール お客様(管理者) インターネット お客様専用の 仮想システム環境 VMImage お客様専用の 仮想環境を割り当て http://alphaworks.ibm.com/tech/iicct *1 2011年4月8日現在 12 IBM Workload Deployer(IWD) • IaaSレベルのプライベート・クラウドに、”Workload”をデプロイ /運用管理することでPaaSを実現するアプライアンス製品 –必要なコンポーネント(MWではない)と要件(Policy)を定義すると、そ れに対応する”Workload”をパターンとして生成し(PaaSにおけるアプリ ケーション・プラットフォームに対応)、VMware ESX環境にデプロイす る デプロイ+運用管理 アプリケーション プラットフォーム IBM Workload Deployer VMware ESX環境 13 Watson = NLP + Big data 14 米国人気クイズ番組 『 Jeopardy! 』 への挑戦には 自然言語の複雑かつ高度な分析を必要とする 歴代出場者で 最も好成績をおさめた チャンピオン、 ジェニングス氏(左)と ラター氏(右)、中央は Watsonのアバター 幅広いカテゴリーより自然言語で出題される質問 質問を瞬時に理解し解答するスピード POWER750×90台(2880コア+ 15テラバイトメモリー) 11520スレッドが実行 (80兆命令/秒) 15 自然言語処理 NLP(Natural Language Processing) • 私は京都から東京都内のマンションに引っ越します。 • 私/は/京都/から/東京都/内/の/マンション/に/引っ越す/ます。 名詞 接続詞 動詞 言語同定 → 形態素解析 → 品詞同定 → 係り受け解析 → 正規化 16 UIMA (Unstructured Information Management Architecture) • 非構造化データを処理するための実行フレームワーク – CAS – アノテーター http://uima.apache.org/ 17 IBM Content Analytics 概観 検索フィールド 操作ボタン ファセットツリー 分析ビュー 18 IBM Content Analytics の5つの分析機能 Content Analytics は、以下の5つの分析機能を提供します。 1.ファセット分析 特 4.トレンド分析 許 3.偏差分析 2.時系列分析 5.ファセット・ペア分析 頻度 特許 時間 19 LanguageWare • 80% of the digital data growth is expected to be in unstructured data • ⾃然⾔語テキストを処理するための ソフトウェア • ノンプログラミングで索引付けを調整 – – – – ⼈の名前 住所 製品名 電⼦メールアドレス • ICA を購⼊すると、インターネットか らダウンロードして利⽤可能 20 ウソ、デタラメ、デマ、噂、風評 • 地震発生直後 – 「サーバー倒れて動けない、助けて!」 • 原発関連・・・ – – – – – – – – うがい薬を飲むとよいらしい(安定ヨウ素) 塩があぶない(中国)→砂糖まで買い占め 「ミネラルウォーターでミルク」はダメ 水道水は沸騰させれば・・・ 放射性物質を排出できるアロマ 核爆発のシナリオ 漁には出たが水揚げできず 「20年は住めない」と菅さんが言った? • 急に大量に必要になることも – – – – ペットボトル水 水道フィルター 懐中電灯 太陽電池パネル 思い込みによる買い占め ⽶、パン、⼩⻨粉、 卵、⽜乳、ティッシュ、 トイレット・ペーパー、 ガソリン ヨーグルト、納⾖、ベニヤ などは 本当に⼊⼿困難に 21 ソーシャル・メディア分析 マーケットの声 ム ー レ ク IBM Content Analytics 分析 収集 ソーシャル メディア ⼝コミ ⾵評 ⾃然⾔語解析 整理 InfoSphere BigInsights = + 統計分析 テキスト・マイニング 解析 22 ソーシャル分析における辞書作成の難しさ • キターッ アゲ サゲ ↑ ↓ ヤバイ やばい まじすか これほ しい カワユス トゥギャりました ハマる なう ちう だん コワ ワロタ w ヲワタ メモメモ めっさ あざす おはあり おつあり ほかってくる ワクワクテカテカ ワクテカ wktk Ur thx TL LT ♪ ω orz ~したお うぷ • っ抜き • たのしかた おいしかた 待てるね 寒かた • ゛抜き • けたいのはてりかなくなてきた→携帯のバッテリーがなくなってき た 23 24 Big data それにしてもデータが多い! ヨタ ゼタ エクサペタ テラ ギガ メガ キロ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 1000000000000000000000000 , , , , , , , , ↑ ↑ ↑ ↑ ↑ ↑ 禾|弟 垓 京 兆 億 万 |・・・・2・・・・|・・・・1・・・・|・・・・ 25 Big data スマーター・プラネット 迅速な判断 リアルタイム性 リアクティブ・アナリティクス 流動するデータ 深い洞察 将来の予測 ディープ・アナリティクス 蓄積しているデータ Big data 26 新たな分析/計算基盤が必要になってきています。 Stream Computing In memory Technology 低 大量データを ディスク着地前に 処理 リアルタイム 分析・計算 ・インメモリー技術 ・CPU コスト低下 DWH Appliance IBM Smart Analytics System 予測分析 SPSS DWH 小 BA Cognos InfoSphere Warehouse 高 遅延時間 / レイテンシー InfoSphere Streams ディスク着地後の 大量データを 処理 Distributed Data Processing MapReduce InfoSphere BigInsights hadoop 大量分析・ 計算 ・マシンのコモディティ化 ・オープンソース技術 スループット 大 27 IBM InfoSphere Streams v2.0 開発環境& 管理コンソール ランタイム 環境 ツールキット& 連携アダプター Front Front Office Office SQL Server • StreamsStudio (Eclipse統合開発環境) • StreamsLiveGraph (JOBフロー可視化) • StreamsDebugger • OS: Linux (RHEL v5.3 -) • Intel x86マルチコア • TCP /UDP /LLM 通信 プロトコールのサポート • InfiniBandのサポート • 最大125サーバの クラスタ環境 ORACLE My SQL • 標準ツール・キット • 拡張ツールキット •インターネット •データベース •フィナンシャル •データ・マイニング •解析ツール・キット (PMML対応) • ユーザ定義ツールキット 28 Streams開発(Eclipse)画面/WEB管理コンソール 29 What are key differentiating technical capabilities of Streams? Volume, Variety, Velocity, Analytics, and Agility ストリーミング・アプリケーションに 開発された言語: SPL 一連のオペレーター・グループを1 つのプロセスにコンパイル可能: 再利用可能な事前定義のオペレータ群 ラピッド・アプリケーション開発(作って試す) 継続的な「パイプライン」処理 CPUコアの最適使用 分散実行 高速データ通信 自動最適化(統計に基ずく) 様々なデータを処理。 より速く、他社より速く: 様々なデータ型の処理が可能 既存の手法では、処理コストが 大きすぎるデータの処理。 容易な拡張性: ビルドイン・アダプター群 C++やJavaで実装することが できるユーザ定義関数 容易な管理: 自動的なジョブ配置 アプリケーションの拡張 マルチ・ユーザー / マルチ・アプリケーション ダイナミックな解析: 柔軟かつ非常に 高いトランスポート性能 (TCP/LLM): ランタイム中でのトポロジー変更 新しいサブスクリプションの作成 新しいポートの作成 とても低い遅延時間 高いデータレート 30 30 Hadoop • 大量データを扱う、分散処理システム(Apacheオープンソース) – コモディティーマシンを並べれば使える – クラスターをストレージ化 – MapReduceで、分散、集計処理 – Java実装 Googleの論文 Yahooが中心と なって開発 クラスター JobTracker HDFS master TaskTracker MapReduce TaskTracker MapReduce TaskTracker MapReduce HDFS slave HDFS slave HDFS slave データ データ データ TaskTracker TaskTracker TaskTracker TaskTracker TaskTracker HDFS slave HDFS slave MapReduce HDFS slave HDFS slave HDFS slave データ 31 HDFSと自動レプリカ ネームノード ファイルA A1 A2 A3 三つのレプリカ ファイルB B3 二つのレプリカ B1 B2 A1 A3 A1 B1 A3 A1 B1 A2 B2 A2 A2 A3 B3 B3 B1 データノード群 もし、このマシンが ダウンしたら・・・ A1 B2 A3 別の正常なマシンから レプリカが再実行される 32 MapReduce input input input InputFormat ジョブ投入 Driver <Key, Value> <Key, Value> <Key, Value> Split Split Split <Key, Value> <Key, Value> <Key, Value> Map Map <Key, Value> <Key, Value> Map <Key, Value> シャッフル(ソート) <Key, Value> Reduce <Key, Value> 出力ファイル(群) OutpurFormat 33 BigInsights – 製品コンポーネント概要 • InfoSphere BigInsights Enterprise Edition v1.1 は以下のコンポーネントを含みま す: – IBM Distribution of Apache Hadoop (IDAHO) with IBM Java - to support massive scale-out data processing and analysis on commonly available hardware, with inherent resiliency and fault tolerance • Adaptive MapReduce - Highly parallel flexible data processing framework supports structured, semi-structured, and unstructured for maximum flexibility; structure can be interpreted on the fly. IBM enhanced version of MapReduce. • Hadoop Distributed File System (HDFS) - スケーラブル、可用性を持ったHadoop専用ファイルシステム – Jaql(ジャックル) JSONデータに対するクエリ言語 a Query Language for JavaScript Object Notation to facilitate analysis of unconventional data, and integration with traditional data stores – Hadoopエコシステムのオープンソース・コンポーネント: • • • • • • • – – – – – – – Apache Pig/Pig Latin (プログラミング言語) Cloudera Flume (データ収集、集約) Apache Hive/HiveQL (データ要約・クエリ) Apache Lucene (テキストサーチ) Zookeeper (プロセス・コーディネーション) Avro (データ・シリアライズ) Apache hBase (リアルタイム・キーバリュー・書き込み読み込み) 容易な管理を可能にする「管理コンソール」 IBM InfoSphere Warehouse, DB2 (LUW)との連携機能 テキスト分析エンジン (System T) WEBベースの管理コンソール, LDAP セキュリティ (WASCE) ワークフロー・エンジン (Orchestrator) より柔軟なスケジューラー (FLEX) 開発環境としての、IBM Optim Development Studio 2.2.1 34 BigInsights – 2つのバージョン • • 製品リリース 5月27日: 販売開始 6月24日: メディア配布開始 • InfoSphere BigInsights – Basic Edition 無償版(1クラスタ10TBまで) Webコミュニティ・サポートのみ – Enterprise Edition RVU(Resurce Value Unit) データサイズによる課金体 →URL: 独自拡張機能 IBMによるサポート 35 BigSheets • BigInsightsのGUIのように 使うことができる 分析GUI http://www.ibm.com/support/docview.wss?uid=swg21504124&aid=1 36 Jaqlクエリはデータフローのパイプライン A Jaql query is a data flow pipeline read transform filter Find users in zip 94114 write Arrays of JSON records flow between operators Query Output Data read(hdfs(“users”)) Æ filter $.zip == 94114 Æ transform { $.id, $.name } Æ write(hdfs(“inzip”)); [ { id: 12, name: “Joe Smith” }, { id: 19, name: “Alicia Fox” } ] ポイント:JSON型式のオブジェクトを操作していく過程を 記述するクエリ言語で、「パイプライン・プログラミング」と 呼ばれる型式で記述していきます。 37 典型的な、ワードカウントのMapReduceサンプルソース package com.yone.mapreduce; import java.io.IOException; import java.util.StringTokenizer; import import import import org.apache.hadoop.io.IntWritable; org.apache.hadoop.io.LongWritable; org.apache.hadoop.io.Text; org.apache.hadoop.mapreduce.Mapper; public class MyMapper extends Mapper<LongWritable, Text, Text, IntWritable> { private final static IntWritable one = new IntWritable(1); private final static Text word = new Text(); public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { String line = value.toString(); StringTokenizer tokenizer = new StringTokenizer(line); while (tokenizer.hasMoreTokens()) { word.set(tokenizer.nextToken()); context.write(word, one); } } } import import import import java.io.IOException; org.apache.hadoop.io.IntWritable; org.apache.hadoop.io.Text; org.apache.hadoop.mapreduce.Reducer; public class MyReducer extends Reducer<Text, IntWritable, Text, IntWritable> { private IntWritable result = new IntWritable(); public void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException { int sum = 0; for (IntWritable val : values) { sum += val.get(); } result.set(sum); context.write(key, result); } } Jaqlの場合 package com.yone.driver; import import import import import import import import import import package com.yone.mapreduce; org.apache.hadoop.conf.Configuration; org.apache.hadoop.conf.Configured; org.apache.hadoop.fs.Path; org.apache.hadoop.io.IntWritable; org.apache.hadoop.io.Text; org.apache.hadoop.mapreduce.Job; org.apache.hadoop.mapreduce.lib.input.TextInputFormat; org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; org.apache.hadoop.util.Tool; org.apache.hadoop.util.ToolRunner; import com.yone.mapreduce.MyMapper; import com.yone.mapreduce.MyReducer; public class MyDriver extends Configured implements Tool { @Override public int run(String[] args) throws Exception { Configuration conf = new Configuration(); conf.set("mapred.job.tracker", "name.yone.com:9001"); conf.set("fs.default.name", "hdfs://name.yone.com:9000/"); Job job = new Job(conf, "WordCount"); job.setJarByClass(MyMapper.class); job.setMapperClass(MyMapper.class); job.setCombinerClass(MyReducer.class); job.setReducerClass(MyReducer.class); // job.setInputFormatClass(TextInputFormat.class); // job.setOutputFormatClass(TextOutputFormat.class); TextInputFormat.setInputPaths(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); return job.waitForCompletion(true) ? 0 : -1; hdfsShell("-copyFromLocal <ローカルファイル名> <HDFSファイル名>"); $lineRdr = read({type: "hdfs", location: "<HDFSファイル名>", inoptions: {format: "org.apache.hadoop.mapred.TextInputFormat", converter: "com.acme.extensions.data.FromLineConverter"}}); registerFunction("splitArr", "com.acme.extensions.expr.SplitIterExpr"); $lineRdr -> expand splitArr($, " ") -> group by $w = ($) into [$w, count($)] -> count(); } public static void main(String[] args) throws Exception { // FileUtil.deleteDirectory(new File("data/output")); // args = new String[] { "data/input", "data/output" }; ToolRunner.run(new MyDriver(), new String[] { "/user/hdpadmin/input", "/user/yone/outputA" } // 入力ファイルと出力フォルダー ); } } ポイント:Java言語で記述する場合と、Jaqlクエリ言語で記述する コード行数の比較。簡単なワードカウントを行うようなMapReduce 処理の記述も、Jaqlクエリ言語を使うとシンプル、かつ、短いコード 量で記述が可能です。 38 Orchestrator (Metatracker)によるフロー制御管理 JI Flow Description JI JI Java API JI Active Job Instances Scheduler State Manager State Store Database Temp Directories Permanent Directories Distributed Filesystem ワークフロー・マネージャー - 時刻・データをトリガーにするジョブのフローを 定義 - 実行中にフロー・パラメーターを変更 Working - 永続データの管理 Directories - 障害からの回復 - 大きなエラーのハンドリング(定義した処理 Local Filesystem フロー) 39 SQLとhttpによるDB2とBigInsightsの連携 Infosphere Warehouse Cubing services SQL DB2 Excel Jaql client JaqlSubmit UDF HDFSRead UDF Http Http Infosphere BigInsights Jaql server Web log data on Hadoop HDFS Persistent data 40 40 41 次回以降の聴き所 42 クラウド時代のサービスマネジメント • 岩村郁雄 • ITIL® V3では、サービスのライフサイクル管理として戦略、設計、移行、運用、そし て継続的サービス改善の5つのフェーズが定義され、クラウドのITサービスマネジメ ント(ITSM)も各フェーズに分けて考えることができます。今回は、運用フェーズを起 点として、クラウドのITSMを始めるにあたり推奨されるアプローチ、すなわち運用受 け入れ基準への影響と準備事項を洗い出す方法をご紹介します。また、このアプ ローチの結果、運用フェーズからの要件を戦略、設計フェーズへフィードバックする ことで、クラウド選定のための自社基準が精査される利点について説明します。 クラウドの特性により生じる運用管理の課題 Essential Characteristics (主要特性) オンデマンド・セルフサービス 迅速な柔軟性 幅広いネットワークアクセス クラウドのリスク具現化例の傾向分析 運用管理の課題 需要予測とキャパシティー管理 R3,R22 R10 日々変動する構成情報の収集・管理 サービス視点での監視 R2, R14 On Premise Public リソース・プール 抽象化された従量サービス マルチレイヤーの監視・イベント統合 Common Characteristics (共通特性) 変更管理と迅速なプロビジョニング 大規模な拡張性 窓口集約化とセルフサービス機能 均質性 仮想化 顧客ごとのサービスレベル管理 サービスの見える化(カタログ化) 回復力のあるコンピューティング 地理的分布 従量課金・請求 サービス指向 申請・承認ワークフロー 高度なセキュリティー 仮想化環境のセキュリティー A.運用主体 自社運用 運用委託 (自社標準適用) 運用委託 (委託先標準サービス) Private B. 仮想化 共用化 C. NW形態 ユーザー 物理システム 仮想化システム 仮想化システム (マルチテナント) Intranet Internet利用 (特定多数接続) Internet利用 (不特定多数接続) R11 R9 43 インテグレーテッド・サービスマネジメント(ISM)概説 • Integrated Service Management(ISM)は、サービスを適切なコストと高い品質で提 供し、業務を支援する資産を価値に転換します。当セミナーでは、ISMの概要をご紹 介し、その広範な管理領域の中で、特にキャパシティ管理と構成管理をITアセット管 理へ発展させるための考え方を解説します。さらに、クラウド、RFIDやスマートデバ イス、IPv6など、新しい技術に基づくコンポーネントを、構成管理、ITアセット管理の 対象にするためのアプローチについて説明します。 ISMの管理領域 ビジネス・サービス マネジメント ストレージ管理 ビジネス アナリティクス 人材 クラウドと仮想化 環境の管理 アセット管理 システム管理 セキュリティ Smartデバイス プロセス ツール Level-3: ビジネスインフラ全体のアセット管理 ITサービスアセットD IPv6対応機器 ネットワークとサービス保証 アセット管理 アセット管理 ビル設備管理 ビル設備管理 ITサービスアセットC ITアセット管理 ITアセット管理 ITサービスアセットA クラウド サービス ITサービスアセットB Level-2: ITとビジネスインフラのITアセット管理 キャパシティ管理 キャパシティ管理 仮想化 Level-1: ITインフラのキャパシティ管理 44 クラウド環境におけるセキュリティ • 大西克美 • 次世代インフラの中核として、また災害対策としての バックアップとしてクラウド環境を検討する企業も増 えてきています。一方、セキュリテイは長い間、クラ ウド・コンピューティングの阻害要因だとも言われて きました。では、クラウド環境で考えるべきリスクとは 何でしょうか?クラウド環境のセキュリティー対策は、 実際どこまで進んでいるのでしょうか?本セッション では企業が向き合うべきリスクを整理し、IBMが考 える解決策、ソリューションをご紹介いたします。 45 ソーシャルウェアがもたらす ワークスタイルイノベーション • 行木 陽子 • 東日本大震災で、TwitterやFacebookといったソー シャル・メディアが重要な役割を果たしたのは記憶 に新しいのではないでしょうか。こうした「ソーシャ ル」のテクノロジーや考え方は、企業が抱える情報 共有の問題を解決し、新たなワークスタイルを推進 する起爆剤になると考えられています。IBMが提唱 する「エンタープライズ・ソーシャルウェア」について 事例を交えてご紹介いたします。 46 事業継続と回復を実現するBPM (グローバルサプライチェーン) • 吉田洋一 • 急速に進むグローバル化の中で、取引先を含めた グローバル・サプライチェーン・プロセスにおける Business Process Management技術を活用した可 視化と管理による、事業継続や回復に対応できる BPMソリューションと事例をご紹介いたします。 47