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.

Amazon Redshift ベンチマーク Hadoop + Hiveと比較

14,902 views

Published on

Hapyrus では、 Hadoop + Hive と Amazon Redshift のソリューション、また Amazon Redshift の導入コンサルティングを提供します。ぜひお問い合わせ下さい。info@hapyrus.com http://hapyrus.com/

Published in: Technology
  • Login to see the comments

Amazon Redshift ベンチマーク Hadoop + Hiveと比較

  1. 1. PERFORMANCE BENCHMARK: Comparisons of speed and cost efficiency Amazon Redshift ベンチマーク Hadoop + Hive と比較 10 倍の速度・コストパフォー マンス
  2. 2. Amazon Redshift では、 1.2TB のデータへのクエ リの処理に対し、処理時間が 155 秒 Hadoop + Hive では、 1.2TB のデータへのクエリの 処理に対し、処理時間が 1491 秒 Amazon Redshift : 10 倍の処理速度 Amazon Redshift の運用コストは 30 分に一回の頻 度でクエリを処理する場合、一日あたり $20 Hadoop + Hive の運用コストは 30 分に一回の頻度 でクエリを処理する場合、一日あたり $210   Amazon Redshift : 10 倍のコストパフォーマ ンス
  3. 3. Amazon Redshift は、クラウドビッグデータの新 しいデータウェアハウス。 Redshift の登場までは 、テラバイトを超える処理には、 Hadoop を用い る必要があった。 今回、 Redshift と Hadoop(Amazon Elastic MapReduce) を比較のため、インターネット広告 代理店のシステムのデータを想定し、ベンチマー クを実施。 • 想定データサイズ: 100GB to ~50TB • クエリの頻度: 1 時間あたり 1 回以上 • 素早いレスポンスが求められる
  4. 4. 前提条件 – データセット 検証対象のクエリとして、 Join してレポートを作成するクエリを想定し、 以下の 5 つのテーブルを利用 Imp_log 1) 300GB / 300M record 2) 1.2TB / 1.2B record date publisher_id ad_campaign_id country attr1-4 datetime integer integer varchar(30) varchar(255) click_log 1) 1.4GB / 1.5M record 2) 5.6GB / 6M record date publisher_id ad_campaign_id bid_price country attr1-4 datetime integer integer real varchar(30) varchar(255) ad_campaign 100MB / 100k record publisher 10MB / 10k record advertiser 10MB / 10k record 1) 1 ヶ月間のログ 2) 4 ヶ月間のログ ファイルフォーマットは TSV とし , gzip 圧縮
  5. 5. 1. クエリの処理速度 Redshift と Hadoop に対し、同じサーバコストで検証した比較結 果 (Hadoop: c1.xlarge vs Redshift: dw.hs1.xlarge) 1491sec 672sec 155sec 38sec * クエリの詳細は Appendix に記載 •• Redshift は 1.2TB Redshift は 1.2TB に対するクエリの に対するクエリの 処理時間は 155 秒 処理時間は 155 秒 •• Hadoop は 1.2TB Hadoop は 1.2TB に対するクエリの に対するクエリの 処理時間は 1491 処理時間は 1491 秒 秒 •• Redshift は、この Redshift は、この クエリの処理に対 クエリの処理に対 し、 Hadoop に比 し、 Hadoop に比 べ 10 倍の処理速度 べ 10 倍の処理速度
  6. 6. 2. 運用コスト Redshift と Hadoop に対し、同じクエリ、同じ実行時間でかか る運用コストの比較結果 •• 30 分に一回の頻度 30 分に一回の頻度 でクエリを実行する でクエリを実行する 場合、 Redshift の 場合、 Redshift の コストは 1 月あたり コストは 1 月あたり $20 $20 •• 30 分に一回の頻度 30 分に一回の頻度 でクエリを実行する でクエリを実行する 場合、 Hadoop のコ 場合、 Hadoop のコ ストは 1 月あたり ストは 1 月あたり $210 $210 •• Redshift は Hadoop Redshift は Hadoop に比べて 10 倍のコ に比べて 10 倍のコ ストパフォーマンス ストパフォーマンス * クエリの詳細は Appendix に記載
  7. 7. 検証結果 – Redshift データサイズ インスタンス タイプ インスタンス数 試行回 処理時間 1 164 秒 149 秒 3 158 秒 156 秒 5 1 30 秒 4 dw.hs1.xlarge 30 秒 2 1.2TB 31 秒 1 1 3 5 dw.hs1.xlarge 43 秒 4 300GB 150 秒 一日あたりの費用 58 秒 2 平均処理時間 * クエリの詳細は Appendix に記載 38 秒 $20.40 155 秒 $20.40
  8. 8. 検証結果 - Hadoop データサイズ インスタンスタイプ インスタンス数 c1.xlarge c1.medium 1h 23m 一日あたりの費用 2s $0.80 10 37m 48s $0.89 c1.xlarge 10 11m 12s $1.06 m1.xlarge 1 6h 43m 24s $3.22 c1.medium 4 5h 14m 0s $3.04 c1.xlarge 10 37m 7s $3.58 c1.xlarge 300GB 1 処理時間 20 24m 51s $4.64 1.2TB * The query used can be referenced in our Appendix
  9. 9. 考察 • Redshift の選択基準 – 1TB 以上のデータで 1 時間に 1 回以上の頻 度でクエリを処理する必要がある場合 – 実行結果が迅速 (10 分以内 ) に必要な場合 • Hadoop (EMR) の選択基準 – ペタバイト級のデータを保持 – クエリの実行頻度が 1 日に 1 回、 1 週間に 1 回程度 – Hadoop 技術に既に投資している場合
  10. 10. appendix – サンプルクエリ 広告キャンペーンのパフォーマンスレポート(インプレッション、クリック数 、広告費用、 CTR 、 CPC 、および CPM )を作成するクエリを想定 select ac.ad_campaign_id as ad_campaign_id, adv.advertiser_id as advertiser_id, cs.spending as spending, ims.imp_total as imp_total, cs.click_total as click_total, click_total/imp_total as CTR, spending/click_total as CPC, spending/(imp_total/1000) as CPM from ad_campaigns ac join advertisers adv on (ac.advertiser_id = adv.advertiser_id) join (select il.ad_campaign_id, count(*) as imp_total from imp_logs il group by il.ad_campaign_id ) ims on (ims.ad_campaign_id = ac.ad_campaign_id) join (select cl.ad_campaign_id, sum(cl.bid_price) as spending, count(*) as click_total from click_logs cl group by cl.ad_campaign_id ) cs on (cs.ad_campaign_id = ac.ad_campaign_id);
  11. 11. APPENDIX – Redshift TIPS • Redshift は合計 (sum) 、平均 (average) 、最大 (max) 、最小 (min) など計算結果を集計する処理 が得意  ( カラム型データベースのため ) • 大容量データのインポートに長い時間を要する – 今回のベンチマークでは 1.2TB の一括ロードに 17 時 間 – 継続したインポートが必要 • Redshift は CSV, TSV のようなセパレータタイプ のみ対応 – JSON は現時点ではサポート対象外 • Redshift はプリミティブなデータ型のみ対応 – 11 types, INT, DOUBLE, BOOLEAN, VARCHAR, DATE.. (2013 年 2 月 17 日現 在)
  12. 12. APPENDIX – Additional Information • 今回のベンチマークに利用したリソース は全て github に公開 – https://github.com/hapyrus/redshift-benchmark – データセットは S3 上に公開
  13. 13. お問い合わせ先 - FlyData • Hadoop + Hive and Redshift サービスを 提供 • FlyData for Redshift – 自社のデータで、 Redshift を Day 1 から利用 開始可能 – リアルタイムに近い間隔で Redshift にデータ 転送 – オートスケーリング、データの統合管理で高 可用性を実現 • Redshift の導入コンサルも提供 お問い合わせは info@flydata.com へ!

×