2016.11.18インフラ

Redshiftとは|5つの特徴と他のビッグデータ技術との比較

  • このエントリーをはてなブックマークに追加
49ff9bf1 b967 4b50 8142 1ca2edf2188a
Redshiftとは、Amazon Redshiftのことで、AWSのクラウド型データウェアハウスサービス(DWH)のことです。DWHは、ビジネス上で必要な情報を得るために利用する情報基盤のことです。Redshiftはペタバイド級の高速DHWであり、大量データの集計を得意とします。またBI分析ツールとも連携することが出来るため、データアナリストのような専門家がいなくても必要なユーザーが必要な時に分析することが出来ます。
 
今回は、Redshiftの5つの特徴と他のビッグデータ技術との比較についてご紹介していきます。
 

10,000件以上の案件から希望の案件をご紹介!

未公開案件も多数ありますので「まずは相談したい。」という方もお気軽に登録ください。

あなたに合ったフリーランス案件を探す
Banner free wide 037b570405fddeb419957475d18a005501589cadc55bfe73d5000335887322fd
【目次】
Redshiftとは|特徴と導入するメリット
Amazon Redshiftの5つの特徴
Amazon Redshiftを導入するメリット
Amazon Redshiftの導入例
Amazon Redshiftを導入してみよう
Amazon Redshiftの事前準備
Amazon Redshiftの導入の流れ
Amazon Redshift専用GUIツールがおすすめ
チューニングの3つのポイント
ビッグデータの需要に伴いRedshiftの需要急増
蓄積された大量データの集計処理に特化
他のビッグデータ技術との比較
まとめ
 

■Redshiftとは|特徴と導入するメリット


Amazon Redshiftとは、AWSのクラウド型データウェアハウスサービス(DWH)のことです。従来のDWHの管理には膨大な時間とリソースとメンテナンス・拡張に関する費用が必要でしたが、Redshiftは、DWHの費用が抑制されるうえ、ペタバイド級の規模で高速に分析することが出来ます。そのため、蓄積された大量のデータ集計処理に特化しています。
 

Amazon Redshiftの5つの特徴

・大幅なコスト削減
従来のDWHに比べ、年間の費用が10倍から多いときには1000倍近くのコストダウンをすることが出来ます。例えば、DWHを導入するときは数テラバイトの容量でも億単位の金額が必要な場合があります。ですが、Amazon Redshiftは2TBストレージの最低額が年に$2,000程(日本円で約21万)から利用することが出来ます。
 
・段階的な料金設定が出来る
1つのラージノートが1時間あたり$0.25からスモールスタートが出来るため、「まず試してみる」ことが出来ます。その後、良ければいつでも数千コア、数テラバイトのRAM、数テラバイトのストレージを持つクラスターにすることが出来るため、用途に応じて段階的な料金設定をすることが出来ます。
 
・フルマネージドサービス
マネージドコンソールでモニタリングを行うことが出来たり、構成変更も容易に出来るなど、DWHサービスに付随して発生する業務をまとめて提供してくれます。また、DWHクラスターの自動バックアップを1日保持する自動バックアップが標準で有効になっているなどのサポートもあります。
 
PostgreSQL8.0.2に準拠したデータベース
PostgreSQLとの互換性が高く、Amazon RedshiftはPostgreSQL8.0.2に準拠しています。PostgreSQL標準のクライアントコマンド、psqlも使用出来、JDBCやODBCなどの接続もサポートしています。ただし、PostgreSQLで使っていた大抵のSQL文は使用できますが、場合によっては使い方が異なる場合がありますのでご注意ください。
 
・一般的な管理作業を容易に自動化
ノード構成、設定、モニタリング、バックアップなど運用管理のほとんどが自動化されています。Amazon S3へのバックアップも自動的に処理され、バックアップからクラスターを復元する処理も高速です。
 

オンライントランザクション処理に弱い

通常の行指向データベースの、特定のユーザーの特定のデータを取得するなどの処理は、1件を取得するだけでも数秒かかる場合があります。従って、レスポンスタイムが重要なオンライントランザクション処理を行うデータベースにはあまり向かないです。
 

Amazon Redshiftを導入するメリット

特徴にも上げましたが、大幅なコスト削減は第一に挙げられる導入するメリットです。年間の費用が10倍から多いときには1000倍近くダウンさせることが出来ます。また、用途に応じて段階的な料金設定をすることが出来る点も企業にとっては大きなメリットになります。
 
