Найти в Дзене

Как Wildberries обрабатывает 15 миллионов заказов в день и не сходит с ума

Wildberries — крупнейший онлайн-ритейлер России с 50 000 сотрудников. Каждый день через платформу проходит 15 миллионов заказов. Чтобы понять, какой товар завезти на склад в Краснодаре и почему курьеры в Москве не успевают — компания построила собственную систему работы с данными практически с нуля. Каждое действие на сайте и в приложении оставляет след. Посмотрел карточку товара — записано. Добавил в корзину — записано. Передумал и удалил — тоже записано. За день накапливаются петабайты таких событий (это миллионы гигабайт). Но клики — только начало. Данные идут отовсюду: со складов (сколько товара осталось), от курьеров (где едет посылка), из пунктов выдачи (сколько людей в очереди). Плюс информация о продавцах, отзывы, возвраты, платежи. Для разных типов данных — разные источники. PostgreSQL хранит информацию о пользователях и заказах. Tarantool (это российская разработка, кстати) держит данные, к которым нужен мгновенный доступ — например, остатки товаров. Redis работает как блокно
Оглавление

Wildberries — крупнейший онлайн-ритейлер России с 50 000 сотрудников. Каждый день через платформу проходит 15 миллионов заказов. Чтобы понять, какой товар завезти на склад в Краснодаре и почему курьеры в Москве не успевают — компания построила собственную систему работы с данными практически с нуля.

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

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

Но клики — только начало. Данные идут отовсюду: со складов (сколько товара осталось), от курьеров (где едет посылка), из пунктов выдачи (сколько людей в очереди). Плюс информация о продавцах, отзывы, возвраты, платежи.

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

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

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

Роль такого конвейера играет Apache Kafka — система, которая собирает события из всех источников в реальном времени. Это как труба, через которую течёт непрерывный поток данных.

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

Интересно, что Wildberries активно пишет собственные сервисы на языке Go. Не всё можно купить готовое, когда у тебя такие объёмы и специфические задачи.

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

Обычная база данных отлично работает, когда нужно найти конкретный заказ по номеру. Но когда нужно посчитать средний чек по всем заказам за квартал в разрезе регионов — это уже другая история. Такой запрос может выполняться часами.

Поэтому данные копируют в специальные хранилища. Wildberries использует три:

ClickHouse — российская разработка, заточенная под быструю аналитику. Запрос, который в обычной базе считался бы минуту, здесь выполняется за секунды.

Greenplum — для сложных расчётов, где нужно соединять много таблиц.

Hadoop — для архива. Туда складывают всё, что может понадобиться когда-нибудь потом.

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

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

Для визуализации используют Grafana и Apache Superset — это инструменты, которые превращают таблицы в понятные графики. Плюс много самописных решений под специфические задачи компании.

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

Wildberries — редкий случай, когда компания построила почти всю data-платформу сами, а не купила готовое решение. При их масштабах это логично: стандартные инструменты просто не справляются с 15 миллионами заказов в день.

Ещё один важный момент — ставка на российские технологии. ClickHouse и Tarantool в основе системы. Это и вопрос независимости, и реально хорошие продукты для таких задач.

---

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