Зачем: - Показать слой DDS как договор данных, которому не нужна физическая копия. - Сохранить простой учебный стенд без отдельного маршрута ради узких прав. Что: - Добавлено кластерное представление dds.event_v с явными 44 колонками. - Роли bi_reader разрешено чтение ODS, DDS и DM при договоре чтения через _v. - Согласованы мастер-спека, ADR, справочники архитектуры и живые тикеты этапа. - Зафиксировано исследование поведения DEFINER поверх Distributed. Проверка: - make config-test - make smoke - make check-clickhouse - Приёмочные запросы: равенство ODS/DDS, состав колонок, коды устройств и права bi.
24 lines
1.6 KiB
SQL
24 lines
1.6 KiB
SQL
-- Базы хранилища: слои цепочки и зона справочников.
|
|
--
|
|
-- Файлы этой папки применяются по порядку имён с ноды 1 и всегда ON CLUSTER:
|
|
-- объекты обязаны появиться на обеих нодах, иначе распределённая таблица
|
|
-- окажется лицом половины кластера. Имя кластера — clickstream_cluster,
|
|
-- задано в infra/clickhouse/config.d/cluster.xml.
|
|
--
|
|
-- Идемпотентность везде через IF NOT EXISTS: world_initialize может повторить
|
|
-- применение после оборванного первого запуска.
|
|
|
|
CREATE DATABASE IF NOT EXISTS stg ON CLUSTER clickstream_cluster;
|
|
|
|
-- База ODS заводится здесь же, хотя её объекты приносит #43: базы дёшевы, а
|
|
-- порядок файлов от этого не зависит.
|
|
CREATE DATABASE IF NOT EXISTS ods ON CLUSTER clickstream_cluster;
|
|
|
|
-- База DDS заводится здесь же по той же причине, что и ODS.
|
|
CREATE DATABASE IF NOT EXISTS dds ON CLUSTER clickstream_cluster;
|
|
|
|
-- Справочники стоят вне цепочки STG → ODS → DDS → DM: в хранилище их никто не
|
|
-- производит, а читают их несколько слоёв — ADR 0012. Порядок слоёв к зоне не
|
|
-- применяется, её файл идёт сразу за этим.
|
|
CREATE DATABASE IF NOT EXISTS dic ON CLUSTER clickstream_cluster;
|