Запросы SQL

Запросы SQL с выделенными ресурсами

Apache Spark

Дополнительная плата

Поскольку запросы Athena выполняются непосредственно в Amazon S3, дополнительная плата за хранение данных не взимается. Плата по стандартному тарифу начисляется только за хранение данных в S3, запросы и передачу данных. По умолчанию результаты выполнения запросов сохраняются в выбранной корзине S3; их хранение также подлежит оплате по стандартным тарифам S3.

  • S3 взимает с вас счет за чтение, хранение и передачу данных в рабочих нагрузках. Сюда входят успешные и неудачные запросы. По умолчанию результаты выполнения запросов SQL и вычислений Spark сохраняются в выбранной корзине S3; их хранение подлежит оплате по стандартным тарифам S3. Подробнее см. на странице цен на Amazon S3.
  • При использовании Каталога данных AWS Glue с Athena вы платите по стандартным тарифам для каталога данных. Подробные сведения см. на странице цен AWS Glue.
  • За запросы SQL к объединенным источникам данных (данные не хранятся на S3) взимается плата за терабайт (ТБ), считанный Athena в совокупности по всем источникам данных, с округлением до ближайшего мегабайта с минимальным размером 10 мегабайт на запрос, если не используются выделенные ресурсы. Такие запросы также выполняют вызов функций AWS Lambda на вашем аккаунте, оплата за работу AWS Lambda начисляется по стандартным расценкам. Функции Lambda, вызываемые федеративными запросами, относятся к уровню бесплатного использования Lambda. Подробные сведения см. на странице цен Lambda.

Примеры расчета цен

Пример 1. Запрос SQL

Рассмотрим таблицу с четырьмя столбцами равного размера, сохраненную в Amazon S3 в виде несжатого текстового файла общим размером 3 ТБ. При выполнении запроса на извлечение данных из одного столбца таблицы Amazon Athena обработает весь файл, поскольку данные в текстовом формате нельзя разделить.

  • Стоимость данного запроса составит 15 USD. (Стоимость обработки 3 ТБ данных составит 3 х 5 USD/1 TБ = 15 USD.)

Если сжать файл в формат GZIP, его размер можно уменьшить в 3 раза. Тогда сжатый файл будет иметь размер 1 ТБ. Теперь этот же запрос будет стоить 5 USD. Athena все равно будет обрабатывать весь файл, но поскольку его размер стал в три раза меньше, пользователь будет платить в три раза меньше. Если сжать файл и преобразовать его в табличный формат, такой как Apache Parquet, его размер уменьшится в 3 раза, но в S3 все равно будет 1 ТБ данных. Но в этот раз, за счет табличного формата Parquet, для выполнения запроса Athena достаточно обработать только требуемый столбец. Поскольку в запросе указан только один столбец, Athena прочитает только его, т. е. четвертую часть файла. Таким образом, будет обработано 0,25 ТБ данных.

  • Стоимость данного запроса составит 1,25 USD. Стоимость снижена в три раза за счет сжатия и еще в четыре раза за счет чтения только одного столбца. 
    (Размер файла = 3 ТБ/3 = 1 ТБ. Объем обрабатываемых данных в одном столбце = 1 ТБ/4 = 0,25 ТБ. Стоимость обработки 0,25 ТБ данных составит 0,25 х 5 USD / 1 ТБ = 1,25 USD)

Пример 2. Запросы SQL с выделенными ресурсами

Предположим, что ваша команда поддерживает веб-приложение, которое предоставляет аналитику в режиме самообслуживания пользователям, отправляющим запросы в рабочее время и ожидающим их выполнения в предсказуемый промежуток времени. На прошлой неделе пользователи приложения отправили в общей сложности 10 000 запросов, в ходе которых было считано 500 ТБ данных. Вы хотите использовать выделенные ресурсы, чтобы поддерживать единообразный пользовательский интерфейс по мере роста числа пользователей. Анализируя запросы, вы определяете, что 96 блоков обработки данных достаточно для текущей рабочей нагрузки.

  • В течение одного рабочего дня стоимость поддержки этой рабочей нагрузки с использованием выделенных ресурсов составляет 96 DPU * 0,30 USD за час DPU * 12 часов в день = 345,60 USD.

Однажды утром вы узнаете, что новая группа пользователей приложения прошла регистрацию и, как следствие, ожидаете, что объем запросов будет в 2 раза выше, чем накануне. Вы хотите, чтобы пользователи работали так же, как и вчера, но не ожидаете, что все пользователи будут отправлять запросы одновременно. Через два часа работы вы увеличиваете мощность на 50 % до 144 DPU.

  • Стоимость сегодняшней рабочей нагрузки равна стоимости 96 DPU за 2 часа плюс 144 DPU в течение 10 часов или 96 DPU * 0,30 USD за час DPU * 2 часа + 144 DPU * 0,30 USD за час DPU * 10 часов = 489,60 USD.

Пример 3. Приложение Apache Spark

Рассмотрим возможность использования блокнота в консоли Athena для получения данных о продажах за предыдущий квартал и построения графиков для создания отчета. Вы начинаете сеанс, используя блокнот. Ваш сеанс длится 1 час, в рамках сеанса предоставляется 6 расчетов. Каждый расчет занимает 20 рабочих узлов 1-DPU и длится 1 минуту.

  • Количество рабочих DPU-часов = количество расчетов * DPU, используемые для расчетов * время выполнения расчета = 6 расчетов * 20 DPU для каждого расчета * (1/60) часов для каждого расчета = 2,0 DPU-часа
  • Количество драйверных DPU-часов = DPU, использованные за сеанс * время сеанса = 1 DPU за сеанс * 1 час за сеанс = 1,0 DPU-час
  • Общее количество DPU-часов = количество рабочих DPU-часов + количество драйверных DPU-часов = 2,0 DPU-часа + 1,0 DPU-час = 3,0 DPU-часа
  • Плата за приложение Spark = 0,35 USD за DPU-час * 3,0 DPU-часа = 1,05 USD

Обратите внимание: S3 взимает отдельную плату за хранение и считывание ваших данных и результатов выполнения.

Дополнительные ресурсы по ценам

Калькулятор цен AWS

Простой расчет ежемесячных расходов на AWS

Получить консультацию о ценах

Связаться со специалистами AWS и получить индивидуальное предложение

Перейти на страницу начала работы

Узнайте, как начать работу с Amazon Athena

Подробнее »
Начните разработку в консоли

Начните разработку с помощью Amazon Athena в Консоли управления AWS.

Войти »
Связь с экспертом

Изучите возможности поддержки Amazon Athena.

Свяжитесь с нами »