Минас Саркисянwebkoth.com

Внутренняя система · В проде

Платформа данных

Платформа данных торговой компании. Она забирает данные из кабинетов площадки по расписанию, складывает каждый ответ в архив, в несколько шагов чистит сырьё и собирает витрины. Из одних и тех же витрин берут цифры дашборды, приложения и ИИ-агенты.

Болело

Каждый отдел выгружал данные площадки сам и считал по-своему. Совещания открывались спором, чья таблица правильная. История за прошлый год не сохранялась вовсе.

Стало

Платформа сама забирает данные по расписанию, чистит их и собирает витрины, готовые таблицы для отчётов. Люди, приложения и ИИ-агенты берут цифры из одних и тех же витрин.

Эффект по шагам

01 · Из хаоса в систему
Все отделы считают по одним и тем же данным площадки
02 · Финансы прозрачнее
Выплаты, комиссии и удержания сверяются с итогами площадки понедельно
03 · Решения точнее
Цифра в витрине сверена с первоисточником до единицы товара

Что это даёт бизнесу

  • История сохраняется навсегда, хотя площадка хранит её 90 дней.
  • Отчёты у всех сходятся, потому что берутся из одних витрин.
  • Расхождение с выплатами площадки всплывает на той же неделе.
  • Если строки затрат не хватает, срез по кабинету так и пишет и маржу не дорисовывает.
  • Новое приложение или ИИ-агент подключается к готовым витринам, свой сбор данных писать не нужно.

От источника к результату

  1. API площадок
  2. Архив сырья
  3. Очистка в три слоя
  4. Витрины
  5. BI · REST API · Claude · MCP-агенты

Каждый ответ площадки сначала ложится в архив и только потом разбирается. Ошиблись в разборе поля - перечитываем из архива: площадка хранит историю 90 дней, архив хранит её навсегда.

Как устроено

Сырьё хранится как пришло, следующий слой убирает дубли, дальше из данных собираются заказы, продажи и остатки, и только потом витрины. Считать по сырью нельзя, и это запрещено правами доступа в базе.

Формат ответа проверяется на входе. Новое поле площадки сбор не ломает. Если поле исчезло, приходит сообщение в Telegram, и загрузка продолжается.

Сверку я добавил, когда нашёл промах: одно поле логистики читалось из ключа, которого в текущем API уже нет, и молча было нулём, поэтому маржа завышалась на всю доставку. Ошибка прожила незамеченной ровно потому, что систему проверяли ей же самой.

Наружу ведут четыре двери, и все четыре открыты только на чтение: запись запрещена и правами, и режимом базы. ИИ-агент получает набор инструментов с лимитом строк и времени ответа, прямого доступа к базе у него нет.

Кто ведёт систему сейчас

Я. Аналитики и приложения компании подключены только на чтение, у каждого своя учётная запись.

Другие кейсы этого шага

Внутренняя система · В проде

Управленческий финансовый контур

Все цифры компании в одной системе

Болело
Цифры были разбросаны по десяти таблицам, личным перепискам и головам трёх человек. Уходил кто-то из них, и вместе с ним пропадали доступы и понимание, откуда какая цифра.
Стало
Движение средств, бюджет, заявки, сверка и справочники собраны в одном приложении, где у каждого сотрудника своя роль и права.
Срок
месяц
Заменило
десять таблиц и переписку
Охват
движение денег, бюджет, заявки, сверка

Та же система даёт эффект ещё по 3 шагам

Смотреть кейс

Внутренняя система · В проде

Учёт ИТ-инфраструктуры

Панель, где видно все сервисы, доступы и ответственных

Болело
Кто к чему подключён, что на каком сервере работает и кто за это отвечает, знали старая панель и разрозненные заметки. Увольнялся человек, и часть этих знаний уходила с ним.
Стало
В панели дерево сервисов, таблица доступов «кто куда», ключи и порталы, задания, проблемы, изменения и журнал действий. Каждый входит под своим логином и видит разделы по своей роли.
Разделы
Срок
Заменило
унаследованную панель на 35 вкладок
Смотреть кейс

Внутренняя система · В проде

Карта унаследованного хранилища

Что лежит в унаследованной базе, теперь известно

Болело
Старое хранилище данных досталось чёрным ящиком: несколько баз, сотни таблиц, аналитический куб и ни одного описания. Любой вопрос к данным означал раскопки в базе.
Стало
Теперь есть карта данных: какие базы, таблицы и колонки где лежат, и отдельно карта куба. Она пересобирается одной командой, а отдельная проверка показывает, можно ли данным верить.
Охват карты
Обновление
карта пересобирается одной командой
Проверка данных
свежесть куба и сверка куба с SQL
Смотреть кейс
Тип
Внутренняя система
Статус
В проде
Сбор
33 домена по расписанию
Двери наружу
BI и SQL, REST API, Claude Code, MCP
Сверка
до единицы товара и до копейки
Архив
сырьё сохраняется до разбора
PythondltdbtPostgreSQLDagsterMinIOFastAPIMCPDocker