[AWS] RedShift
Cloud AWS
Published : 2020-07-14   Lastmod : 2020-07-21

1.RedShiftとは

RedShiftとは、AWSのデータウェアハウスのことを言います。データウェアハウスは一般的なシステム開発で使うケースは少ないため、エンジニアなどの専門職であっても開発した経験がある方は少数かもしれません。RDSのようにデータを格納するサービスという点では共通ですが、そもそもの使い方が異なります。データウェアハウスは、データ分析をするための仕組みです。MySQLなどのRDBMSのように、データを取得してそれをクライアント側で表示するなどという用途ではなく、大量のデータを保存して、それを分析するために使います。高頻度の書き込みや更新には向いておらず、むしろ一括で書き込んだデータを分析するために向いています。RedShiftは、PostgresSQLと互換性のあるSQLでデータを取得できるので、一般的なSQLスクリプトが記述できるエンジニアであれば、すんなりなじめるはずです。

昨今はビッグデータによるビジネスが活性化していることから、データウェアハウスの活用シーンは今後も増えてくるように思われます。

2.RedShiftのメリット

RedShiftのメリットは他のクラウドサーバと比べると圧倒的な高速処理能力です。世界で最も高速なクラウドデータウェアハウスの1つであり、今現在も高速性能は向上しています。最近では、新しい RA3 インスタンスが誕生しており、特に高いパフォーマンスが要求される場合、このインスタンスを利用すれば、最大で他クラウドサーバのデータウェアハウスの三倍のパフォーマンスを実現します。

また、RedShiftはトップレベルの高速処理にもかかわらず、圧倒的な低コストな点も魅力的です。1 時間あたり 0.25 USD で小さな規模からスタートでき、ビッグデータ並みの1 テラバイトであっても、年間 1,000 USD 以下でペタバイト規模のデータが扱える環境が準備できます。支払いは実際に使用した分だけ発生するので、月々の支払いもある程度予測可能な数字となっており、他のクラウドデータウェアハウスよりも50% 以上安価に利用が可能です。

3.RedShiftの使い方

RedShiftは、1つずつINSERTなどをするのではなく、S3などに格納しているCSVファイルやテキストファイルやdynamodbに格納しているデータを一気に吸い上げてデータを格納します。その際、Redshiftクラスターという単位でDBを管理します。ですので、Redshift操作のためにまずすることはRedshiftクラスターを作成することです。コンソールからRedshiftを指定するとRedshift作成手順の中にLaunch ClusterというボタンがありますのでまずそこからRedshiftクラスターを作成します。作成が終わったらLinuxのターミナル上で、psqlコマンドからRedshiftクラスターに接続してコマンド操作によりDBやテーブルを作成します。その後、用意したデータファイルを指定してインポートすればデータファイルに書かれている大量データが指定したテーブルに格納されるです。

関連する記事