Upgrade to Pro — share decks privately, control downloads, hide ads and more …

データ分析基盤を作ってみよう ~性能測定編~

NRI Netcom
October 24, 2024

 データ分析基盤を作ってみよう ~性能測定編~

NRI Netcom

October 24, 2024
Tweet

More Decks by NRI Netcom

Other Decks in Technology

Transcript

  1. データ分析基盤を作ってみよう ~ 性能測定編 ~ NRIネットコム TECH & DESIGN STUDY #46

    2024年10月22日 NRIネットコム株式会社 執行役員 デジタルソリューション事業本部長 クラウドテクニカルセンター センター長 佐々木拓郎
  2. 1 Copyright(C) NRI Netcom, Ltd. All rights reserved. 自己紹介 ◼

    2000年 4月 NRIネットコム株式会社入社 ◼ 現在 執行役員 デジタルソリューション事業本部 本部長 クラウドテクニカルセンター センター長 ◼執筆 佐々木拓郎
  3. 2 Copyright(C) NRI Netcom, Ltd. All rights reserved. NRIネットコムのAWSへの取り組み APNアドバンスド

    コンサルティングパートナー 複数のAWS Award受賞者と 多数のAWS認定者資格 書籍&ブログ執筆
  4. 3 Copyright(C) NRI Netcom, Ltd. All rights reserved. データ分析と私① AWS

    認定の廃止と開始のお知らせ | Amazon Web Services ブログ https://aws.amazon.com/jp/blogs/news/aws-certification-retirements-and-launches/ AWS 認定の廃止と開始のお知らせ 2024 年 4 月に、AWS Certified Data Analytics – Specialty (DAS)、 AWS Certified Database – Specialty (DBS)、AWS Certified: SAP on AWS – Specialty (PAS) の 3 つの AWS 認定を廃止します。テクノロジーの 変化の速さを考慮して、私たちは常に認定を見直し、お客様のニーズにどの 程度応えているかを評価しています。私たちは、Specialty の AWS 認定の 数を減らし、Foundational、Associate、Professional の AWS 認定を強 化することで、お客様により良いサービスを提供する機会があると考えています。 発売日 2023/6/26
  5. 4 Copyright(C) NRI Netcom, Ltd. All rights reserved. データ分析と私② AWSの薄い本Ⅴ

    データ分析基盤を作ってみよう ~性能測定編~ https://booth.pm/ja/items/5231829 技術同人誌も書いています AWSの薄い本Ⅲ データ分析基盤を作ってみよう ~設計編~ https://booth.pm/ja/items/3059020
  6. 7 Copyright(C) NRI Netcom, Ltd. All rights reserved. 実際の活動をアーキテクチャに落とし込む(データ分析基盤の例) チ

    ャ ネ ル 、 施 策 接 点 デ ー タ 集 計 ・ 蓄 積 デ ー タ 分 析 基 盤 広告 メール SMS LINE SNS 検索 外部 キャンペーン モバイル アプリ 公式SNS EC 商品 ブランド BtoC会員 BtoB 会員 DL資料 ウェビナー 購買CV 加入CV CRM シス テム 計測ツール データレイク ETL DWH 分析 システム BI ダッシュボード 施策データ 施策利用のための マーケティングツール等 の連携 エンドユーザー接点・行動レイヤー 計測、働き掛けレイヤー データ活用の中枢レイヤー(分析基盤) データの施策活用 送客CV リマケCV 申込CV 分析データ デジマツール (特化型) デジマツール (ワンパッケージ型)
  7. 8 Copyright(C) NRI Netcom, Ltd. All rights reserved. データ分析処理の一例 目的に合わせて加工したデータをデータウェアハウスに格納して分析する

    リアルの世界での 活動履歴 オフラインデータ 用途に応じて データを編集 ETL 構造化した データを 保存する場所 データ ウェアハウス Web等のオンライン上 の活動履歴 オンラインデータ 生データ クエリ 分析・可視化 機械学習 加工済 データ 構造化の過程で、不要な情 報が切り捨てられる POINT 生データを構造化する段階で、不要な情報が切り捨てられる 別の切り口で分析する際には、元データの再連携が必要 そのためには、データレイクが必要 データレイク できるだけ元のままの データを格納 本日の主テーマ
  8. 9 Copyright(C) NRI Netcom, Ltd. All rights reserved. AWSのサービスに当てはめてアーキテクチャを考えていく それぞれの構成要素に対応した、複数のサービスがある。

    オフラインデータ オンラインデータ データレイク データ ウェアハウス データマート 分析・可視化 機械学習 ETL データ分析基盤 リアルの世界 での活動履歴 Web等の オンライン上の 活動履歴 Amazon S3 Amazon EMR AWS Glue Amazon Athena Amazon Redshift Amazon Aurora Amazon Kinesis Amazon SageMaker Amazon QuickSight POINT データレイクとしてはS3を利用する。 それ以外は、規模・用途に応じて使い分ける 蓄積系 収集系 処理・分析系 データを そのまま保存 構造化した データを保存 用途に適した データを抽出 用途に応じて データを編集 整形された データで分析 転送 取得 AWS Lambda
  9. 10 Copyright(C) NRI Netcom, Ltd. All rights reserved. アーキテクチャ選定の基準、もっていますか? 用途に応じて使い分けるって、

    その基準は? えーっと!? (知らんがな) なんとなくを脱却して 自信をもって答えられるようになろう
  10. 12 Copyright(C) NRI Netcom, Ltd. All rights reserved. S3のデータをBIツールでダッシュボード化してみたい場合 ダッシュボードの使い方によって設計は変わる

    利用頻度・ 利用者数は? 分析対象の データ量は? どういった 属性の人が使うの? 従量課金のサービスが良いか? 時間課金のサービスが良いか? 小規模?大規模? レスポンス速度は?
  11. 13 Copyright(C) NRI Netcom, Ltd. All rights reserved. S3のデータをBIツールでダッシュボード化してみたい場合 AthenaとRedshiftの料金モデル

    ※他にも、料金モデルは幾つかある Amazon Athena Amazon Redshift ※インスタンスタイプは多数ある インスタンス課金 dc2.large $0.314/h 1TBのデータ読み取りごとに$5 SQLクエリ 利用量/データ料に 関わらずほぼ定額 同時実行数は インスタンスサイズに 依存 レスポンスは RDBより遅い 利用量/データ量で 料金は大幅に 変動 同時実行数は AWS側にお任せ レスポンスは 数秒~数分
  12. 14 Copyright(C) NRI Netcom, Ltd. All rights reserved. アーキテクチャの検討の出発点 機能要件・非機能要件を元に考える

    必要な機能を 持っているか? 要件に対して 十分な性能を 発揮できるか? コストは ビジネス上の 制約内に収まるか? その他の非機能要件を 満たしているか? (セキュリティetc) ここの部分を考えてみます
  13. 15 Copyright(C) NRI Netcom, Ltd. All rights reserved. S3のデータをBIツールでダッシュボード化してみたい場合 Amazon

    S3 Amazon QuickSight Amazon Athena Amazon Redshift AWS Glue 抽出&変換 格納 抽出&変換 クエリ クエリ 可視化 やり方は沢山ある どの構成でも良いの?
  14. 16 Copyright(C) NRI Netcom, Ltd. All rights reserved. アーキテクチャ選定の基準、もっていますか? レスポンス速度って、どんなものなの?

    データ量が同じなら、同じ速度なの? えーっと!? (知らんがな) 計測してみないとわからない
  15. 17 Copyright(C) NRI Netcom, Ltd. All rights reserved. 性能測定 Athenaの性能を測定してみる

    データサイズは? フォーマットは? 圧縮の影響は? ファイル数は?
  16. 18 Copyright(C) NRI Netcom, Ltd. All rights reserved. 性能測定 Athenaの性能を測定してみた

    ファイル数 ファイルサイズ 合計サイズ CSV (圧縮なし) CSV (GZIP圧縮) Parquet (Snappy圧縮) 1件 10GB 10GB 3.88秒 247.88秒 エラー発生 10件 1GB 10GB 3.87秒 29.27秒 1.85秒 100件 100MB 10GB 3.57秒 4.48秒 1.85秒 1,000件 10MB 10GB 3.36秒 3.26秒 2.24秒 10,000件 1MB 10GB 4.07秒 4.17秒 2.76秒 100,000件 100KB 10GB 11.51秒 12.62秒 11.68秒 1,000,000件 10KB 10GB 92.95秒 91.38秒 76.35秒 10,000,000件 1KB 10GB 90.17秒 900秒超 900秒超 著しく性能劣化するケースがある ※ファイル数については、おおよその目安の数
  17. 19 Copyright(C) NRI Netcom, Ltd. All rights reserved. S3のデータをBIツールでダッシュボード化してみたい場合 Amazon

    QuickSight Amazon Redshift AWS Glue 抽出&変換 格納 クエリ クエリ 可視化 ちょっとデータを測定しただけでも… Amazon Athena 抽出&変換 Amazon S3 Athenaを使おうとしたら S3に置くデータの形式が重要なのがわかる 他のサービスだったら?
  18. 22 Copyright(C) NRI Netcom, Ltd. All rights reserved. こんな発表があった時、どう捉えますか? S3

    Express One Zone S3のアクセスをより高速に、より低コストに
  19. 23 Copyright(C) NRI Netcom, Ltd. All rights reserved. S3 Express

    One Zoneのスペック S3 標準ストレージとカタログスペックを比較してみる S3 標準ストレージ S3 Express One Zone 主な用途 アクセス頻度の高いデータ向けの汎 用ストレージ 最もアクセス頻度が高いデータ向け の高性能ストレージ SLA 99.9% 99.9% 可用性 99.99% 99.95% 料金体系 (東京リー ジョン) PUT、COPY、POST、LIST リクエス ト (1,000 リクエストあたり) USD 0.0047 USD 0.0024 GET、SELECT、他のすべてのリクエ スト (1,000 リクエストあたり) USD 0.00037 USD 0.00019 データ保存料 最初の 50 TB/月 USD 0.025/GB USD 0.18/GB 標準ストレージに比べ半値 Express One Zoneに比べて1桁安い 可用性は、標準ストレージの方が高い
  20. 24 Copyright(C) NRI Netcom, Ltd. All rights reserved. データレイク データレイクに求められる要件

    ⚫ スケーラビリティ ⚫ コスト効率 ⚫ データの多量性 ⚫ データセキュリティとガバナンス ⚫ 耐障害性と高可用性 ⚫ メタデータ管理 大量のデータを保存する場合は、 S3 Express OneZoneはコスト効率が悪い
  21. 26 Copyright(C) NRI Netcom, Ltd. All rights reserved. データレイクを細分化してみる RAWデータレイク・中間データレイク・構造化データレイク

    RAWデータレイク DBデータなど 構造化データ アクセスログなど 半構造化データ データレイク SNS投稿テキストなど 非構造化データ ETL(整形処理) データの形式を統一 フォーマット処理 重複や欠損値の除去 クレンジング処理 個人情報などの除去 マスク処理 DBデータなど 構造化データ アクセスログなど 半構造化データ 構造化されたテキスト 半構造化データ ETL(ビジネス加工) データ置換など ビジネスロジック処理 不要なカラムの除去など フィルタ処理 データソースの属性結合 エンリッチメント処理 構造化データレイク 顧客ごとのSNS反応履歴 構造化データ Eコマースの購買履歴 構造化データ 実店舗の購買履歴 構造化データ ETL(用途別加工) アプリ向けのデータ集約 アプリ用処理 古い情報のアーカイブ アーカイブ用処理 集計などの加工 分析用処理 DWH データの フォーマット はバラバラで OK! データの意味そのものを 変えるような加工はし ない 目的に応じて意味の改変も含めて加工したデータ
  22. 28 Copyright(C) NRI Netcom, Ltd. All rights reserved. データレイクを細分化してみる RAWデータレイク・中間データレイク・構造化データレイク

    RAWデータレイク DBデータなど 構造化データ アクセスログなど 半構造化データ データレイク SNS投稿テキストなど 非構造化データ ETL(整形処理) データの形式を統一 フォーマット処理 重複や欠損値の除去 クレンジング処理 個人情報などの除去 マスク処理 中間データレイク DBデータなど 構造化データ アクセスログなど 半構造化データ 構造化されたテキスト 半構造化データ ETL(ビジネス加工) データ置換など ビジネスロジック処理 不要なカラムの除去など フィルタ処理 データソースの属性結合 エンリッチメント処理 構造化データレイク 顧客ごとのSNS反応履歴 構造化データ Eコマースの購買履歴 構造化データ 実店舗の購買履歴 構造化データ ETL(用途別加工) アプリ向けのデータ集約 アプリ用処理 古い情報のアーカイブ アーカイブ用処理 集計などの加工 分析用処理 DWH データの フォーマット はバラバラで OK! データの意味そのものを 変えるような加工はし ない 目的に応じて意味の改変も含めて加工したデータ 大量のデータを保存する場合は、 標準ストレージが適している 中間処理で一時保存のみであれば、 Express One Zoneが適している 運用設計次第。少量かつ高頻度の利用で あれば、Express One Zoneが適している
  23. 29 Copyright(C) NRI Netcom, Ltd. All rights reserved. 一方で性能の把握も必要 カタログスペックだけでなく、実際の性能を把握しておくことも重要

    高速って言われても、どんなものなの? データ量が同じなら、同じ速度なの? えーっと!? (知らんがな) 定量的に説明できると説得力が増す 計測してみないとわからない
  24. 30 Copyright(C) NRI Netcom, Ltd. All rights reserved. 性能測定① 小サイズの大量データでの測定結果

    ⚫ EC2からデータアップロードとダウンロードの速さ ⚫ Athenaからクエリー実行した際のレスポンス時間 ⚫ APIリクエストのコスト比較(机上評価) ⚫ データは、10KBのファイルを70万個 標準ストレージ Express One Zone 標準との比較 アップロード時間 849.47秒 197.89秒 429% ダウンロード時間 1411.23秒 382.24秒 369% クエリ時間 75.91秒 52.30秒 145% API料金 $13.79 $2.74 500%
  25. 31 Copyright(C) NRI Netcom, Ltd. All rights reserved. S3 Express

    OneZoneが圧倒的と思った方はご注意を カタログスペックだけでなく、実際の性能を把握しておくことも重要 小さなサイズの大量のデータを扱っているのが悪いのでは? 例えば、ファイルを適度なサイズにまとめて比較すると どうなるの?
  26. 32 Copyright(C) NRI Netcom, Ltd. All rights reserved. 性能測定② 通常サイズのデータでの測定結果

    ⚫ EC2からデータアップロードとダウンロードの速さ ⚫ Athenaからクエリー実行した際のレスポンス時間 ⚫ APIリクエストのコスト比較(机上評価) ⚫ データは、100MBのファイルを100個 標準ストレージ Express One Zone 標準との比較 アップロード時間 84.88秒 67.89秒 125% ダウンロード時間 79.77秒 79.81秒 100% クエリ時間 2.59秒 2.24秒 116% API料金 $0.001 $0.0002 500%
  27. 33 Copyright(C) NRI Netcom, Ltd. All rights reserved. 考察 ストレージクラスの性能差より、まずはS3の特性を知ることが大事

    ⚫S3は、オンラインストレージという特性上、オブジェクト1つの取得ごとに通信が発生する ⚫小さなサイズの大量のデータがある場合は、通信のオーバーヘッドに占める割合が高い ⚫小さなサイズのデータは、ファイルをまとめて圧縮すると格段に効率がよくなる ⚫設計の優先度としては、扱うデータの特性 > ストレージクラス カタログスペックを理解した上で、 実際の性能を測定すると理解が深まる
  28. 34 Copyright(C) NRI Netcom, Ltd. All rights reserved. 性能測定の観点(おまけ) 性能測定をする上では、次のような観点が重要

    測定の目的 測定環境の 平準化 実際の環境に 近づける 複数回の 測定 メトリクスの 取得 外部影響を 最小限に 変更との 比較 分析する
  29. 35 Copyright(C) NRI Netcom, Ltd. All rights reserved. 性能測定の参照データ(おまけ) S3の性能測定の詳細については、こちらを参照

    NRIネットコムのクラウドソリューション: 検証レポート.:Athenaにおけるファイルサイズ https://cloud.nri-net.com/reports/aws-athena-performance-analysis-2310/
  30. 36 Copyright(C) NRI Netcom, Ltd. All rights reserved. まとめ アーキテクチャを検討する上でのポイント

    ⚫AWSのサービスを、しっかりと把握する ⚫新サービスが出てきた時は、どのようなユースケースに適するのかを検討する ⚫実際に評価してみることも大事