Источник истины по-взрослому

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

Канон

Возьмём знакомый пример: склад, где по документам числится сто единиц товара, десять уже проданы, но выгрузка из магазина ещё не долетела до базы, — и посмотрим на него не как на разовое наблюдение, а как на принцип работы всей системы (подробнее — статья справочника «Своя база: Postgres», В4).

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

Практическое следствие: канон живёт по принципу «только сюда» — данные в него можно только добавлять или обновлять по установленным правилам, а не проверять параллельно у первоисточника каждый раз, когда кому-то захотелось убедиться. Задача не в том, чтобы канон был мгновенно синхронизирован с реальностью, — задача в том, чтобы вся система в любой момент времени опиралась на одну и ту же версию правды, а не на россыпь разных версий, каждая из которых немного своя.

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

Проекции

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

Вектор — представление для поиска по смыслу, а не по точным словам: pgvector превращает…

🔒

Этот материал доступен участникам Клуба. Войдите или оформите доступ, чтобы читать целиком, открывать видео и комментировать.

Войти Вступить / купить доступ