Size: a a a

ClickHouse не тормозит

2021 February 02

K

Kid in ClickHouse не тормозит
Dmitry Titov
По датам только, по часам нет? (тогда toStartOfHour вам вообще не нужен)
по часам тоже фильтруем, но думаю будет реже чем просто запрос за последний день/два дня.
источник

IR

Ivan Roslov in ClickHouse не тормозит
Колеги плиз хелп, есть ошибка DB::Exception: ALTER ADD INDEX is not supported for tables with the old syntax. Что за old syntax не могу найти информацию что бы почитать и сделать new syntax :) Спасибо.
источник

DT

Dmitry Titov in ClickHouse не тормозит
Ivan Roslov
Колеги плиз хелп, есть ошибка DB::Exception: ALTER ADD INDEX is not supported for tables with the old syntax. Что за old syntax не могу найти информацию что бы почитать и сделать new syntax :) Спасибо.
MergeTree(date-column [, sampling_expression], (primary, key), index_granularity)
Старый

https://clickhouse.tech/docs/en/engines/table-engines/mergetree-family/mergetree/#mergetree-query-clauses

Deprecated Method for Creating a Table
источник

WK

Wolf Kreuzerkrieg in ClickHouse не тормозит
Slach
DESCIBE system.parts;
если там нет, то нет
вроде логично то что этот запрос выдает. спасибо
источник

K

Kid in ClickHouse не тормозит
Dmitry Titov
По датам только, по часам нет? (тогда toStartOfHour вам вообще не нужен)
в ключе сортировки если указать id+toStartOfHour(ts) это будет лучше?
источник

S

Slach in ClickHouse не тормозит
Kid
в ключе сортировки если указать id+toStartOfHour(ts) это будет лучше?
все запросы всегда идут с id и toStartOfHour(ts) ?
источник

K

Kid in ClickHouse не тормозит
Slach
все запросы всегда идут с id и toStartOfHour(ts) ?
нет
id/toStartOfHour(ts) - 90/10
источник

S

Slach in ClickHouse не тормозит
Kid
нет
id/toStartOfHour(ts) - 90/10
вообще ORDER BY поля лучше всего в таблице указывать от МЕНЬШЕЙ кардинальности к большей
то есть
toStartOfHours явно меньшую кардинальность имеет чем id
поэтому ее лучше сначала поместить
Данные лучше сжиматься будут в остальных полях
источник

I

Ildar in ClickHouse не тормозит
Добрый день!
Подскажите по восстановлению бекапа в кластере
бекап делаю так alter table db.table freeze
рестор ALTER TABLE db.table ATTACH PARTITION ’11’
бекап из shadow/{{ increment }} кладу сюда /var/lib/clickhouse/data/db/table/detached/{{ increment }}
далее создаю бд и создаю 3 таблицы на каждой ноде clickhouse и после этого рестор

рестор отрабатывает со статусом - ok, но данных нет.
может еще что-то надо сделать?
источник

S

Slach in ClickHouse не тормозит
Ildar
Добрый день!
Подскажите по восстановлению бекапа в кластере
бекап делаю так alter table db.table freeze
рестор ALTER TABLE db.table ATTACH PARTITION ’11’
бекап из shadow/{{ increment }} кладу сюда /var/lib/clickhouse/data/db/table/detached/{{ increment }}
далее создаю бд и создаю 3 таблицы на каждой ноде clickhouse и после этого рестор

рестор отрабатывает со статусом - ok, но данных нет.
может еще что-то надо сделать?
https://github.com/AlexAkulov/clickhouse-backup
посмотрите как тут сделано
источник

I

Ildar in ClickHouse не тормозит
если правильно понял на новых версиях кх движок атомик и там симлинки поэтому clickhouse-backup не работает на новых версиях
источник

S

Slach in ClickHouse не тормозит
Ildar
если правильно понял на новых версиях кх движок атомик и там симлинки поэтому clickhouse-backup не работает на новых версиях
опс, да извините, вы правильно поняли
источник

