Size: a a a

ClickHouse не тормозит

2020 August 25

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Andrey Bobelev
Ну собственно да,
2020.08.24 15:31:46.958981 [ 4490 ] {} <Error> local.audio_local: Found part /var/lib/clickhouse/data/local/audio_local/202008_66590_66590_0
2020.08.24 15:31:50.770941 [ 4551 ] {} <Error> local.audio_local: Considering to remove broken part /var/lib/clickhouse/data/local/audio_local/202008_66590_66590_0 because it's impossible to repair.
2020.08.24 15:32:06.619531 [ 3687 ] {} <Error> local.audio_local: Cannot quickly remove directory /var/lib/clickhouse/data/local/audio_local/delete_tmp_202008_66590_66590_0 by removing files; fallback to recursive removal. Reason: Code: 458, e.displayText() = DB::ErrnoException: Cannot rmdir file /var/lib/clickhouse/data/local/audio_local/delete_tmp_202008_66590_66590_0, errno: 39, strerror: Directory not empty (version 20.3.15.133 (official build))
2020.08.24 15:32:08.089922 [ 4642 ] {} <Error> local.content_views_local: Found part /var/lib/clickhouse/data/local/content_views_local/202008_66590_66590_0
2020.08.24 15:32:16.397479 [ 3687 ] {} <Error> local.audio_local: Removing locally missing part from ZooKeeper and queueing a fetch: 202008_66590_66590_0
2020.08.24 15:34:23.744207 [ 4332 ] {} <Warning> local.audio_local (ReplicatedMergeTreePartCheckThread): Checking part 202008_66590_66590_0
2020.08.24 15:34:23.745152 [ 4332 ] {} <Warning> local.audio_local (ReplicatedMergeTreePartCheckThread): Checking if anyone has a part covering 202008_66590_66590_0.
2020.08.24 15:34:23.749936 [ 4332 ] {} <Error> local.audio_local (ReplicatedMergeTreePartCheckThread): No replica has part covering 202008_66590_66590_0 and a merge is impossible: we didn't find smaller parts with either the same min block or the same max block.
2020.08.24 15:34:23.753667 [ 4332 ] {} <Error> local.audio_local (ReplicatedMergeTreePartCheckThread): Part 202008_66590_66590_0 is lost forever.
источник

DN

Dmitriy Novikov in ClickHouse не тормозит
Всем привет, а есть лимиты на MV? и стоит ли на каждую таблицы навешивать их? таблицы штук 15
источник

DN

Dmitriy Novikov in ClickHouse не тормозит
или это плохо? делать много mv
источник

DN

Dmitriy Novikov in ClickHouse не тормозит
Да и можно ли для нескольких таблицы сделать 1 mv?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Dmitriy Novikov
Да и можно ли для нескольких таблицы сделать 1 mv?
лимитов нет. Каждый MV это еще один инсерт.

Т.е. например рекомендация КХ ОДИН инсерт на сервер в секунду (не на таблицу, а на все таблицы), каждое MV делает еще один инсерт
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Dmitriy Novikov
Да и можно ли для нескольких таблицы сделать 1 mv?
одно MV может ловить данные из инсерта в одну таблицу
источник

DN

Dmitriy Novikov in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
лимитов нет. Каждый MV это еще один инсерт.

Т.е. например рекомендация КХ ОДИН инсерт на сервер в секунду (не на таблицу, а на все таблицы), каждое MV делает еще один инсерт
ок спасибо большое!
источник

AB

Andrey Bobelev in ClickHouse не тормозит
Спасибо большое. Полечилось
источник

SA

