добавить третий шард тоже с двумя репликами
1)
Обновил remote_servers на всех 6 серверах
2)
Выполнил SQL чтобы создать локальную таблицу на новых серверах
CREATE TABLE IF NOT EXISTS test_local ON CLUSTER `{cluster}`
(
`A` Int64,
`S` String,
`D` Date
)
ENGINE = ReplicatedMergeTree('/clickhouse/{cluster}/tables/{shard}/{database}/test_local', '{replica}')
PARTITION BY D ORDER BY A;
3)
Выполнил SQL чтобы создать распределенную таблицу на новых серверах
CREATE TABLE IF NOT EXISTS test ON CLUSTER `{cluster}`
AS test_local
ENGINE = Distributed('{cluster}', currentDatabase(), test_local, rand());
4)
что-то еще надо сделать?
Проверить?
Забыта гранулярность еще для rmt -таблиц или там объем мелкий?
Да, проверил 🙂 1) INSERT INTO test SELECT number, number, '2023-01-01' FROM numbers(1e8); 2) esh-clickhouse-1 🙂 SELECT count(), hostname() FROM clusterAllReplicas('{cluster}', default.test_local) group by 2 order by 2; SELECT count(), hostname() FROM clusterAllReplicas('{cluster}', default.test_local) GROUP BY 2 ORDER BY 2 ASC Query id: 7bf4dd6c-5e58-466c-8788-895130db4575 ┌──count()─┬─hostname()───────┐ │ 83332783 │ esh-clickhouse-1 │ │ 83332783 │ esh-clickhouse-2 │ │ 83331132 │ esh-clickhouse-3 │ │ 83331132 │ esh-clickhouse-4 │ │ 33336085 │ esh-clickhouse-5 │ │ 33336085 │ esh-clickhouse-6 │ └──────────┴──────────────────┘ 6 rows in set. Elapsed: 0.070 sec.
Это *index_granularity* настройки?
Потыкать в SELECT-запросы и побенчмаркать их, потому что при отстутствии гранулярности можно столкнуться с даунгрейдом перфоманса
при создании RMT таблицы SETTINGS index_granularity=8192
ага понял я пока не погружался в эту тематику
Обсуждают сегодня