теория

База, вывернутая наизнанку

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

— это ровно оно, только для системы. В центре — : упорядоченная лента фактов «что произошло» (заказ создан, оплачен, отменён). Он и есть источник истины. А всё остальное — база для оформления, индекс поиска, кэш, аналитическая витрина — это : каждое подписано на журнал и строит из него свою форму под свои запросы.

Что это даёт. Раньше, чтобы добавить новое представление (скажем, поиск по-новому), ты лез в код, который пишет заказы, и вкручивал туда ещё одну связь. Теперь — просто подписываешь нового потребителя на журнал, и код заказов об этом даже не знает. Представления развязаны: одно можно пересобрать, снести, поменять формат — остальных не заденет.

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

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

← назад