第15回 勉強会資料(PDF 580KB)

Amazon Redshiftについて
■Redshiftとは
• Amazonが提供するSQL データウェアハウスソリューション
• 大量データの高速検索を提供する
■Redshiftの利点
• 低コスト
• 容量拡張が容易
• サーバの保守はAmazonが実施
• ODBC/JDBC接続を使用するので、今までのDatabaseと同様に利用出
来る(移行が簡単)
■環境図
Antenna
Webサーバ
■バッチ動作に必要なもの
・Java8
・Apache Maven
・DBから抽出したデータを保存する領域
Antenna
データベース
新規サーバ
抽出
転送
Amazon
S3
・
・
・
抽出バッチ
転送バッチ
statistics
差戻
統計
copy
copyバッチ
統計バッチ
Amazon
RedShift
結果抽出バッチ
結果差戻バッチ
statistics
抽出
■各種コマンドについて
• 業務サーバ → Amazon S3 : AWS SKDを使って送受信
(Java/ .NET/ PHP/ Python/ Rubyなど多数存在)
• Amazon S3 → Amazon Redshift : copyクエリ発行
例:COPY (table名) FROM (s3取得データパス) CREDENTIALS (aws接続用ID/PW) DELIMITER ',' CSV NULL AS 'NULL' GZIP;
• Amazon Redshift → Amazon S3 : unloadクエリ発行
例:UNLOAD (データ取得SQL) TO (s3格納データパス) CREDENTIALS (aws接続用ID/PW) DELIMITER ',' GZIP ALLOWOVERWRITE;
■注意点など
• データが大量になればs3へのファイル転送に負荷が掛かるので、対
象データのサイズによっては、都度転送するようにしたが良い
• テーブル構成に変更が入った場合、ALTER文がないので作りなおし
が必要
例:unloadクエリでs3に退避させ、テーブル作り直してcopyクエリで戻す
• Redshiftに接続する際にsslが利用可能だが、接続に時間が掛かる
■まとめ
• 大規模なデータ操作する必要がある場合、選択肢の一つとして成り
立つ
• Redshiftを使う場合、Aamazon S3が必須なのでそこには留意する
※別料金がかかる
• 開発の窓口として、サポート契約を結んでおいたが安心
※別料金がかかる