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.

ビッグデータとデータマート

567 views

Published on

【ビッグデータとデータマート】
「仙台・宮城とれたてネタ!【タガヤス その1】」の株式会社オプト 仙台ラボラトリの登壇資料です。

https://tagayas.connpass.com/event/64324/

Published in: Data & Analytics
  • Be the first to comment

  • Be the first to like this

ビッグデータとデータマート

  1. 1. © Opt, Inc. All Rights Reserved. ビッグデータとデータマート 株式会社オプト 仙台ラボラトリ 第1回タガヤス登壇資料 
  2. 2. © Opt, Inc. All Rights Reserved. Copyright © 2017 OPT Inc. All Rights Reserved. 目次 ● ビッグデータとは ● データベースについて ● データマート対応した話
  3. 3. © Opt, Inc. All Rights Reserved. ビッグデータとは
  4. 4. © Opt, Inc. All Rights Reserved. ビッグデータってどんなデータ?
  5. 5. © Opt, Inc. All Rights Reserved. ビッグデータとは、通常のツールで は扱えないような、非常に大きな データ量のデータのこと。 wikiによると5年前の定義では、数 十テラ~数ペタバイト。
  6. 6. © Opt, Inc. All Rights Reserved. では、オプト仙台ラボラトリで 扱っているデータって?
  7. 7. © Opt, Inc. All Rights Reserved. ひとことでいうと 「インターネット広告掲載結果」 のデータ (※弊社はe-marketing companyです) With
  8. 8. © Opt, Inc. All Rights Reserved. (株式会社オプトは、 e-marketing companyからINNOVATION AGENCYへ!)
  9. 9. © Opt, Inc. All Rights Reserved. (e-marketing company だと堂々と言ってしまいましたが、 今年の夏から INNOVATION AGENCY と名乗っていますので 謹んで訂正させていただきます) ビジネスを革新させ、新しい価値を創造してまいります!
  10. 10. © Opt, Inc. All Rights Reserved. それはさておき・・・
  11. 11. © Opt, Inc. All Rights Reserved. インターネットの広告って?
  12. 12. © Opt, Inc. All Rights Reserved. こことか ここも これは、 ディスプレイ広告
  13. 13. © Opt, Inc. All Rights Reserved. こことか キーワード広告。 サーチ、 リスティング広告 といいます
  14. 14. © Opt, Inc. All Rights Reserved. ネット上の各種サイトに広告を掲載した 結果のデータをAPI等 様々な方法で集めています。
  15. 15. © Opt, Inc. All Rights Reserved. どの広告を いつ どんな端末から 何回表示したか 何回クリックしたか などなど ・・・
  16. 16. © Opt, Inc. All Rights Reserved. オプトではたくさんの顧客の広告を 様々な媒体に出しているので その広告実績データは 1日でおよそ11.5 GBです (※データベース取込前の圧縮ファイル状態です)
  17. 17. © Opt, Inc. All Rights Reserved. 現在の蓄積されているデータ総量 はというと・・・
  18. 18. © Opt, Inc. All Rights Reserved. 4.02 TB Redshiftの総利用量
  19. 19. © Opt, Inc. All Rights Reserved. さきほどの「ビックデータの定義」 からすると そんなにビッグデータ でもないのでは・・・?
  20. 20. © Opt, Inc. All Rights Reserved. Redshiftが圧縮 してくれているんです!! (圧縮率が最大 4 倍とも言われてます)
  21. 21. © Opt, Inc. All Rights Reserved. また、データ量を減らすために 必要項目のみを取得・取込している ためでもあったりします
  22. 22. © Opt, Inc. All Rights Reserved. また、 保持期間も絞っています
  23. 23. © Opt, Inc. All Rights Reserved. よって、やはり 広告データはビッグデータ といえると思います
  24. 24. © Opt, Inc. All Rights Reserved. とはいえ、 4.02TBって想像しづらい・・・?
  25. 25. © Opt, Inc. All Rights Reserved. レコード件数でいうと、 だいたい・・・
  26. 26. © Opt, Inc. All Rights Reserved. 75億! Redshiftの総データ件数
  27. 27. © Opt, Inc. All Rights Reserved. あと、2000万!
  28. 28. © Opt, Inc. All Rights Reserved. だいたい地球の人口ぐらいなので 多そうな気はしましたね!
  29. 29. © Opt, Inc. All Rights Reserved. だいたいビックデータについて ご理解いただけたところで 次にいきます!
  30. 30. © Opt, Inc. All Rights Reserved. データベースについて
  31. 31. © Opt, Inc. All Rights Reserved. ビッグデータを扱うデータベースとは?
  32. 32. © Opt, Inc. All Rights Reserved. ビッグデータを扱うのに 適したデータベースもあります (一般的にデータウェアハウス)
  33. 33. © Opt, Inc. All Rights Reserved. Redshift AWS(Amazon Web Service)というアマゾンのクラウドサービスで 提供されいるデータウェアハウスです。 Amazon Redshiftはペタバイト級の大容量データを高速に処 理することができるデータウェアハウスでコストは従来のソ リューションの1/10未満です。 (AWS公式サイトより引用)
  34. 34. © Opt, Inc. All Rights Reserved. Redshiftの特徴 列指向でPostgreSQLベース。 COPYコマンドファイル(CSV,TSV,JSON)から高速にデータ取込が 可能! 更新処理はニガテ・・・ データベーステーブルの列指向ストレージは、必要な総ディスク I/O と、ディスクからロードする必要のあるデータ量が大幅に減 少するので、分析クエリのパフォーマンスの最適化において重 要な要因です。 (AWS公式サイトより引用)
  35. 35. © Opt, Inc. All Rights Reserved. BigQuery GCP(Google Cloud Platform)というGoogleのクラウドサービスで 提供されいるデータウェアハウスです。 BigQuery は Google が提供するフルマネージドのエンタープ ライズ向けアナリティクス データ ウェアハウスです。ペタバイト 規模のデータを低料金で格納して処理することができます。 (GCP公式サイトより引用)
  36. 36. © Opt, Inc. All Rights Reserved. BigQueryの特徴 列指向です。 データ保存は無料でクエリ単位で課金。恒常的に巨大なデータにク エリを投げるのでなければ結構安い(個人の感想です)。 Googleの他製品とも相性が良く、AdWordsのデータや、Google Spread Sheetのデータをインポートして処理することなどもできる。 (東京本社の開発では使っているらしい)
  37. 37. © Opt, Inc. All Rights Reserved. Treasure Data Treasure Dataより提供されているクラウド上のデータウェアハウス です。 ※オプトでは「トレジャーデータサービス by IDCF」を活用しています。 データの収集・分析・連携を目的としたクラウド型データマネー ジメントサービスです。ウェブ、モバイルアプリケーション、セン サーの多構造化・非構造化データなど、様々なソースからの データ収集、分析、連携を簡単に行えるのが特徴です。 (Treasure Data公式サイトより引用)
  38. 38. © Opt, Inc. All Rights Reserved. TreasureDataの特徴 列指向です。 どんどんデータを貯めていくのに適している ※削除はDELETE文はないのでニガテ(partial_deleteというコマンド で、時刻カラムでの期間指定した削除は可能)、更新はできない パーティションのため時刻のカラムが必須!
  39. 39. © Opt, Inc. All Rights Reserved. 今回は専用のUIもある Treasure Dataについて もう少し説明してみたいと思います
  40. 40. © Opt, Inc. All Rights Reserved. まずは データベースを作成しましょう!
  41. 41. © Opt, Inc. All Rights Reserved.
  42. 42. © Opt, Inc. All Rights Reserved. 空のデータベースが作成されました!
  43. 43. © Opt, Inc. All Rights Reserved. つぎに テーブルを作成しましょう!
  44. 44. © Opt, Inc. All Rights Reserved.
  45. 45. © Opt, Inc. All Rights Reserved. 空のテーブルが作成されました!
  46. 46. © Opt, Inc. All Rights Reserved.
  47. 47. © Opt, Inc. All Rights Reserved. カラムを追加していきます
  48. 48. © Opt, Inc. All Rights Reserved. ひととおり追加したら保存します
  49. 49. © Opt, Inc. All Rights Reserved. テーブルが作成できました!
  50. 50. © Opt, Inc. All Rights Reserved. つぎに データを取り込んでみましょう!
  51. 51. © Opt, Inc. All Rights Reserved. ファイルから取り込んで みたいと思います
  52. 52. © Opt, Inc. All Rights Reserved. 取込対象ファイルを選択します
  53. 53. © Opt, Inc. All Rights Reserved. 取込対象は テスト用のサンプルデータです
  54. 54. © Opt, Inc. All Rights Reserved.
  55. 55. © Opt, Inc. All Rights Reserved.
  56. 56. © Opt, Inc. All Rights Reserved.
  57. 57. © Opt, Inc. All Rights Reserved. TreasureDataでは時刻カラムは必須! (パーティションで使われる)
  58. 58. © Opt, Inc. All Rights Reserved. 同じ名前のカラムは自動でマッピング
  59. 59. © Opt, Inc. All Rights Reserved. 同じ名前のカラムは自動でマッピング
  60. 60. © Opt, Inc. All Rights Reserved. 名前が違うものも手動でマッピング可能
  61. 61. © Opt, Inc. All Rights Reserved.
  62. 62. © Opt, Inc. All Rights Reserved.
  63. 63. © Opt, Inc. All Rights Reserved. 取込が成功しました!
  64. 64. © Opt, Inc. All Rights Reserved. 取込したデータも入っているようです
  65. 65. © Opt, Inc. All Rights Reserved. 「スキップ」を選択しなかったので テーブル定義しなかったカラムも 自動で取り込まれました!
  66. 66. © Opt, Inc. All Rights Reserved. 取込項目のマッピング時 不要項目は「skip」にチェックしましょう!
  67. 67. © Opt, Inc. All Rights Reserved. ちなみに まったくテーブルにカラムを定義 しないで取り込むこともできます!
  68. 68. © Opt, Inc. All Rights Reserved.
  69. 69. © Opt, Inc. All Rights Reserved.
  70. 70. © Opt, Inc. All Rights Reserved.
  71. 71. © Opt, Inc. All Rights Reserved. カラム定義してないので Columnsに何もでない
  72. 72. © Opt, Inc. All Rights Reserved. 自動でファイル内の項目が カラム候補として出てきます
  73. 73. © Opt, Inc. All Rights Reserved.
  74. 74. © Opt, Inc. All Rights Reserved. client_list1を定義した際の カラム以外に「skip」をつけてみます
  75. 75. © Opt, Inc. All Rights Reserved.
  76. 76. © Opt, Inc. All Rights Reserved.
  77. 77. © Opt, Inc. All Rights Reserved.
  78. 78. © Opt, Inc. All Rights Reserved.
  79. 79. © Opt, Inc. All Rights Reserved. 必要項目のみ無事取込できました!
  80. 80. © Opt, Inc. All Rights Reserved. データ抽出してみましょう
  81. 81. © Opt, Inc. All Rights Reserved. Web上からSELECT文を書き実行できます
  82. 82. © Opt, Inc. All Rights Reserved.
  83. 83. © Opt, Inc. All Rights Reserved. データが抽出できました!
  84. 84. © Opt, Inc. All Rights Reserved.
  85. 85. © Opt, Inc. All Rights Reserved. データが出力も簡単にできます
  86. 86. © Opt, Inc. All Rights Reserved. 今回はサンプルデータの取込でしたが 大容量のログデータの分析など テーブル定義なしで高速に行えるので 便利なものとなってます
  87. 87. © Opt, Inc. All Rights Reserved. オプトで使っているもの以外にも、 OracleやIBMのRed Brick などなど 様々なデータウェアハウスがあります
  88. 88. © Opt, Inc. All Rights Reserved. なんとなく 利用しているデータベースが 特殊かもと思った(かもしれない) ところで次にいきます!
  89. 89. © Opt, Inc. All Rights Reserved. データマート対応した話
  90. 90. © Opt, Inc. All Rights Reserved. データマートとは?
  91. 91. © Opt, Inc. All Rights Reserved. データマートとは、頻繁に利用する データのみ集計したデータにしてお いたもの。 同時利用数・データ量削減などから レスポンスの向上が期待できる。
  92. 92. © Opt, Inc. All Rights Reserved. 実際どんなことをしたの?
  93. 93. © Opt, Inc. All Rights Reserved. 経緯 最小粒度(広告業界でいうと、広告やキーワードなどのこと。より大きな粒度は広告グ ループ、キャンペーンなど)のデータからの計算だったため、各アプリケー ションからのリクエストに対して理想的とはいえないパフォーマンス。 Redshiftの同時実行数はデフォルトが5、設定自体は50まで増 やすことが可能ですが、「15以下推奨」とされています。(同時 接続数の制限は500) ⇒OLTP(オンライントランザクション処理)にはやはり不向きだっ たか・・・?
  94. 94. © Opt, Inc. All Rights Reserved. やはり、集計しておいたデータがあった 方が良いよね! (※複数システムでデータを活用しており、様々な 条件で分析するので 最終系を事前準備はむずかしい)
  95. 95. © Opt, Inc. All Rights Reserved. よく使われる粒度の大きい単位で集計し てRDS(PostgreSQL)に格納 広告やキーワードといった最も細かい粒度を、キャンペーンとい うより大きな粒度にサマリしたものにするだけで、 データ件数は24分の1ぐらいに減ります! 当時の状況だと、85%程度のリクエストがキャンペーン粒度の データ利用で実際は集計できた。 RDSなので同時実行数の懸念もなし!
  96. 96. © Opt, Inc. All Rights Reserved. リクエストにより Redshift(最小粒度を保持)と RDS(集計データを保持)を使い分け 85%程度のリクエストが大きな粒度のデータ利用でまかなえた としても、残り15%は最小粒度から集計する必要があったので、 切り分け処理を実装! 【メモ】 RDSもRedshift同様のAWSのサービスですが、中身は通常の DBです(データベースの種類は選択可能です)
  97. 97. © Opt, Inc. All Rights Reserved. 各システム 各システム データ蓄積 システム RDS (PostgreSQ L) Redshift 媒体データを利用す る各システムより APIリクエスト キャンペーン粒度から の集計で問題なければ データマートへ 広告やキーワードなど 最小粒度の絞り込みを したければRedshiftへ API API (約85%のリクエストはこ ちらに) サマリデータを 格納 この顧客の 運用状況は どうかな ・・・? あの顧客の 最近追加し たXX広告 の実績はど うかしら ・・・?
  98. 98. © Opt, Inc. All Rights Reserved. その結果・・・
  99. 99. © Opt, Inc. All Rights Reserved. 48秒→1秒弱 (計測ツールデータなしならば 15秒→1秒弱) レスポンス改善時間
  100. 100. © Opt, Inc. All Rights Reserved. すごく成果がありました!
  101. 101. © Opt, Inc. All Rights Reserved. 今後のイベントでは、 現在のプロジェクト担当者より より詳細な内容で 各データベースの特徴・性能比較や データマート対応内容の ご説明をさせていただきます! (ビックデータに詳しくない方にも分かりやすく を目指します)
  102. 102. © Opt, Inc. All Rights Reserved. ぜひ来てくださいね♥

×