Amazon Redshiftとは
Amazon Redshiftとは、AWSが提供するデータウェアハウスサービスです。 Amazon Redshiftは大量のデータを短時間で読み出し・分析することが可能です。
データウェアハウスとは
データウェアハウスというのは、業務をおこなう過程で発生した情報を時系列に保存したデータの倉庫です。 データをバックアップではなく分析を目的として保管します。 データベースとの違いはその情報を保管しておける期間です。 データベースの場合、一定の期間が経過したデータは削除されますが、データウェアハウスの場合、データは削除されず蓄積されます。
料金
料金体系は従量課金制の「オンデマンド」と期間契約の「リザーブインスタンス」の2つがあります。 リザーブインスタンスの契約の期間は1年または3年で、利用しない時間にも料金が発生します。
オンデマンド USD$0.314/h リザーブインスタンス USD$0.250/h
*dc2.largeを利用した場合
特徴
高速処理 データを列で管理していること、並列処理をしていることから、従来のデータベースより最大10倍もの性能を持っており、大量のデータを高速で処理することが可能です。
セキュリティ データを保管、移動、バックアップする際は暗号化して守られます。 またデータをAWSが管理することにより高度なセキュリティの下、データを管理することができます。
SQLに対応している Amazon Redshiftは、「PostgreSQL 8.0.2」に準拠しています。
自動バックアップ Amazon Redshift内のデータは自動的にAmazon S3にバックアップされます
Amazon Redshiftを使ってみよう
Amazon Redshiftを使ってみましょう
1. Amazon S3にバケットを作成する
2. バケットにデータを入れる
データが用意できたら以下のようにオブジェクトURLを確認しておきます
3. IAMロールを作成する
ファイルをRedshiftクラスターから読み込むためのIAMロールを作成します。
「AWSサービス」から「Redshift」「Redshift – Customizable」を選択し、次のステップのアクセス権限というところをクリックします。
アクセス権限で、「AmazonS3ReadOnlyAccess」を選択します。
任意のロール名を設定しロールを作成します。
作成されたロールを確認してみましょう。
4. Redshiftクラスターの作成
AWSマネジメントコンソールからAmazon Redshiftを選択すると以下の画面が出てくるのでクラスターの作成に進みます。
「マスターユーザー名」「マスターユーザーのパスワード」にそれぞれ入力し、「次へ」をクリックするとセキュリティーグループの設定画面になるのでそこでの「使用可能なロール」に「redshift_s3_read_role」を追加します。「VPCセキュリティグループ」はdefaultのままです。 クラスターの起動を押すとクラスターが起動されます。
5. Redshiftクラスターに接続する
ターミナル上で以下のコマンドを入力します。
# yum install install postgresql-client # psql -h [クラスターのエンドポイント] -U [マスターユーザ名] -d [データベース名] -p [データベースポート]
するとパスワードの入力を要求されるので、先ほど設定したパスワードを入力するとクラスターに接続されます。
6. データの読み込み
SQLでテーブルを作成します。
CREATE TABLE user( username VARCHAR(255), email VARCHAR(255) password char(30) mathematics INT );
COPY score FROM '[オブジェクトURL]' IAM_ROLE '[IAMロールのロールARN]' IGNOREHEADER 1 CSV;
これで読み込みが完了しました。
ここまでできたら、クエリを書いて叩いてみましょう。 SQLによる分析が可能になります。
まとめ
Amazon Redshiftは膨大なデータを高速に処理し、細かいデータ分析を行えることができます。SQLに対応しているので操作も簡単です。無料のお試し期間などもあるので活用してみましょう。