Sergey Ageev in ClickHouse не тормозит
Всем привет!
Задача. Нужно посчитать diff метрик.
К примеру, взяли период равный одному месяцу и посчитали клики. Нужно взять клики за предыдущий месяц и вычислить разницу.
Задачу можно решить двумя запросами. В первом запросе считаем метрики по заданному интервалу времени, а во втором запросе со смещением времени. На клиенте обрабатываем результат.
Вопрос в том, есть ли штатный механизм в БД, для расчета метрик со смещением не делая двух запросов?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Sergey Ageev
Всем привет!
Задача. Нужно посчитать diff метрик.
К примеру, взяли период равный одному месяцу и посчитали клики. Нужно взять клики за предыдущий месяц и вычислить разницу.
Задачу можно решить двумя запросами. В первом запросе считаем метрики по заданному интервалу времени, а во втором запросе со смещением времени. На клиенте обрабатываем результат.
Вопрос в том, есть ли штатный механизм в БД, для расчета метрик со смещением не делая двух запросов?
развернуть в массив groupArray, потом в массиве arrayDifference
источник

YA

Yuri Alexandrovich in ClickHouse не тормозит
есть колонка с timestamp некоторых событий, как сгруппировать их в массив где элементы массива это разницы между timestamp?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Yuri Alexandrovich
есть колонка с timestamp некоторых событий, как сгруппировать их в массив где элементы массива это разницы между timestamp?
arrayDifference(groupArray(toUnixTimestamp(timestamp)))
источник

YA

Yuri Alexandrovich in ClickHouse не тормозит
спасибо большое
источник

SA

Sergey Ageev in ClickHouse не тормозит
Спасибо!
источник

n

naim in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
аа, упс. я отвечал на вопрос что будет если выключить компрессию. Она включена по дефолту
просто в конфигах только так есть

  <compression>
   </compression>
значит данные не сжимаются совсем или как ?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
naim
просто в конфигах только так есть

  <compression>
   </compression>
значит данные не сжимаются совсем или как ?
If no conditions met for a data part, ClickHouse uses the lz4 compression.
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
в <compression>
   </compression> описывает if else if else , в конце else lz4
источник

מ

מיכאל in ClickHouse не тормозит
Доброго вечера
поднял шард через кубер-оператор.

create table device_data_record_detail_local on cluster '{cluster}'
(
 id String,
 key String,
 value String,
 type String,
 device_data_record_id String,
 receiving_time DateTime
)
engine=ReplicatedMergeTree('/clickhouse/{installation}/{cluster}/tables/{shard}/{database}/{table}', '{replica}')
PARTITION BY toDate(receiving_time) PRIMARY KEY id ORDER BY id SETTINGS index_granularity = 8192;
CREATE TABLE device_data_record_detail  on cluster '{cluster}' AS device_data_record_detail_local
ENGINE = Distributed('{cluster}', default, device_data_record_detail_local, rand());

Писать в  Distributed могу, читать из "local" - тоже. но при попытке прочитать из Distributed -
Code: 516, e.displayText() = DB::Exception: Received from chi-click-replicated-1-0:9000. DB::Exception: default: Authentication failed: password is incorrect or there is no user with such name. (version 20.6.4.44 (official build))
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
מיכאל
Доброго вечера
поднял шард через кубер-оператор.

create table device_data_record_detail_local on cluster '{cluster}'
(
 id String,
 key String,
 value String,
 type String,
 device_data_record_id String,
 receiving_time DateTime
)
engine=ReplicatedMergeTree('/clickhouse/{installation}/{cluster}/tables/{shard}/{database}/{table}', '{replica}')
PARTITION BY toDate(receiving_time) PRIMARY KEY id ORDER BY id SETTINGS index_granularity = 8192;
CREATE TABLE device_data_record_detail  on cluster '{cluster}' AS device_data_record_detail_local
ENGINE = Distributed('{cluster}', default, device_data_record_detail_local, rand());

Писать в  Distributed могу, читать из "local" - тоже. но при попытке прочитать из Distributed -
Code: 516, e.displayText() = DB::Exception: Received from chi-click-replicated-1-0:9000. DB::Exception: default: Authentication failed: password is incorrect or there is no user with such name. (version 20.6.4.44 (official build))
>Писать в  Distributed могу
думаю пишет он в никуда (в локальный диск)

пароль для Distributed таблиц указывается в секции remote_servers (там где вы описали кластер)
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Distributed таблицы это обычные клиенты КХ, которые ходят к другу другу через user/password
источник