LoginSignup
1
0

More than 5 years have passed since last update.

RedShiftのパフォーマンス・速度

Posted at

データウェアハウスに関する基本的な内容をまとめてみたものです。データウェアハウスに関する、Web上にすでにある解説コンテンツをまとめたサイトの抜粋です。
RedShiftのパフォーマンス・速度

RedShiftと他のデータベースとの性能の比較

RedShiftの処理速度とパフォーマンスについては、オープンソース型フレームワークHadoopで管理されるAmazon Elastic MapReduceと比較することで明確になります。
Amazon Elastic MapReduceもビッグデータを高速で処理するAmazonのWEBサービスです。

100GB~50TBのデータ処理で比較すると、RedShiftはElastic MapReduceの10分の1の時間で処理できることが分かります。
処理速度が速いことはコストの低減することにつながりますので、運用コストもRedShiftの方が大幅に少なくて済むために、パフォーマンスについてもRedShiftが優れています。

RedShiftはどのような用途で速いのか?

RedShiftはカラム型データベースであるために、合計や平均などを計算する集計処理の速度が速いのが特徴です。
大規模なデータの集計処理になると、他のデータベースよりも圧倒的なパフォーマンスを発揮します。

しかし、大量のデータのインポートや更新などの処理については苦手なので、頻繁にデータの内容を更新すると、RedShiftのパフォーマンスは低下してしまいます。

どのようにチューニングすると速度向上効果が大きいのか

Redshiftを高速化するためのチューニング方法として、ソートキー・DISTKEY・圧縮があります。

・ソートキーによる高速化
Redshiftではテーブルを作成する時に、複数の列に対してソートキーを設定することが可能です。
ソートキーが定義されていると、テーブルにデータがロードされる際にソートキー順にデータが並べられます
Redshiftでは列データを1MB単位で扱いますので、ソートキーを使って効果的にデータを格納すると、検索にかかる時間を大幅に削減することが可能です。

・DISTKEYによる高速化
Redshiftはテーブルのデータを複数のノードに分散して格納しますが、偏ってデータを格納してしまうと処理速度が落ちてしまいます。
そのため、DISTKEYを使って、ノードへの分散方法を指定することが有効です。

・圧縮による高速化
テーブルにデータを格納する時に、データのサイズを小さくするのが圧縮です。
圧縮することで処理するデータ量を少なくすることができますので、処理速度を上げることができます。
Redshiftには複数の圧縮方法が用意されていますが、COPYコマンドを使うとRedshiftが最適な方法を選んで圧縮してくれます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0