DDL создаёт на узлах кластера локальную MergeTree-таблицу с месячными партициями и сортировкой по дате. ON CLUSTER не включает репликацию или распределённое чтение.
CREATE TABLE datamarts.daily_revenue_per_country ON CLUSTER cluster_4x2 (
DDL создаёт на узлах кластера локальную MergeTree-таблицу с месячными партициями и сортировкой по дате. ON CLUSTER не включает репликацию или распределённое чтение.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
CREATE TABLE datamarts.daily_revenue_per_country ON CLUSTER cluster_4x2 ( event_date Date, country String, total_revenue Float64 ) ENGINE = MergeTree() PARTITION BY toYYYYMM(event_date) ORDER BY (event_date);
Ответ
DDL создаёт на узлах кластера локальную MergeTree-таблицу с месячными партициями и сортировкой по дате. ON CLUSTER не включает репликацию или распределённое чтение.
MergeTree сам не суммирует total_revenue и не обеспечивает уникальность пары дата–страна. Если нужна отказоустойчивость, выбирают реплицируемый движок и корректную конфигурацию; для чтения по шардам может понадобиться Distributed-таблица. Для денежных сумм рассмотрите Decimal вместо Float64. Ключ ORDER BY подбирают по запросам: при фильтрах по стране одного event_date может быть недостаточно.
Источник: clickhouse.com.