そして、導入するべきもう1つのメリットは、DWH向けのアーキテクチャを搭載していることです。DWHでは、非常にたくさんのカラムを持つテーブルを作る場合が多いです。ですが実際に集計するカラムと言うと、テーブル全体で200カラム中5~10カラム程度です。Amazon Redshiftはカラムナ型(列指向型)であり、DB内のデータをカラム単位で格納します。その為、従来のDWHとは違い、5カラム分のみディスクから読み込み、行指向型に比べてディスクI/Oを大幅に削減することが出来ます。
 

Amazon Redshiftの導入例

大量のデータを扱う企業では、Amazon Redshiftの導入が進んでいます。今回は、導入している企業を少しだけご紹介します。
 
【株式会社NTTドコモ】
Amazon RedshiftとYellowfinを導入後、2カ月でデータ分析環境を実現しています。「容量のユーザーログを活用し、正確に動向を把握する」という課題を掲げ、導入を決めました。
 
【株式会社リクルートテクノロジーズ】
Amazon Redshiftを導入することにより、ピークの読めないサービスリリースを数多くリリースする必要性が求められる中で、スケーラブルな環境を実現。膨大な顧客情報の管理がスムーズに出来るようになったうえ、元々のコストダウンに成功しています。
 
【株式会社enish】
これまでは、深堀りするようなクエリを投げるとメモリが起因して不安定になっていましたが、Amazon Redshiftを導入することにより、そんな種類の大きさのクエリを投げても不安定にならず、レスポンシブルも10倍以上早くなりました。
 

Amazon Redshiftを導入してみよう


開発現場に入ると、企業が開発環境を用意しておいてくれる場合が多いですが、プロジェクトの最中に新たに導入する場合など、知っておいて損はありませんので、Amazon Redshiftの導入方法を簡単にご紹介します。
 

Amazon Redshiftの事前準備

Amazon Redshiftクラスタを起動する前に、Amazon Redshiftクラスタに接続するクライアントツールの準備をしておきましょう。コストをかけたくない場合は、無料のGUIのデータベースクライアントである「SQL WorkbenchClient」を利用してみてください。このツールを使用する際には、「Java 6 runtime environment」のインストールも必要になります。
 
そしてもう1つ、AWSのアカウントを作成しておいてください。Amazon RedshiftはAWSサービスの1つですので、使用するためにはAWSのアカウント情報を入力する必要があります。
 

Amazon Redshiftの使用料金

【TB あたりの年間実質料金】

オンデマンド料金では、TB あたりの年間実質料金はインスタンスの時間料金×年間の時間数÷インスタンスあたりの TB 数で計算されます。リザーブドインスタンスの場合、(前払い料金 +(時間料金×期間内の時間数))÷(期間内の年数×ノードあたりの TB 数)で計算されます。