АЗ

Андрей З in ClickHouse не тормозит
Подскажите, пожалуйста.

Есть кластер, состоящий из двух шардов. Над этим кластером создана схема, в которой лежит основная таблица, которая, соответственно, шардируется.

Хочется добавить в ту же схему ещё одну доп таблицу, но чтобы она не шардировалась, а просто реплицировалась на все ноды.

Такого эффекта можно вроде бы достичь, если при создании этой новой реплицируемой таблицы указать путь в зукипере, не содержащий имени шарда.

Это, вообще, рабочее решение или костыль? Может быть, есть другие способы?
источник

MM

Michael M in ClickHouse не тормозит
Denisio
кто-то сказал snowflake? :)
Спасибо.
Подобрал правильные параметры генерации и заработало отлично!
источник

VR

Vladimir Rudev in ClickHouse не тормозит
Андрей З
Подскажите, пожалуйста.

Есть кластер, состоящий из двух шардов. Над этим кластером создана схема, в которой лежит основная таблица, которая, соответственно, шардируется.

Хочется добавить в ту же схему ещё одну доп таблицу, но чтобы она не шардировалась, а просто реплицировалась на все ноды.

Такого эффекта можно вроде бы достичь, если при создании этой новой реплицируемой таблицы указать путь в зукипере, не содержащий имени шарда.

Это, вообще, рабочее решение или костыль? Может быть, есть другие способы?
Рабочее, мы используем - проблем нет
источник

IK

Ilshat Karazbaev in ClickHouse не тормозит
добрый день! А есть ли готовый мониторинг с аналитикой запросов в кликхаус, который метрики из query_log/query_thread_log сам заберет и разложит по полочкам, как сделано для постгреса в pgwatch2/powa4 или для MySQL в PMM?
источник

MM

Michael M in ClickHouse не тормозит
А как КН переносить внезапное отключение виртуалки, в которой он активно работает? Что может приключиться?
источник

MM

Michael M in ClickHouse не тормозит
Vladimir Rudev
Рабочее, мы используем - проблем нет
а какую именно либу используете? я для Go нашёл такое: https://github.com/beinan/fastid
источник

VR

Vladimir Rudev in ClickHouse не тормозит
Я про таблицу во всех шардах отвечал, про ID ничего подсказать не могу.
источник

CO

Chern Oleksander in ClickHouse не тормозит
всем привет, а подскажите как лучше прочитать всю таблицу

Есть таблица
create table solder
(
 id String,
 number String,
 cost Int32,
 currency Nullable(String),
 prize Nullable(Int32),
 date_sold DateTime,
 date Date,
 game_id Int32,
 user_id Int32,
 session_guid Nullable(String),
 session_id Nullable(String),
 session_balance Nullable(Int32),
 g_count Nullable(Int8),
 is_free Nullable(Int8),
 is_refund Nullable(Int8),
 roundnum Nullable(String),
 ip Nullable(String),
 ua Nullable(String),
 platform Nullable(String),
 date_updated Nullable(DateTime),
 is_real Nullable(Int8),
 is_gt_max Nullable(Int8) default CAST(0, 'Nullable(Int8)'),
 promotion_id Nullable(Int32) default CAST(0, 'Nullable(Int32)'),
 is_suspicious_activities Nullable(Int8) default CAST(0, 'Nullable(Int8)')
)
engine = MergeTree() PARTITION BY toYYYYMMDD(date) ORDER BY (id, date, date_sold, game_id, user_id) SETTINGS index_granularity = 8192

как
только делаю в запросе CASE, пишет Read Time out
select tx.user_id, sum(ts.cost-ts.prize), sum(ts.cost), count(ts.id), sum(case  when ts.date between today() - 7 and today() then ts.cost - ts.prize else 0 end)
from
ts.date between today() - 7 and today() then ts.cost - ts.prize else 0 end)
from solder ts
group by ts.user_id

Что в таком случае делать, спасибо (
источник