Методология
Инструмент без метода — это шум.
Прежде чем выбирать базу данных или фреймворк — нужно ответить на вопрос, который большинство пропускает: что мы вообще имеем в виду под этими данными?
Seiðr строится на нескольких концептах, которые отвечают именно на этот вопрос. Не «как хранить» — а «что мы храним и почему это именно так». Здесь — эти концепты: зачем нужны, как связаны, как воплощены в инструментах.
FCO-IM (Fully Communication-Oriented Information Modelling) начинается с вопроса «что бизнес реально имеет в виду», а не «в каких таблицах это лежит». Обычный путь: ER-диаграмма под СУБД → бизнес-смысл зарыт в физической структуре → переписывать при каждой миграции. FCO-IM переворачивает порядок: сначала логическая модель фактов, инвариантная к любой СУБД. Потом — материализация под конкретный слой. ELM (Essential Logical Model) — упрощённая эволюция: та же идея «смысл первее хранения», с меньшим церемониалом нотации. В Seiðr: Core Business Concepts (CBC) — нейтральный хребет определений, которые бизнес подтверждает дословно, до любой реализации.
Data Vault отвечает на вопрос, который рано или поздно задаёт каждый КХД: «Почему в прошлом месяце цифра была другой?» Традиционный DWH перезаписывает факты — история теряется. Data Vault не перезаписывает никогда. Три сущности: · Hub — «что существует» (Клиент, Счёт): только бизнес-ключ · Link — «как связано»: только ключи, никакой логики · Satellite — «что изменилось и когда»: атрибуты с датой и источником Результат: полный аудит-трейл, ретро-уточнение без переписывания, параллельная загрузка. В Seiðr: Ygg хранит граф происхождения по тем же принципам — append-only. Новый парсинг не заменяет старый граф — добавляет слой поверх.
Структурный разрыв между тем, что организация имеет в виду под словом, и тем, что реально лежит в системах. «Клиент» в CRM, ERP и биллинге — три несовместимые таблицы, каждая «единый Клиент». «Просрочка» регулятора ≠ «просрочка» операционной системы: разные правила расчёта. CPG не устраним. Это свойство любой организации, работающей с данными в нескольких системах. Seiðr не скрывает разрыв — называет его честно и превращает в рабочую точку: куски не сходятся → идём к бизнесу → уточняем определение или принимаем ограничение вслух → граф обновляется. Момент-в-котором-тонут становится моментом-в-котором-работают.
Концепты, которые повторяются во всех бизнесах: Роль (кто участвует), Иерархия (как подчинено), Тип/Категория (чем является), Статус (в каком состоянии), Связь (как соотносится). Один раз описанный паттерн служит любому домену. Это «плечи Сильверстона»: «Data Model Resource Book» содержит 230+ переиспользуемых моделей именно потому, что под «Заказом», «Счётом» и «Договором» — одни и те же универсальные структуры. В Seiðr: CBC-реестр строится из Universal Concepts. Второй домен не начинается с чистого листа — наследует паттерны первого.
Происхождение данных — это не витрина для демонстрации. Это точный ответ на вопрос «откуда эта цифра»: по колонкам, по процедурам, по временно́й метке. Когда инструмент начинает украшать этот ответ — он врёт. Критерий «скальпель»: · Показывает то, что есть — не то, что хотелось бы увидеть · Работает там, где нужно — в air-gap, без интернета, без облачного колл-хоума · Доказывает парсингом — ANTLR4 на синтезированных Oracle PL/SQL, 99.93% на 78 файлах (255 580 строк) · Называет ограничения — не скрывает, что Data Vault не для всех задач, что CPG не устраним, что не все диалекты покрыты одинаково
Надёжность, гибкость и скорость — взаимоисключающие цели. Нельзя получить все три одновременно. Data Quadrant Рональда Дамхофа раскладывает это на карту: · Систематизированный источник → надёжность, аудит (DWH / Data Vault) · Систематизированный продукт → скорость, аналитика (dbt / Mart) · Неуправляемый источник → гибкость, эксперимент (Data Lake) · Экспериментальный продукт → скорость, исследование (Ad-hoc) Догма «один размер на всё» — источник большинства провальных КХД-проектов. В Seiðr: парсер разбирает любой квадрант (PL/SQL, PG, CH). Методология помогает понять, в каком квадранте данные — и выбрать путь осознанно, а не по умолчанию.
Методология воплощена в именах — HOUND читает код так, как читал бы Марков: снимая иллюзию поверхности, чтобы добраться до структуры. YGG хранит историю так, как Грей завещал: append-only, ничто не стёрто.