Как устроена Athena под капотом
Python
Middle
Без компании
Как устроена Athena под капотом
Ответы
Athena — это сервис от AWS для выполнения SQL-запросов к данным в S3. Под капотом он использует Presto (позже Trino) как движок запросов и Apache Hive для метаданных.
**Ключевые компоненты:**
- **Presto/Trino** — распределённый движок SQL, обрабатывающий запросы параллельно.
- **Hive Metastore** — хранит метаданные (схемы, таблицы, партиции).
- **S3** — данные лежат здесь, Athena не хранит их локально.
**Как работает:**
- Пользователь отправляет SQL-запрос.
- Athena парсит запрос, оптимизирует план выполнения.
- Читает данные из S3, обрабатывает их в кластере Presto.
- Возвращает результат в консоль или через API.
**Пример запроса:**
```
SELECT * FROM my_database.my_table WHERE date = '2023-01-01'
```
**Особенности:**
- Pay-per-query (плата за просканированные данные).
- Нет серверов — управляемый сервис.
- Поддерживает форматы: Parquet, ORC, JSON, CSV (лучшая производительность у колоночных форматов).