Цены на Amazon Athena
Почему Athena?
Amazon Athena – это бессерверный интерактивный аналитический сервис, построенный на фреймворках с открытым исходным кодом, который позволяет анализировать петабайты данных там, где они находятся. В Athena можно использовать SQL или Apache Spark, а настраивать инфраструктуру или управлять ею не требуется. Цены просты: вы платите в зависимости от обработанных данных или используемых вычислений.
Для начала работы вы создаете рабочую группу, в которой можно указать движок запросов, рабочий каталог в Простом сервисе хранения данных Amazon (S3) для хранения результатов выполнения, роли в сервисе «Управление идентификацией и доступом AWS» (IAM) (при необходимости) и теги ресурсов. Вы можете использовать рабочие группы для разделения пользователей, команд, приложений или рабочих нагрузок; устанавливать ограничения на объем данных, которые может обрабатывать каждый запрос или вся рабочая группа; а также отслеживать расходы. В зависимости от созданной рабочей группы вы можете (a) выполнять запросы SQL и получать результаты на основе считанных данных или использованных вычислений либо (б) запускать код Apache Spark Python и получать почасовую оплату за выполнение вашего кода.
Калькулятор цен AWS
Посчитайте затраты на Amazon Athena и архитектуру в единой смете.
Запросы 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,25 USD.)
Пример 2. Запросы SQL с резервированием емкости
Предположим, что ваша команда поддерживает приложение бизнес-аналитики, которое предоставляет пользователям аналитику самообслуживания в рабочее время. Вы анализируете шаблоны выполнения запросов и обнаруживаете, что ваше приложение работает с максимальной нагрузкой в первые 15 минут каждого часа: в этот период обрабатывается не более 20 запросов, при этом для каждого запроса требуется максимум 8 DPU. Вы создаете резервирование емкости на 160 DPU (20 запросов × 8 DPU на каждый), чтобы обеспечить обработку пикового уровня одновременной нагрузки.
- Стоимость поддержки максимальной рабочей нагрузки с помощью резервирования емкости рассчитывается следующим образом: 160 DPU × 0,30 USD за час DPU × 0,25 часа = 12,00 USD.
В непиковые 45 минут каждого часа, когда объем запросов снижается, вы уменьшаете мощность до 16 DPU, чтобы обслуживать до 4 запросов одновременно.
- Стоимость поддержки рабочей нагрузки с помощью резервирования емкости в непиковое время рассчитывается следующим образом: 16 DPU × 0,30 USD за час DPU × 0,75 часа = 3,60 USD.
- Общая стоимость поддержки рабочей нагрузки в течение одного часа рассчитывается следующим образом: 12,00 USD + 3,60 USD = 15,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 и получите индивидуальное ценовое предложение
Начните разработку с помощью Amazon Athena в Консоли управления AWS.