Slide 1

Slide 1 text

パフォーマンスとコスト制約から考える アーキテクチャ設計 JAWS-UG東京 ランチタイムLT会 #4 2023年10月30日 NRIネットコム株式会社 デジタルイノベーション本部 クラウドテクニカルセンター センター長 佐々木拓郎

Slide 2

Slide 2 text

1 Copyright(C) NRI Netcom, Ltd. All rights reserved. 自己紹介 ◼ 2000年 4月 NRIネットコム株式会社入社 ◼ 現在 クラウドテクニカルセンター センター長 ◼ 執筆 佐々木拓郎

Slide 3

Slide 3 text

Japan AWS Ambassador 2019-2022 最古参のAmbassadorの一人でした ※ AWS JAPAN APN ブログ Japan APN Ambassador 2019の発表 https://aws.amazon.com/jp/blogs/psa/japan-apn-ambassador-2019/

Slide 4

Slide 4 text

3 Copyright(C) NRI Netcom, Ltd. All rights reserved. アーキテクチャ設計の例 01 アーキテクチャを検討する 02 計測が大事 03

Slide 5

Slide 5 text

4 Copyright(C) NRI Netcom, Ltd. All rights reserved. 1. アーキテクチャ設計の例

Slide 6

Slide 6 text

5 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 分析データ デジマツール (特化型) デジマツール (ワンパッケージ型)

Slide 7

Slide 7 text

6 Copyright(C) NRI Netcom, Ltd. All rights reserved. データ分析処理の一例 目的に合わせて加工したデータをデータウェアハウスに格納して分析する リアルの世界で の活動履歴 オフライン データ 用途に応じて データを編集 ETL 構造化した データを 保存する場所 データ ウェアハウス Web等のオンライン 上の活動履歴 オンライン データ 生データ クエリ 分析・可視化 機械学習 加工済 データ 一般的なシステム構成であるものの、ビジネス環境の変化が加速する事で課題が出てくる場合もある 構造化の過程で、不要な 情報が切り捨てられる POINT 生データを構造化する段階で、不要な情報が切り捨てられる 別の切り口で分析する際には、元データの再連携が必要 そのためには、データレイクが必要

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

8 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

Slide 10

Slide 10 text

9 Copyright(C) NRI Netcom, Ltd. All rights reserved. アーキテクチャ選定の基準、もっていますか? 用途に応じて使い分けるって、 その基準は? えーっと!? (知らんがな) 自信をもって答えられるようになろう

Slide 11

Slide 11 text

10 Copyright(C) NRI Netcom, Ltd. All rights reserved. 2. アーキテクチャの検討をする

Slide 12

Slide 12 text

11 Copyright(C) NRI Netcom, Ltd. All rights reserved. アーキテクチャ検討の基準 機能要件・非機能要件を元に考える 必要な機能を 持っているか? 要件に対して 十分な性能を 発揮できるか? コストは ビジネス上の 制約内に収まるか? その他の非機能要件を 満たしているか? (セキュリティetc) ここの部分を考えてみます

Slide 13

Slide 13 text

12 Copyright(C) NRI Netcom, Ltd. All rights reserved. S3のデータをBIツールでダッシュボード化してみたい場合 Amazon S3 Amazon QuickSight Amazon Athena Amazon Redshift AWS Glue 抽出&変換 格納 抽出&変換 クエリ クエリ 可視化 やり方は沢山ある どの構成でも良いの?

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

14 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側にお任せ レスポンスは 数秒〜数分

Slide 16

Slide 16 text

15 Copyright(C) NRI Netcom, Ltd. All rights reserved. アーキテクチャ選定の基準、もっていますか? レスポンス速度って、どんなものなの? データ量が同じなら、同じ速度なの? えーっと!? (知らんがな) 計測してみないとわからない

Slide 17

Slide 17 text

16 Copyright(C) NRI Netcom, Ltd. All rights reserved. 3. 計測が大事

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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秒超 著しく性能劣化するケースがある ※ファイル数については、おおよその目安の数

Slide 20

Slide 20 text

19 Copyright(C) NRI Netcom, Ltd. All rights reserved. S3のデータをBIツールでダッシュボード化してみたい場合 Amazon QuickSight Amazon Redshift AWS Glue 抽出&変換 格納 クエリ クエリ 可視化 ちょっとデータを測定しただけでも… Amazon Athena 抽出&変換 Amazon S3 Athenaを使おうとしたら S3に置くデータの形式が重要なのがわかる 他のサービスだったら?

Slide 21

Slide 21 text

20 Copyright(C) NRI Netcom, Ltd. All rights reserved. 計測してみよう!!

Slide 22

Slide 22 text

21 Copyright(C) NRI Netcom, Ltd. All rights reserved. 性能測定をする上で、重要なこと 測定の目的 測定環境の 平準化 実際の環境に 近づける 複数回の 測定 メトリクスの 取得 外部影響を 最小限に 変更との 比較 分析する

Slide 23

Slide 23 text

22 Copyright(C) NRI Netcom, Ltd. All rights reserved. 性能測定 性能測定の詳細については、こちらを参照 NRIネットコムのクラウドソリューション: 検証レポート.:Athenaにおけるファイルサイズ https://cloud.nri-net.com/reports/aws-athena-performance-analysis-2310/

Slide 24

Slide 24 text

23 Copyright(C) NRI Netcom, Ltd. All rights reserved. 4. おまけ

Slide 25

Slide 25 text

24 Copyright(C) NRI Netcom, Ltd. All rights reserved. 今回の検証で、どれくらいのAWS利用料が掛かったのか? Athena:$20.81 EC2:$81.88 S3:$216.97 (引用)AWS Billing: https://us-east-1.console.aws.amazon.com/billing/home?region=ap-northeast-1#/bills

Slide 26

Slide 26 text

25 Copyright(C) NRI Netcom, Ltd. All rights reserved. なぜ、お金が掛かったのか? ファイル数 ファイルサイズ 合計サイズ 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秒超 1,000万件のGetに$3.7 それを10回試行⇒3フォーマット 37$×3=$111 ※実際のファイル数は、900万件くらい

Slide 27

Slide 27 text

No content