2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Redshiftメモ

Posted at

Redshiftとは

  • 列指向ストレージ
  • データ圧縮
  • ゾーンマップ(各ブロックごとに最大・最小を持っているため高速にアクセス)

MySQLとの違い

MySQLでは、行を全て取ってくる。
その行をupdateするときは、ロックするため他のカラムが別プロセスで変更されない。
Redshiftのような列指向DBでは、別カラムが別プロセスによって変更される可能性がある。
ATOMIC性。

キャッシュ

クエリは、リーダノードでキャッシュしている

ANALYZE

分布状況やサイズによって、SQLのクエリプランを最適化。
テーブル統計を更新。

padb_fetch_sample: select * from テーブル名

が実行される。

VACUUM

データ削除後の解放。SORTKEYによるソート。
行スペースの再利用、再ソート。
vacuumでは、ソートとマージをする。

スタート
Vacuum テーブル名 integrity check before vacuum execution
エンド
Vacuum テーブル名 integrity check after vacuum execution

テーブルロックはしないので、読み書きと並列実行される。

Vacuum REINDEX

インターリーブソートキーを分析したあと、完全Vacuumを行う。
Vacuumよりも時間がかかる可能性。

Vacuumでディスクが上がる

PostgreSQLでは、追記型アーキテクチャを採用しているため、データを更新すると更新した履歴が追加されていく。
この不要になったものを解放するのが、Vacuum。テーブルを新規にコピーして、Vacuum処理をするため。

sortkeyについて

ソートキーは、where句で指定するものを選ぶ。
また、複数のソートキーを指定することができる。

ソートキーが、-1

インターリーブソートキーインターリーブを使用した場合は、ソートキーが負の値を持つことがある。
その場合、ソートキーの絶対値が列の位置になる。
SELECT * FROM pg_table_def WHERE tablename = 'テーブル名';

参考

PG_TABLE_DEF - Amazon Redshift
【新機能】Amazon Redshift の Interleaved Sorting機能を試してみた | DevelopersIO
Redshift の Interleaved Sort Key について解説してみる - Qiita

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?