Сервер с Doker Сlickhouse по сбору статистики через API
Пример запроса клиента на настройку SQL-сервера для выгрузки данных из API маркетплейсов
Общее описание проекта
Существует система для сбора и анализа данных из личных кабинетов продавцов Ozon Seller. Данные (продажи, остатки, цены) в большом объеме поступают на сторонний сервер (SQL базу данных), Текущий процесс включает ручную выгрузку данных из этой базы в промежуточные ("стоковые") листы Google Таблиц, откуда они впоследствии используются в основных листах с дашбордами и аналитикой.
Cистема нестабильна, требует постоянного ручного контроля и не справляется с ростом объема данных. Цель проекта — создание отказоустойчивой, автоматизированной и высокопроизводительной системы загрузки и обработки данных.
Хотим оптимизировать систему аналитики данных API Ozon Seller и Performance Ozon API
Цель: Автоматизировать и сделать надежной систему выгрузки данных из Ozon Seller в дашборды Google Таблиц.
Проблемы: Рандомные сбои выгрузки продаж и цен. Нет уведомлений об ошибках. Таблицы с большим объемом данных (3-5 тыс. товаров) работают медленно.
Задачи: Архитектура: Убрать выгрузку сырых данных в стоковые листы. Дашборды должны получать с сервера готовые данные.
Надежность: Внедрить обработку ошибок и повторные попытки выгрузки. Создать систему оповещений о проблемах (в таблице/Telegram).
Производительность: Максимально разгрузить таблицы, оптимизировав формулы и перенести вычисления на сервер.
Документация: Предоставить доступ к коду и написать подробную инструкцию для будущих исполнителей.
Результат: Стабильная система без ручного вмешательства с дашбордами и прозрачным мониторингом ошибок.
Технический стек
ClickHouse (хранилище данных) Python для ETL-процессов Airflow для оркестрации FastAPI для REST API
SSH доступ Развернутые ClickHouse и Airflow Коннекторы к внешнему XML API
База данных - создание 30+ таблиц с оптимизацией под сбор ежедневной аналитики ETL-процессы - загрузка данных из внешнего XML API (15+ endpoints) Backend API - 15+ REST endpoints для мобильного приложения
Ключевые требования:
Время ответа API < 100мс для простых запросов
Live-обновления с задержкой < 30 секунд Обработка до 30 запросов/сек к внешнему API Retry-логика и fallback при недоступности источника Мониторинг и алерты Покрытие тестами > 80%