Найти в Дзене

Как Ozon обрабатывает петабайты данных, чтобы показать тебе нужный товар за 0.1 секунды

Ozon — это 45 000 сотрудников и миллионы заказов ежедневно. Чтобы сайт не тормозил, рекомендации попадали в точку, а цены менялись в реальном времени, компания построила собственную платформу данных. Она обрабатывает петабайты информации — это примерно как хранить по HD-фильму на каждого жителя России. Каждое твоё действие на Ozon оставляет след. Открыл карточку товара — записано. Добавил в корзину и передумал — записано. Ввёл промокод, выбрал пункт выдачи, оценил доставку — всё это события, которые летят в систему. Но покупатели — только часть картины. Продавцы загружают товары, меняют цены, отвечают на вопросы. Склады фиксируют приёмку и отгрузку. Курьеры отмечают статусы доставки. Каждый пиксель этой махины генерирует данные — миллиарды событий в день. Источников несколько: классические базы данных PostgreSQL хранят информацию о заказах и пользователях, MongoDB — каталог товаров, Redis — то, что нужно молниеносно (корзины, сессии), Elasticsearch — поиск по миллионам товаров. Предста
Оглавление

Ozon — это 45 000 сотрудников и миллионы заказов ежедневно. Чтобы сайт не тормозил, рекомендации попадали в точку, а цены менялись в реальном времени, компания построила собственную платформу данных. Она обрабатывает петабайты информации — это примерно как хранить по HD-фильму на каждого жителя России.

🗄 Откуда берутся данные

Каждое твоё действие на Ozon оставляет след. Открыл карточку товара — записано. Добавил в корзину и передумал — записано. Ввёл промокод, выбрал пункт выдачи, оценил доставку — всё это события, которые летят в систему.

Но покупатели — только часть картины. Продавцы загружают товары, меняют цены, отвечают на вопросы. Склады фиксируют приёмку и отгрузку. Курьеры отмечают статусы доставки. Каждый пиксель этой махины генерирует данные — миллиарды событий в день.

Источников несколько: классические базы данных PostgreSQL хранят информацию о заказах и пользователях, MongoDB — каталог товаров, Redis — то, что нужно молниеносно (корзины, сессии), Elasticsearch — поиск по миллионам товаров.

⚙️ Как данные попадают в систему

Представь гигантский аэропорт. Самолёты (данные) приземляются каждую секунду. Кто-то должен их направлять, чтобы не было столкновений, задержек и потерь багажа.

У Ozon роль диспетчера выполняет Apache Kafka — система, которая принимает поток событий и гарантирует, что ничего не потеряется. Даже если какой-то сервис упал, данные подождут в очереди.

Дальше начинается конвейер. Apache Airflow — это расписание: «каждый час собери данные о заказах, каждую ночь — пересчитай статистику продавцов». Spark и Flink обрабатывают тяжёлое: первый хорош для больших расчётов, второй — когда результат нужен мгновенно. А dbt наводит порядок: превращает сырые данные в понятные таблицы, с которыми могут работать аналитики.

🏗 Где всё это хранится

Почему нельзя держать всё в обычной базе данных? Потому что она заточена под другое. Найти один заказ по номеру — легко. Но посчитать среднюю конверсию по категориям за квартал среди 100 миллионов заказов? Обычная база будет думать часами.

Ozon использует связку хранилищ. ClickHouse — их главная гордость — отвечает за скорость. Это как спортивный автомобиль: запросы, которые в других системах занимают минуты, тут выполняются за секунды. Именно ClickHouse считает аналитику в реальном времени.

Greenplum и Hadoop берут на себя тяжёлую историю: все заказы за годы, логи поведения, данные для машинного обучения. Это уже не спорткар, а грузовик — медленнее, зато увезёт что угодно.

📊 Как команды видят данные

Данные бесполезны, пока их не увидят нужные люди. У Ozon три основных инструмента визуализации: Superset, Grafana и Redash.

Продакт-менеджер заходит утром в дашборд и видит: вчера конверсия в категории «электроника» упала на 2%. Это сигнал — что-то пошло не так. Может, сломалась фильтрация? Или конкурент запустил акцию?

Команда маркетинга следит за своим: какие рекламные каналы приводят покупателей, а не просто зевак. Логисты мониторят загрузку складов. Финансы — маржинальность по категориям. Каждый смотрит на бизнес через свою линзу, но данные под капотом одни и те же.

💡 Что интересного

Ozon построил собственную ML-платформу для рекомендаций и динамического ценообразования. Это значит, что цена товара может меняться несколько раз в день — в зависимости от спроса, остатков на складе и действий конкурентов.

Выбор ClickHouse как основы для аналитики — осознанный. Эта база данных разработана в Яндексе и идеально подходит для e-commerce: быстро считает по колонкам (сумма продаж, количество заказов) даже на терабайтах данных.

При 45 000 сотрудников данные должны быть доступны без очереди к аналитикам. Поэтому ставка на self-service: менеджеры сами строят отчёты, а не ждут неделю.

---

Хотите построить похожую систему для своего бизнеса — напишите, разберём вашу ситуацию!