S3 и object storage на собеседовании Data Engineer

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.

Зачем спрашивают на собесе DE

Object storage — фундамент data lake. На собесе DE: «зачем S3», «storage classes», «лучшие practices».

Что такое object storage

В отличие от file system (POSIX) — flat namespace.

  • Object = key + data + metadata.
  • Нет directories, только prefixes.
  • Eventually consistent (S3 strong consistency с 2020).
  • Effectively unlimited capacity.
  • Cheap (cents per GB).
s3://my-bucket/data/year=2026/month=05/day=07/file.parquet

/ — convention для logical hierarchy, физически — flat.

S3 storage classes

Standard. Default. High-availability, frequent access.

Standard-IA (Infrequent Access). Cheaper storage, more expensive retrieval. Для cold data.

One Zone-IA. Дешевле IA — single AZ только.

Glacier Instant. Cold, but instant retrieval.

Glacier Flexible Retrieval. Cheap, retrieve через минуты-часы.

Glacier Deep Archive. Самый дешёвый, retrieve 12 часов.

Intelligent-Tiering. Auto move data между classes на access pattern.

В data lake — Standard для bronze / silver, IA / Glacier для archive.

Partitioning

Folder structure влияет на performance.

Hive-style partitioning.

s3://bucket/events/year=2026/month=05/day=07/file.parquet

Spark / Trino / Athena понимает — фильтр WHERE year=2026 skips other prefixes.

Слишком гранулярно. Hourly partitioning на 5 лет = десятки тысяч prefixes. Listing performance падает.

Слишком грубо. All в одной prefix → нельзя efficiently query.

Эмпирика. Daily для транзакционных, monthly для редких.

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Lifecycle policies

Auto-управление с retention.

{
  "Rules": [{
    "Status": "Enabled",
    "Filter": {"Prefix": "logs/"},
    "Transitions": [
      {"Days": 30, "StorageClass": "STANDARD_IA"},
      {"Days": 90, "StorageClass": "GLACIER"}
    ],
    "Expiration": {"Days": 365}
  }]
}

После 30 дней → IA, после 90 → Glacier, после года → удалить.

Экономит десятки тысяч $ на больших lake.

Альтернативы и в РФ

GCS (Google Cloud Storage). Аналог S3, на GCP.

Azure Blob Storage. Аналог на Azure.

MinIO. Open source S3-compatible. Self-host.

В РФ:

  • Yandex Object Storage. S3-compatible.
  • VK Cloud Storage.
  • Selectel S3.
  • MinIO self-host.

Все поддерживают S3 API → tools (Spark, dbt, dlt) работают одинаково.

Связанные темы

FAQ

S3 ACID?

Сам по себе — нет (eventual consistency для metadata в новых регионах). Iceberg / Delta предоставляют ACID поверх.

Это официальная информация?

Нет. Статья основана на документации AWS S3 / Yandex Cloud Object Storage.


Тренируйте Data Engineering — откройте тренажёр с 1500+ вопросами для собесов.