はじめに Redshiftのデータはnode毎に分散されており、distkeyが不適切だとnode間でデータ量が偏ることがある。 データが偏るとディスクを圧迫するだけでなくパフォーマンスにも影響する。 nodeとslice データはnode毎に分散して保存されている。 さらにnode内で複数のsliceに分かれて保存されている。 node情報取得 以下のテーブルを使ってrowsの偏りを求める事ができる。 ディスク使用量(byte)は取ることはできない。 stv_tbl_perm slice毎のテーブルのrows数を取得できる。 stv_slices nodeとsliceのマッピング情報を取得できる。 調査クエリ node毎の使用量を取得 select node, sum(rows) from stv_slices m join stv_tbl_perm s on s.slice = m.s
![Redshiftのnode毎のデータ量の偏りを調べる - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/0f73384cb834e931ba9a2531777bb81c53a362f6/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9UmVkc2hpZnQlRTMlODElQUVub2RlJUU2JUFGJThFJUUzJTgxJUFFJUUzJTgzJTg3JUUzJTgzJUJDJUUzJTgyJUJGJUU5JTg3JThGJUUzJTgxJUFFJUU1JTgxJThGJUUzJTgyJThBJUUzJTgyJTkyJUU4JUFBJUJGJUUzJTgxJUI5JUUzJTgyJThCJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1hNWIzZGZhNzlhZDI5ODllMDA1ZGYxN2I0YzE3YWU4Mg%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwaGlkZWNoYWUmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWM0NDg1NjBjZGJmYTg4NDAxZmUzZGFiZWE4NGRkNDc3%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D3ec22cdd59491b4925a94f4f39db0418)