(引用:Amazon web service

 

Amazon Redshiftの導入の流れ

Amazon Redshiftの導入の流れを簡単にご紹介します。
 
1. AWSアカウントでサインアップし、Redshiftに接続するためにクライアントツールとドライバを入手する
2. クライアントツールとドライバーのダウンロードを行う
3. AWS管理コンソールを使ってクラスタを立ち上げる
4. クラスタを起動後、クラスタへのクライアントからのアクセス許可
5. 作成したクラスタに接続
6.「dev」データベースで、テーブル作成・データのアップロード・クエリ例を試してみる
7.起動中に課金されてしまうため、サンプルクラスターを削除する
8. 他のリソースの検索と環境のリセット
 
詳しくは、公式サイトの入門ガイドをご参照ください。
 

Amazon Redshift専用GUIツールがおすすめ

Amazon Redshift専用GUIツール『Aginity Workbench for Amazon Redshift』がおすすめです。名前に入っている通り、Redshiftに特化したGUIツールです。管理ツールである「SQL Workbench/J」と比べて、複数のDBの同時表示や、DBサイズ、SQLのオートコンプリート、テーブル解析などの機能が優れています。
 

チューニングの3つのポイント

Amazon RedshiftでDWH環境を構築するうえで、チューニングポイントは3つあります。
 
【ソートキー】
従来のRDBMS同様にソートキーが存在します。ソートを活用する事で範囲が制限された述語を効率的に処理することが出来るため、分散キー同様にテーブルデータに及び活用方法に適したソートキーの指定を行なう事が大切になります。ソートキーはテーブル1つに対して複数個指定が可能です。
 
最近のソートキーの指定は、「Interleaved Sorting」というソート方法を指定することも可能です。
 
【分散キー】
Amazon Redshiftでは、ノードと呼ばれるコンピューティングリソースの集合で構成され「クラスタ」と呼ばれています。データへのアクセスがクラスタに届くと、クラスタのリーダーノードが処理を受け、配下のコンピューティングノードへと処理を分散して指示します。
 
分散キーの指定方法は「EVEN(均等分散)」「KEY(任意のキーによる分散)」「ALL(データ全体のコピーを分散)」の3つが指定可能です。それぞれ用途に応じたテーブルの構造や関連、または結合の方法に適した分散キーの指定をテーブル作成時に行なう事がポイントとなります。
 
【列圧縮タイプ】
列圧縮タイプの選択を行うと、指定の列を選択した形式で圧縮して管理します。圧縮指定を行うことで、データの揚力削減にもなり、ネットワークI/O削減にも繋がります。
 
データ型ごとに可能な列圧縮タイプの一覧は、「Amazon Redshift データ型と列圧縮タイプのまとめ(データ型&列圧縮タイプ対応表付)」の記事をご参考ください。
 

ビッグデータの需要に伴いRedshiftの需要急増


AWSから登場したAmazon Redshiftは、パフォーマンスや驚異的な低コストという特徴を持ち、発表当時から大きな反響を呼んできました。大量データの集計を得意としていることから、ビックデータに対するニーズが強まるからです。
 

蓄積された大量データの集計処理に特化

大量データの集計を得意としているAmazon Redshiftは、従来のPostgreSQL用ドライバやJDBC、ODBCに接続出来ることから、既存の資産をそのまま利用することも可能で、蓄積された大量のデータを抱えるビッグデータ関係者が歓喜の声をあげました。
 
また、Amazon Redshiftは他のビッグデータ慣例と大幅な価格差を出し、スタートアップなどの小規模なビジネスでもビッグデータ分析を可能にしました。そのため、Amazon Redshiftのニーズが急上昇しております。
 

他のビッグデータ技術との比較

NoSQLデータベースとの比較

Amazon RedshiftはPostgreSQLベースのデータベースのため、NoSQLデータベースの内のMemcachedやRedisなどのキーバリューストア(KVS)とは利用方法が根本的に違います。KVSは全体を横断する集計処理は非常に苦手で、DWHとKVSは両極端なデータStoreであり、比較する意味がないほどです。
 

Amazon RedshiftとHadoopの比較

ビッグデータ技術として浮かぶ、「Hadoop」ですが、Amazon RedshiftまではHadoopとSQL言語コンポーネントであるHiveを使用してデータアナリスト向けのWebサービスを提供していました。Amazon RedshiftとHadoopは、同じデータかつ同じSQLですが、明らかにAmazon Redshiftのクエリスピードが速く、アドネットワークのような頻繁に起きるクエリ実行環境でコスト面でも勝っています。
 
また、Amazon RedshiftはHadoopに比べて非常にリソース消費量が低く、Amazon RedshiftがホストされているAWS上のインスタンスも非常に少ないリソースで動作します。
 

Hadoopと組み合わせることも可能

「Amazon Redshiftは長期的にデータを保存し、SQLやBIツールでデータを分析するのに向いている。EMRでは、その前処理を行うためにはおすすめするが、データをその中に保存するものではなく、あくまでも一時的なものとして使うほうが良い」
(引用:Amazon Redshiftの公式サイト

 
公式サイトに、上記のようなAmazon RedshiftとHadoopサービスであるElastic MapReduceの使い分けの例が記載されています。また、海外の大手Webサービス企業もHadoopとデータウェアハウスをそのように利用して成功しているという話を聞きます。Amazon Redshift+ Hadoopというビッグデータの技術の組み合わせも今後沢山の事例が出てくる可能性があります。
 

まとめ

いかがでしたでしょうか。世の中のニーズは、ビッグデータやAI、IoTといった大量のデータを必要とする技術の需要が増えており、その手助けとなる「Amazon Redshift」はまさに救世主ではないでしょうか。特に低コストという、企業のコスト事情に優しい特徴があるため、まずは試してみようという企業が今後も増え続けそうです。特に、マーケティング業界やソーシャルゲーム業界などに進みたい方は、一度Amazon Redshiftの勉強をしてみてください。
 
  • このエントリーをはてなブックマークに追加
10,000件以上の案件から希望の案件をご紹介!

未公開案件も多数ありますので「まずは相談したい。」という方もお気軽に登録ください。

あなたに合ったフリーランス案件を探す
Banner free wide 037b570405fddeb419957475d18a005501589cadc55bfe73d5000335887322fd

新着のコラム記事

人気のコラム記事