Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

クラウド上のデータ活用デザインパターン

5,619 views

Published on

2017/07/05 に開催された,AWS Solution Days 2017 DB Day の講演資料です.
https://aws.amazon.com/jp/about-aws/events/2017/solutiondays20170705/

Published in: Technology
  • Be the first to comment

クラウド上のデータ活用デザインパターン

  1. 1. クラウド上のデータ活用デザインパターン アマゾンウェブサービスジャパン株式会社 ソリューションアーキテクト, 志村 誠 2017.07.05 © 2017, Amazon Web Services, Inc. or its affiliates. All rights reserved. #AWSDBDay
  2. 2. 自己紹介 2 所属: アマゾンウェブサービスジャパン株式会社 業務: ソリューションアーキテクト (データサイエンス領域) 経歴: Hadoopログ解析基盤の開発 データ分析 データマネジメントや組織のデータ活用   志村 誠 (Makoto Shimura)
  3. 3. Agenda • データ活用の流れ • オンプレミス環境でありがちな問題 • AWS 上のデータ活用環境 • AWS におけるデータ活用のデザインパターン • AWS 上のデータ活用事例 3
  4. 4. データ活用の流れ 4
  5. 5. データを活用することで,自分たちの ビジネスの問題を把握したり,効果的な 施策を実施したり,新しい知見を得たり することができるようになります
  6. 6. データ活用の流れ 6 まずはデータを貯める 活用するためのデータがなければ,なにもできない データを貯める 貯めたデータを適切に加工整形して可視化 常に最新の必要なデータが見られるようにする データを可視化 上記 2 つが回るようになって,はじめて高度な分析へ ビジネス課題とゴールが明確になっている必要がある データサイエンス
  7. 7. https://hbr.org/2017/06/if-your-company-isnt-good-at-analytics-its-not-ready-for-ai If Your Company Isn’t Good at Analytics, It’s Not Ready for AI - Harvard Business Review
  8. 8. 各フェーズで必要なツールやリソースを確保 • データ活用の際には,さまざまなツールが必要となる – データの取得と保存,加工整形処理を行うためのツール – 可視化-基礎集計のための SQL / パイプライン処理 / BI ツール – ディープラーニングフレームワークやHadoop クラスタ, notebook などの分析ツール • ツールやモデルによって必要リソースも異なる – CPU / GPU / メモリ / IO – 単一インスタンス / クラスタ / 組み込み 8
  9. 9. 高速に試行錯誤を行う • データ活用は,基本的に試行錯誤を伴う – データの量や中身の変更への継続的な対応 – ビジネスの状況変化に伴う,さまざまな指標の定期 的な見直し – 機械学習モデルの構築・改善サイクル • この試行錯誤の回数をいかに高速に積み重ねる かが,良い結果を導きだすために重要 9
  10. 10. データ分析をうまく進めるには 適切なツールやリソースを確保して 試行錯誤のサイクルを高速に回す必要がある
  11. 11. オンプレミス環境でありがちな問題 11
  12. 12. オンプレミス環境でのデータ活用は さまざまな「柔軟性」がないために うまくサイクルを回せないことが多い
  13. 13. 柔軟性の問題 • 時間の柔軟性 • アーキテクチャの柔軟性 • リソースの柔軟性 • ワークロードの柔軟性 13
  14. 14. 時間の柔軟性 14 ハードウェアの減価償却サイクルが長く 技術が進歩するスピードやデータ量の増加に追従できない
  15. 15. アーキテクチャの柔軟性 15 既存のアーキテクチャに投資してしまっており そこに付け加える形での活用を前提に考えがち
  16. 16. リソースの柔軟性 16 CPU とストレージが不可分で片方だけ追加できない 需要に合わせてリソースを変動させることができない
  17. 17. ワークロードの柔軟性 17 ワークロードにより異なるさまざまなリソースを 適宜用意するのが難しい
  18. 18. オンプレミス環境でのデータ活用は さまざまな「柔軟性」がないために うまくサイクルを回せないことが多い
  19. 19. AWS 上のデータ活用環境 19
  20. 20. データ活用に適した AWS の特徴 20 Agility: 試行錯誤を簡単に. 大規模でもスモールスタートで も同じようにデータ処理 Scalability: キャパシティや 機能制約を気にすることなく ,いつでもジョブを実行 Get to Insights Faster: デー タの前処理ではなく,データ分 析にフォーカスできるように Broadest and Deepest Capabilities: 90以上のサー ビスを活用して,あらゆるワー クロードでデータ処理 Low Cost: 従量課金制なの で,必要なコストは使ったぶ んだけ払えば良い Data Migrations Made Easy: ペタバイトスケールのデ ータまで素早く効率的にクラウ ドに移行可能
  21. 21. Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache NoSQL DB & Redis Relational Database Amazon EMR Amazon Aurora Amazon Machine Learning Machine Learning Any Open Source Tool of Choice on EC2 DataSources Amazon S3を中心としたデータレイク Clusterless SQL Query Amazon Athena TransactionalData
  22. 22. Amazon S3 Data Lake Batch Analytics Amazon Kinesis Streams & Firehose Hadoop / Spark Amazon Redshift Data Warehouse Amazon DynamoDB & ElastiCache NoSQL DB & Redis Relational Database Amazon EMR Amazon Aurora Amazon Machine Learning Machine Learning Any Open Source Tool of Choice on EC2 DataSources Amazon S3を中心としたデータレイク Clusterless SQL Query Amazon Athena TransactionalData すべてのデータを1ヶ所に集めて保存 データストアとデータ処理の分離 用途に応じた適切な処理方法の選択
  23. 23. Amazon S3 高い耐久性と可用性を持つスケーラブルなオブジェクトストレージ • 99.999999999%の耐久性と,99.99%の 可用性を持つ設計 • 暗号化技術(SSE, CSE)にも対応し,安 全にデータを保存 • 利用したデータのぶんだけ従量課金 • 多くのAWSにとって仮想的なデータレイヤ
  24. 24. Amazon Kinesis Amazon Kinesis Streams ストリームデータを 処理・分析するための データを格納 Amazon Kinesis Firehose ストリームデータを S3, Redshift, ESに 簡単にロード Amazon Kinesis Analytics ストリーミングデータを 標準的なSQLクエリで 簡単に分析 ストリームデータを収集・処理・配信するためのマネージドサービス群
  25. 25. Amazon EMR • 運用コストでHadoopを使用 • ジョブに応じてクラスタのリサイズが可能 • S3上のデータを直接読み込んでジョブを 実行し,結果をS3に吐き出せる • Spark, Hive, Presto, Hbaseなどさまざま なHadoopエコシステムを利用可能 • Jupyter や Rstudio 等必要なソフトウェ アを入れた形で起動可能 • 大規模データのETLや機械学習処理などの ワークロードに適している フルマネージドでスケーラブルなHadoopクラスタ
  26. 26. Amazon Athena 26 フルマネージドでS3上のデータに対してSQLクエリを実行 • フルマネージドで運用コストがかからない • Prestoベースで標準SQLが実行可能 • 走らせたクエリのぶんだけ従量課金 • S3に貯めたWebサーバのログに対してク エリを投げてサービス障害の原因を探った り,手軽にアドホック分析をおこなう
  27. 27. Amazon Redshift フルマネージドでスケーラブルなデータウェアハウスサービス Leader node Compute nodes SQL Client / BI Tools JDBC / ODBC Driver • MPPアーキテクチャとカラムナのデ ータ格納により,スケーラブルで高 速なクエリが実行可能 • データストアを最大2PBまで拡張 • JDBC/ODBC経由でさまざまなBIツ ールと連携 • BIツールと連携して,データウェア ハウスとして分析の中心に
  28. 28. Amazon Redshift Spectrum Redshift から S3 上のデータに直接クエリできる拡張機能 Leader node Compute nodes SQL Client / BI Tools JDBC / ODBC Driver • Redshift クラスタから,直接 S3 上 のデータにクエリを投げられる • Redshift 内のデータと JOIN するこ とも可能 • 利用頻度の低いコールドデータを S3 に置いて Spectrum 経由でアクセス し,ホットデータのみ Redshift 内に ロードしておく • 複数の Redshift クラスタから同じ S3 上のデータを読み込む
  29. 29. P2 インスタンス + Deep Learning AMI • インスタンスあたり最大 16個の GPU (NVIDIA Tesla K80)を使う ことで,ディープラーニングのモデル構築にかかる時間を大幅に短 縮可能 • Deep Learning AMI によって,主要フレームワークがすべてプリ インストールされた状態で,インスタンスが立ち上がる 29 Instance Name GPU Count Memory GPU Memory Network Performance P2.xlarge 1 61GiB 12 GiB High P2.8xlarge 8 488GiB 96 GiB 10 Gigabit P2.16xlarge 16 732GiB 192 GiB 20 Gigabit
  30. 30. AWS におけるデータ活用のデザインパターン 30
  31. 31. BI パイプラインパターン データサイエンスパイプラインパターン パイプライン マルチクラスタパターン ホットデータパターン ラムダアーキテクチャパターン 複数レイヤの分析 マルチノードパターン マルチツールパターン スタンプパターン 分析の柔軟性 AB テストパターン データマネジメントパターン カタログサーチパターン 品質の担保
  32. 32. BI パイプラインパターン DS パイプラインパターン パイプライン マルチクラスタパターン ホットデータパターン ラムダアーキテクチャパターン 複数レイヤの分析 マルチノードパターン マルチツールパターン スタンプパターン 分析の柔軟性 AB テストパターン データマネジメントパターン カタログサーチパターン 品質の担保
  33. 33. BI パイプラインパターン 33 • Redshift および Athena で S3 上のさまざまなデータを可視化 • 既存のデータウェアハウス / BI 環境を活用 • 必要なデータはすぐにアクセスでき,簡単に可視化できる環境 S3 S3EMRData Source Redshift QuickSight
  34. 34. BI パイプラインパターン 34 • Redshift および Athena で S3 上のさまざまなデータを可視化 • 既存のデータウェアハウス / BI 環境を活用 • 必要なデータはすぐにアクセスでき,簡単に可視化できる環境 • Athena で生データにも直接アクセス S3 S3EMRData Source Redshift QuickSight Athena
  35. 35. リブセンスさま アナリティクスのためのデータパイプライン https://speakerdeck.com/livesense/ribusensufalsedetafen-xi-ji-pan-falsequan-mao
  36. 36. データサイエンスパイプラインパターン 36 • Kinesis 経由で取得したストリームデータに前処理 & 機械学習モデ ルを適用 • モデルの適用結果をすぐに API 経由で利用できるようにする • S3 に貯めたデータを使って,定期的にモデルを更新 Data Source Kinesis Streams EMR S3 Dynamo DB Lambda API Gateway
  37. 37. Hearst さま クリックストリームを高速に分析する https://www.slideshare.net/AmazonWebServices/bdt306-how-hearst-publishing-manages-clickstream-analytics-with-aws
  38. 38. BI パイプラインパターン DS パイプラインパターン パイプライン マルチノードパターン マルチツールパターン スタンプパターン 分析の柔軟性 AB テストパターン データマネジメントパターン カタログサーチパターン 品質の担保 マルチクラスタパターン ホットデータパターン ラムダアーキテクチャパターン 複数レイヤの分析
  39. 39. マルチクラスタパターン • ワークロードに応じて,最適なスペックのクラスタを使用 • 各コンピュートリソースが明確に分かれており,互いに影響を与える ことなく,並列で処理を実行可能 S3 EMR (ETL) EMR (部署 A クエリ) EMR (部署 B クエリ) EMR (ユーザ A 機械学習) EMR (ユーザ B 機械学習テスト) EMR (ユーザ B 機械学習 本番)
  40. 40. FINRA さま S3 上のデータに対して複数の EMR で分析を実施 https://www.slideshare.net/AmazonWebServices/bdt305-amazon-emr-deep-dive-and-best-practices
  41. 41. ホットデータパターン 41 • 蓄積したデータについて,直近のホットデータとコールドデータで アクセスの方法を変える • コストを下げつつ,全データへのアクセシビリティを確保 S3 (過去データ) Redshift (直近3ヶ月データ) Spectrum 経由でアクセス
  42. 42. NASDAQ さま ホットデータは Redshift / コールドデータは Presto https://www.slideshare.net/AmazonWebServices/bdt314-a-big-data-analytics-app-on-amazon-emr-amazon-redshift
  43. 43. ラムダアーキテクチャパターン 43 • 取得したデータについて,スピードレイヤーとバッチレイヤーの 2系統で処理 を行う • サービスの状態をモニタリング対応しつつ,貯めたデータをじっくり分析 Kinesis Stream Data Source Kinesis Analytics Kinesis Firehose Elasticsearch Service S3Kinesis Firehose Redshift QuickSight
  44. 44. SmartNews さま スピードレイヤーとバッチレイヤーによる可視化 https://www.slideshare.net/smartnews/20160127-building-a-sustainable-data-platform-on-aws
  45. 45. BI パイプラインパターン DS パイプラインパターン パイプライン AB テストパターン データマネジメントパターン カタログサーチパターン 品質の担保 マルチクラスタパターン ホットデータパターン ラムダアーキテクチャパターン 複数レイヤの分析 マルチノードパターン マルチツールパターン スタンプパターン 分析の柔軟性
  46. 46. マルチノードパターン 46 • パラメタやデータを変えて,複数のモデルを並列で走らせる • AWS Batch で複数の ECS コンテナを立ち上げ,ディープラーニング モデルのハイパーパラメータ探索を行う S3Batch ECS Worker ECS Worker ECS Worker
  47. 47. マルチツールパターン 47 • Zeppelin / Jupyter / Rstudio 等で必要なデータを深く分析 • 用途に応じて柔軟にクラスタサイズを変更して,マシンリソースを確保 • モデル作成に必要なデータは,生データまでさかのぼって取れるように S3 S3EMRData Source EMR EMR P2 instance
  48. 48. Netflix さま さまざまなツールを用いてデータを活用 https://www.slideshare.net/AmazonWebServices/aws-reinvent-2016-netflix-using-amazon-s3-as-the-fabric-of-our-big-data-ecosystem-bdm306
  49. 49. スタンプパターン 49 • あらかじめ自分たちのモデル構築に必要な環境を,AMI の形で構築して おくことで,同じ環境を簡単に構築可能 • Deep Learning AMI をベース + 独自のパッケージを追加 S3 P2 instance (モデル A) P2 instance (モデル B) P2 instance (モデル C)
  50. 50. BI パイプラインパターン DS パイプラインパターン パイプライン マルチクラスタパターン ホットデータパターン ラムダアーキテクチャパターン 複数レイヤの分析 マルチノードパターン マルチツールパターン スタンプパターン 分析の柔軟性 AB テストパターン データマネジメントパターン カタログサーチパターン 品質の担保
  51. 51. AB テストパターン • 複数の機械学習モデルを並行稼働させ,パフォーマンスをみ ながら採用するモデルを決める • 各モデルへのトラフィック配分の変更や切り戻しも容易 Client API Gateway Lambda ELB EC2 ECS EMR or or EC2 ECS EMR or or 90% 10%
  52. 52. データマネジメントパターン • データだけでなく,メタデータも合わせて管理 • 生データも加工済みデータも S3 に置いて,再利用性を高く保つ S3 EMR Data Source Dynamo DB Kinesis Firehose Data Source Data Source
  53. 53. カタログサーチパターン • データだけでなく,メタデータも合わせて管理 • メタデータを ES に突っ込んで検索可能にしておく Kinesis Firehose Data Source S3 Dynamo DB Lambda Elasticsearch Service
  54. 54. JINS さま データの登録と検索 54 https://d0.awsstatic.com/events/jp/2017/summit/devday/D4T8-2.pdf
  55. 55. AWS 上のデータ活用事例 55
  56. 56. すかいらーくさまのデータ分析基盤 課題 • 既存の施策の費用対効果を,定量的に把握できる仕組みになっ ていなかった – 3000店舗ぶんの大量データが整備されずに存在 • マスマーケティングしか行えず,お客さまに対して個別アプロ ーチができない 解決策 • 各種データを AWS に集約して,高速に分析できる環境を構築 • スマホアプリと連動させて,パーソナライズした施策を実施 56
  57. 57. すかいらーくさまのデータ分析基盤 POS データや顧客マスタ,スマホアプリのログを Redshift に集約し, わずか1ヶ月で本番稼働 57
  58. 58. すかいらーく:データを活用した取り組み • 多様なマーケティング施策の実施 – CMを含む各種プロモーションに対し,ABテスト – POSデータの項目を戦略的に追加し,分析の軸を増やす • パーソナライズ施策の実施 – 広告,クーポンを各お客さまの属性に合わせて配信 58
  59. 59. 日本経済新聞社さまの AI 記者 • 決算サマリーを自動生成して配信 • 2017/1/25-5/26 で 6787 サマリーを生成,1-2 分で記事を公開 59 https://d0.awsstatic.com/events/jp/2017/summit/slide/D4T5-3.pdf
  60. 60. 日本経済新聞社さまの AI 記者 60
  61. 61. 日本経済新聞社さまの AI 記者 • 編集現場では,仕事を取られるという意識はなく,サポートとして の期待が大きい • 速報や定型業務を AI に任せて,より付加価値の高い業務に集中 61
  62. 62. まとめ 62
  63. 63. まとめ • AWS を活用することで,必要なツールやリソ ースを柔軟に確保し,高速な試行錯誤のサイク ルを回すことが可能に • データ活用システムを構築する際には,デザイ ンパターンや事例を参考にして,よいアーキテ クチャを実現 63
  64. 64. 64

×