Size: a a a

ClickHouse не тормозит

2020 August 19

DC

Denny Crane (I don't... in ClickHouse не тормозит
Artem
Ну так а где я этому противоречу?
нигде, я просто объясняю как работает, что ZSTD жмет блок и его словарь строится для блока, нет смысла анализировать колонку, словарь нужен в каждом блоке. Более того codec можно менять, каждый парт будет пожат разным компрессором.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
для decimal возможно подойдет либо ZSTD(2) либо ( Delta, zstd(1) )
источник

ИИ

Илья Ионов in ClickHouse не тормозит
Друзья а что будет если из metadata дропнуть table.sql? На всех репликах она удалена, на одной дроп сфейлился и после ребута не поднимается ругаясь на эту таблицу
источник

ИИ

Илья Ионов in ClickHouse не тормозит
Cannot create table from metadata file /var/lib/clickhouse/metadata/db/table.sql
источник

K

Kos in ClickHouse не тормозит
возник вопрос по ReplacingMergeTree
CREATE TABLE TestRMT ( EventDate Date MATERIALIZED toDate(EventTime), EventTime DateTime, Price  Int64,  id UInt32 ,ver UInt32 )
ENGINE = ReplacingMergeTree(ver)
PARTITION BY toYYYYMM(EventDate) ORDER BY  id
insert into TestRMT values   ('2020-01-01 15:00:00',100, 1,1),('2020-01-01 15:00:00',100, 2,1) ,('2020-02-02 15:00:00',200, 1,2),('2020-02-02 15:00:00',200, 2,2)

у меня новые версии строк придут в другую партицию. старые получается никогда не пропадут?
и мне всегда придется делать запрос с модификатором FINAL ?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Илья Ионов
Cannot create table from metadata file /var/lib/clickhouse/metadata/db/table.sql
mv /var/lib/clickhouse/metadata/db/table.sql /tmp
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Kos
возник вопрос по ReplacingMergeTree
CREATE TABLE TestRMT ( EventDate Date MATERIALIZED toDate(EventTime), EventTime DateTime, Price  Int64,  id UInt32 ,ver UInt32 )
ENGINE = ReplacingMergeTree(ver)
PARTITION BY toYYYYMM(EventDate) ORDER BY  id
insert into TestRMT values   ('2020-01-01 15:00:00',100, 1,1),('2020-01-01 15:00:00',100, 2,1) ,('2020-02-02 15:00:00',200, 1,2),('2020-02-02 15:00:00',200, 2,2)

у меня новые версии строк придут в другую партицию. старые получается никогда не пропадут?
и мне всегда придется делать запрос с модификатором FINAL ?
да, да
источник

ИИ

Илья Ионов in ClickHouse не тормозит
спасибо!
источник

K

Kos in ClickHouse не тормозит
а на сколько это плохо? получается запросы всегда будут читать все парты? и лучше придумать другое архитектурное решение?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Kos
а на сколько это плохо? получается запросы всегда будут читать все парты? и лучше придумать другое архитектурное решение?
я не знаю насколько это плохо, может у вас в таблице 3 записи.

Вариантов масса, например партиционировать ReplacingMT по другому полю.  Или использовать CollapsingMT. Или использовать SummingMT (он удаляет строки с нулевыми суммами). И т.д.
источник

K

Kos in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
я не знаю насколько это плохо, может у вас в таблице 3 записи.

Вариантов масса, например партиционировать ReplacingMT по другому полю.  Или использовать CollapsingMT. Или использовать SummingMT (он удаляет строки с нулевыми суммами). И т.д.
рассматриваю гипотетический вариант, что данных будет рано или поздно много ) миллионы а то и миллиарды.
спасибо!
источник

АА

Алексей Артамонов... in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
у вас есть сервера CH1 и CH2

CH1 interserver_http_host = CH1
CH2 interserver_http_host = CH2

при старте CH1 записывает в ZK я реплика ch1 мой хостнейм CH1
затем записывает в очередь для второй реплики, забирай у меня парт 11110342
вторая реплика идет по хостнейму CH1 найденному в зукипере и скачивает с этого хостнейма CH1 по порту 9009
@den_crane подскажи плиз, а вторая реплика читает очередь и потом уже идет в ЗК?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Алексей Артамонов
@den_crane подскажи плиз, а вторая реплика читает очередь и потом уже идет в ЗК?
нету первых или вторых. Все реплики равны.
какую очередь? Все метаданные что откуда брать лежат в ZK. Реплика не ходит в другие реплики за метаднными.
источник

АА

Алексей Артамонов... in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
нету первых или вторых. Все реплики равны.
какую очередь? Все метаданные что откуда брать лежат в ZK. Реплика не ходит в другие реплики за метаднными.
имел ввиуд вот эту табличку replication_queue
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Алексей Артамонов
имел ввиуд вот эту табличку replication_queue
это не табличка, она не хранится на диске. Это отображение с++ структуры в памяти, которая строится по зукиперу
источник

АА

Алексей Артамонов... in ClickHouse не тормозит
@den_crane я хочу очень понять полный процесс работы репликаций. получается реплики ходят в ЗК. а структура метадаты ЗК отображется в replication_queue. Я так понимаю
источник

АА

Алексей Артамонов... in ClickHouse не тормозит
услновно я вставил данные в реплику1
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
реплика записывает в ZК информацию про новый парт , и записывает в очередь реплкикации всех реплик что им надо забрать парт
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
реплики  читают свои очереди и скачивают новые парты с др. реплик
источник

АА

Алексей Артамонов... in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
реплика записывает в ZК информацию про новый парт , и записывает в очередь реплкикации всех реплик что им надо забрать парт
@den_crane «очередь реплкикации всех реплик» - это и есть replication_queue?
источник