tgoop.com/big_data_systems_analysis/165
Last Update:
Сколько стоит твой SQL запрос?
Облачные хранилища — это гибкость и масштабируемость, простота и скорость работы
Чтобы немного помочь с этой болью, Snowflake добавил новую системную таблицу — QUERY_ATTRIBUTION_HISTORY
. Она позволяет решать целый ряд задач:
То есть она помогает обнаружить скрытые источники перерасхода. Например, простой SELECT, который запускается каждые пять минут, может стоить намного больше, чем ожидалось. Выявили проблему — сразу оптимизировали. Больше не нужно составлять сложные SQL-запросы, объединяя данные из нескольких таблиц. При этом вся информация хранится год, и доступ к ней можно получить всего за несколько строк кода.
Для вычисления самых злостных потребителей за последний месяц достаточно выполнить запрос:
SELECT user_name, SUM(credits_attributed_compute) AS credits
FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_ATTRIBUTION_HISTORY
WHERE 1=1
AND start_time >= DATE_TRUNC('MONTH', CURRENT_DATE)
AND start_time < CURRENT_DATE
GROUP BY user_name
ORDER BY credits desc;
Теперь можно легко настроить дашборды и ещё лучше:
— анализировать расходы
— оптимизировать задачи, которые дороже всего стоят
— создать систему уведомлений о высоких расходах.
Что стоит помнить? Не учитываются:
Документация по QUERY_ATTRIBUTION_HISTORY здесь.
#snowflake