diff --git a/docs/integration/dictionary-criteria.html b/docs/integration/dictionary-criteria.html new file mode 100644 index 0000000..e9b14ef --- /dev/null +++ b/docs/integration/dictionary-criteria.html @@ -0,0 +1,588 @@ + + +
+ + +Регламент · Ordinis MDM · v1.0
++ Decision framework для владельцев данных: какие справочники стоит выносить в централизованную НСИ Ordinis MDM, а какие держать локально в своём сервисе. +
+Справочник — кандидат, если он удовлетворяет минимум 3 из 5 критериев ниже.
+ +Данные читают/используют как минимум два разных сервиса (или будут в обозримом roadmap).
+Примеры: Космические аппараты (планировщик миссий + геопортал + биллинг), наземные станции (планировщик + телеметрия + Альтум), классы разрешения (геопортал + ML pipeline).
+Изменяется редко — раз в неделю / месяц / квартал. Не транзакционные данные.
+| Частота изменений | Это НСИ? |
|---|---|
| Раз в год — справочник стран | ✓ да |
| Раз в квартал — справочник миссий ДЗЗ | ✓ да |
| Раз в неделю — справочник антенн (новые станции) | ✓ да |
| Раз в час — текущая температура спутника | ✗ нет (телеметрия) |
| 100×/сек — статус заявки на съёмку | ✗ нет (state machine) |
Данные актуальны на определённый период. Закрытие/замена записи через bitemporal versioning, не через DELETE.
Примеры: Тарифы (действуют с 01.01.2026), орбитальные параметры (TLE на конкретную epoch), составы flight crew (период).
+Нужно знать кто, когда, почему изменил запись — для compliance, forensics, отката.
+Все справочники в Ordinis по умолчанию имеют Hibernate Envers audit log с full history.
+Примеры: Регуляторные классификации, security clearances, тарифные планы (для финансового audit'а).
+Данные имеют стабильную JSON-Schema с required-полями и валидацией. Не «свободный мешок ключей».
+Заявки, заказы, события, измерения, журналы. Это transactional store (PostgreSQL/Kafka topic application'а), не НСИ.
+растёт линейно со временем работы системы
+> 100 updates/sec — не лезет в audit, забивает Kafka outbox. Для счётчиков и telemetry — Redis / time-series DB / Prometheus.
+Если значение вычисляется из других данных — храни источник, не результат. Кэш производных — в Redis с invalidation.
+«активные миссии за месяц» — это query, не справочник
+Персональные данные физлиц, payment data, security secrets. Ordinis сейчас поддерживает scope (PUBLIC / INTERNAL / RESTRICTED), но per-record ACL пока в roadmap (Q4 2026).
Для PII — выделенный сервис с шифрованием и compliance audit, не общий НСИ.
+Изображения, PDF, сырые телеметрические дампы. → MinIO/S3 + ссылка в справочнике, но не контент в data.
Если справочник никогда не покинет границу сервиса X — это его внутренний config. Не выноси наружу.
+boundary test — «может ли потребитель Y разумно захотеть читать это?». Нет → не НСИ
+/dictionaries admin UI → Создатьordinis.k8s.265.nstart.cloud)#ordinis Slack — потребители подхватывают через /dictionaries listing/reviews → diff → approve/rejectЧтобы интеграторам было проще читать твой справочник:
+businessKey должен быть human-readable стабильный идентификатор. Не UUID — GS_MOSCOW_A1 лучше чем b284f74e-60c8-….x-localized: true на текстовых полях, которые должны переводиться (name, displayName, description).x-references: target_dict.field для FK — Ordinis валидирует и строит граф.x-section — группировка полей в UI editor'е (Основное, Геометрия, Метаданные).enum для closed lists вместо свободной строки (тип КА, статус миссии).format: date-time для timestamps (Ordinis парсит как ISO-8601).Справочник = state machine состояний заявки. application_status: NEW/APPROVED/REJECTED — это enum в схеме заявки, а не отдельный справочник.
Справочник под per-user preferences. Предпочтения юзера X — это его profile в auth-сервисе.
Справочник вместо feature flag. Если читается на каждом запросе для decisions — config service (Spring Cloud Config + LaunchDarkly-like).
«Логирование» через справочник. Лог событий — Kafka topic + Loki, не НСИ.
Справочник, чтобы передать данные между двумя своими микросервисами. Используй внутреннюю DB / message broker, не НСИ.
#ordinisЛучше 30 минут на консультацию, чем месяц на отрыв справочника обратно в local store.
+