More Related Content Similar to Amazon Redshift ベンチマーク Hadoop + Hiveと比較 (20) More from FlyData Inc. (11) Amazon Redshift ベンチマーク Hadoop + Hiveと比較 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. Amazon Redshift は、クラウドビッグデータの新
しいデータウェアハウス。 Redshift の登場までは
、テラバイトを超える処理には、 Hadoop を用い
る必要があった。
今回、 Redshift と Hadoop(Amazon Elastic
MapReduce) を比較のため、インターネット広告
代理店のシステムのデータを想定し、ベンチマー
クを実施。
• 想定データサイズ: 100GB to ~50TB
• クエリの頻度: 1 時間あたり 1 回以上
• 素早いレスポンスが求められる
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. 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. 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 に記載
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. 考察
• Redshift の選択基準
– 1TB 以上のデータで 1 時間に 1 回以上の頻
度でクエリを処理する必要がある場合
– 実行結果が迅速 (10 分以内 ) に必要な場合
• Hadoop (EMR) の選択基準
– ペタバイト級のデータを保持
– クエリの実行頻度が 1 日に 1 回、 1 週間に 1
回程度
– Hadoop 技術に既に投資している場合
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. 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. APPENDIX – Additional Information
• 今回のベンチマークに利用したリソース
は全て github に公開
– https://github.com/hapyrus/redshift-benchmark
– データセットは S3 上に公開
13. お問い合わせ先 - FlyData
• Hadoop + Hive and Redshift サービスを
提供
• FlyData for Redshift
– 自社のデータで、 Redshift を Day 1 から利用
開始可能
– リアルタイムに近い間隔で Redshift にデータ
転送
– オートスケーリング、データの統合管理で高
可用性を実現
• Redshift の導入コンサルも提供
お問い合わせは info@flydata.com
へ!