feat(clickhouse): справочники вынесены в зону dic, словарь читает подложку
Зачем: место словаря в dds было унаследовано от первого объекта, а не решено. Справочник читают несколько слоёв, а производит его в хранилище ни один — прописка внутри одного из потребителей приписывала DDS владение, которого у него нет. Что: заведена база dic вне цепочки STG → ODS → DDS → DM, dds.products переехал в dic.products. Под словарём появилась подложка dic.products_file на движке File — намеренное усложнение ради урока: в бою источник словаря приезжает процессом, а не лежит файлом у сервера. Источник объявлен формой query и приводит цену из целых копеек каталога в Decimal(18, 2), как у денег бэкенда. Обновление — окном LIFETIME(MIN 60 MAX 90) вместо ручной перезагрузки, ценой заявленной неатомарности между нодами. У словаря свой беспарольный пользователь dict с единственным правом на чтение dic. Суффикс _file добавлен в конвенцию имён ADR 0006. Решение, отвергнутые варианты и условия пересмотра — ADR 0012. Проверка: make clean && make up на собранном заново стенде — зелено, make smoke 20 проверок и 0 ошибок, make lint чисто. Словарь LOADED со 180 строками, цена Decimal(18, 2) и точна на копейках: 188990 → 1889.90. Пользователь bi читает словарь dictGet-ом со второй ноды, analyst — подложку соединением, база dds пуста. Минимальное право на движок замерено тремя пользователями: достаточно GRANT FILE ON *.*, хотя отказ называет TABLE ENGINE ON File. Closes #105 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -94,6 +94,14 @@ _Избегать_: «покупатель» про того, кто купил
|
||||
страницы. Садится на ту страницу, где случилось: корзина — на карточку
|
||||
товара, покупка — на страницу подтверждения заказа.
|
||||
|
||||
**Справочник**:
|
||||
Данные, входящие в хранилище сбоку, а не по цепочке слоёв: в хранилище их
|
||||
никто не производит, а читают их несколько слоёв. Дом — база `dic`, общая для
|
||||
всех справочников. Первый и пока единственный — каталог товаров.
|
||||
_Не путать_: слово «словарь» в проекте значит ещё две вещи — этот глоссарий
|
||||
понятий и объект `DICTIONARY` ClickHouse, одну из форм, в которой справочник
|
||||
доступен.
|
||||
|
||||
**Каталог товаров**:
|
||||
`data/catalog/products.csv` — общий справочник генератора и словаря
|
||||
ClickHouse. Форма файла решена, длина — нет: строки дописываются.
|
||||
|
||||
Reference in New Issue
Block a user