Где я могу найти статистику использования Redshift?

Прежде всего, спасибо за вашу помощь!

Я хочу узнать, какие таблицы в базе данных используются наиболее активно, то есть количество пользователей, которые запрашивают таблицу, количество раз, когда она запрашивалась, ресурсы, которые потреблялись пользователями для каждой таблицы, общее время, в течение которого таблицы запрашивались , и любые другие полезные данные. А пока я бы ограничился анализом 9 конкретными таблицами. Я пробовал использовать stl_scan и pg_user, используя следующие два запроса:

SELECT
    s.perm_table_name           AS table_name,
    count(*)                    AS qty_query,
    count(DISTINCT s.userid)    AS qty_users
FROM stl_scan s
JOIN pg_user b
    ON s.userid = b.usesysid
JOIN temp_mone_tables tmt
    ON tmt.table_id = s.tbl AND tmt.table = s.perm_table_name
WHERE s.userid > 1
GROUP BY 1
ORDER BY 1;

SELECT
    b.usename                                       AS user_name,
    count(*)                                        AS qty_scans,
    count(DISTINCT s.tbl)                           AS qty_tables,
    count(DISTINCT trunc(starttime))                AS qty_days
FROM stl_scan s
JOIN pg_user b
    ON s.userid = b.usesysid
JOIN temp_mone_tables tmt
    ON tmt.table_id = s.tbl AND tmt.table = s.perm_table_name
WHERE s.userid > 1
GROUP BY 1
ORDER BY 1;

temp_mone_tables - это темпоральная таблица, которая содержит идентификатор и имя интересующих меня таблиц.

С помощью этих запросов я могу получить некоторую информацию, но мне нужны более подробные сведения. Удивительно, но в Интернете не так много данных о такой статистике.

Еще раз всем заранее спасибо!


person Nambu14    schedule 04.05.2018    source источник
comment
Не очень знаком с Redshift, но помогает ли это? docs.aws.amazon.com/redshift/latest/dg/r_SVV_TABLE_INFO. html   -  person Jacob H    schedule 04.05.2018
comment
Спасибо за помощь, Джейкоб Х. К сожалению, это представление содержит информацию о самой таблице, а не об ее использовании. В любом случае, эта информация тоже полезна!   -  person Nambu14    schedule 04.05.2018
comment
stackoverflow.com/questions/67543337/   -  person Alok Kumar Singh    schedule 15.05.2021


Ответы (2)


Хорошая работа! Используя таблицу stl_scan, вы на правильном пути. Я не понимаю, какие дополнительные сведения вы ищете.

Для получения подробных показателей использования ресурсов вы можете использовать SVL_QUERY_METRICS_SUMMARY Посмотреть. Обратите внимание, что эти данные суммируются запросом, а не таблицей, потому что запрос является основным способом использования ресурсов.

Как правило, обратите внимание на в наших административных запросах Библиотека Redshift Utils на GitHub, в частности v_get_tbl_scan_frequency.sql

person Joe Harris    schedule 04.05.2018
comment
Большое спасибо! Это хорошие ресурсы !! Я посмотрю на них прямо сейчас! - person Nambu14; 07.05.2018

Благодаря ответу Джо Харриса я смог добавить много информации к моему предыдущему запросу. Соединив svl_query_metrics_summary с stl_scan, вы получите важные данные о потреблении ресурсов, эту информацию можно расширить, присоединив их к огромному количеству просмотров, перечисленных в ответе Джо.

Для меня решение начинается со следующего запроса:

SELECT *
FROM stl_scan ss
JOIN pg_user pu
    ON ss.userid = pu.usesysid
JOIN svl_query_metrics_summary sqms
    ON ss.query = sqms.query
JOIN temp_mone_tables tmt
    ON tmt.table_id = ss.tbl AND tmt.table = ss.perm_table_name

Запрос дает вам много данных, которые можно резюмировать различными способами по вашему желанию.

Помните, что temp_mone_tables - это временная таблица, которая содержит tableid и имя интересующих меня таблиц.

person Nambu14    schedule 07.05.2018