ablog

不器用で落着きのない技術者のメモ

2022-09-01から1ヶ月間の記事一覧

Redshift でテーブルの制約を調べる

AWS

SELECT con.* FROM pg_catalog.pg_constraint con INNER JOIN pg_catalog.pg_class rel ON rel.oid = con.conrelid INNER JOIN pg_catalog.pg_namespace nsp ON nsp.oid = connamespace WHERE nsp.nspname = '<schema name>' AND rel.relname = '<table name>'; ... # \d+ observation</table></schema>…

Redshift の svv_table_info の skew_sortkey1

AWS

svv_table_info の skew_sortkey1 の値は小さいほどよい。仮に skew_sortkey1 が 5 の場合、where句の条件でフィルタする前に他のカラムのデータを5ブロック読込む。 Ratio of the size of the largest non-sort key column to the size of the first column…

Redshift のデフォルトタイムゾーンを変更する

AWS

Redshift のユーザーレベルかセッションレベルでデフォルトタイムゾーンをUTCからJSTなどに設定するととができる。 クラスターレベルでは設定できない(2022/9/20時点で)。 参考 https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/r_timezone_config.h…

Redshift の QMR の設定は動的に適用される

AWS

Redshift の QMR の変更が動的に適用される(再起動不要)ことを確認した。 QMR で Query execution time (seconds) > 10800(3時間)でクエリを実行すると中断されない。 $ psql "host=redshift-cluster-poc-ads.********.ap-northeast-1.redshift.amazonaw…

Redshift のパラメータグループを変更すると再起動が必要

AWS

マネジメントコンソールで [Amazon Redshift]-[Clusters]でクラスターを選択し、[Properties]-[Database configurations]-[Edit]-[Edit parameter group]でパラーメータグループを変更すると、 再起動するまで適用されないパラメータがある。例えば、WLM は…

Redshift はデータが変更されると自動的にスナップショットが取得される

Redshift の自動スナップショットは8時間ごとか5GBのデータが変更されると取得する。 自動スナップショットがクラスターに対して有効になると、Amazon Redshift は定期的にそのクラスターのスナップショットが作成されます。デフォルトでは、Amazon Redshif…

Redshift のリストア時間を計測してみた

AWS

11.1TBのスナップショットを ra3.4xlarge 2node にリストアしたところ、約3分で終了した。 手順 [Amazon Redshift]-[Clusters]-[Snapshots] で、リストアするスナップショットを選択、[Restore snapshot]-[Restore to provisioned cluster] を選択。 環境 ra…

GitHub の MarkDown の記法

https://docs.github.com/ja/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax

こんな Wiki がほしい

FreeStyleWiki のようなデザイン MarkDown で記述できる(MarkDownにこだわりはない) git でリビジョン管理できる 静的 HTML を生成できる 画像を表示できる

Redshift で VACUUM の状況を確認するシステムテーブル・システムビュー

AWS

Amazon Redshift での VACUUM のパフォーマンスに関する問題のトラブルシューティング STL_VACUUM - Amazon Redshift SVV_VACUUM_SUMMARY - Amazon Redshift SVV_VACUUM_PROGRESS - Amazon Redshift

Redshift の SVV_TABE_INFO の UNSORTED と VACUUM_SORT_BENEFIT が NULL になるとき

AWS

Redshift の SVV_TABE_INFO の UNSORTED と VACUUM_SORT_BENEFIT が NULL になっているテーブルは ソートキーを指定していない説。 SVV_TABLE_INFO - Amazon Redshift

Redshift のスナップショット取得時間

AWS

ほとんどデータを変更していないクラスターで数分程度。 ra3.4xlarge x 2ノード で、 データサイズは8TB程度。増分スナップショットなので速い模様。 参考 Amazon Redshift は、前回のスナップショット以降にクラスターに加えられた増分変更を追跡する、増分…

Redshift で Query cancelled on user's request の原因調査方法

AWS

Redshift で Query cancelled on user's request が発生した場合の原因調査方法 Amazon Redshift でクエリが中止されました

Redshift で中間結果をディスクに書き出しているクエリを調べる

AWS

中間結果書き出しが多いクエリを調べる(実行中のクエリ) クエリ select query, sum(blocks_to_disk) as mbytes, max(max_blocks_to_disk) as max_mbytes, min(starttime) as query_start_time from STV_QUERY_METRICS where segment = -1 -- セグメントレ…

Redshift で ISOLATION LEVEL を SERIALIZABLE から SNAPSHOT に変更する

AWS

書式 ISOLATION LEVEL を SNAPSHOT に変更する ALTER DATABASE database_name ISOLATION LEVEL SNAPSHOT 現在の ISOLATION LEVEL を確認する concurrency_model が 1 なら SNAPSHOT、2 なら SERIALIZABLE SELECT datname, datconfig FROM pg_database_info; …