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

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

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

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

Болело

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

Стало

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

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

  • Ответ на вопрос к данным ищут по карте, копаться в базе не нужно.
  • Ловушки записаны рядом с данными: где себестоимость проставлена и на логистических строках, где цена стоит в валюте документа, а битый курс завышает её в сто раз.
  • Проверка достоверности возвращает код ошибки, поэтому «данным можно верить» подтверждается прогоном, а не мнением.
  • Карты пересобираются командой и не устаревают вслед за схемой.

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

  1. Унаследованные базы и куб
  2. Модуль подключения и консоль
  3. Автогенерируемые карты
  4. Проверка достоверности
  5. Расчёты и отчёты

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

Как устроено

Модуль подключения один на всё: и консольные запросы, и расчётные скрипты ходят в базу через него, поэтому доступы и разбор ответов не расползаются по копиям.

Разбор находок записан отдельными документами: где в слое бизнес-логики нашлись ошибки, как устроено расписание загрузки и какие у него режимы отказа, откуда берётся себестоимость и в каких из восьми цепочек она занижена.

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

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

Я. Репозиторий лежит только у меня и в сеть не выложен: карта содержит внутренние адреса и полную схему.

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

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

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

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

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

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

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

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

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

Одни цифры для всех отделов вместо своего отчёта у каждого

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

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

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

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

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

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

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