Size: a a a

ClickHouse не тормозит

2021 January 29

SN

Sergey Nikolaev in ClickHouse не тормозит
Sergey Nikolaev
Привет. Кто-нибудь знает как тут https://clickhouse.tech/benchmark/dbms/#[%22100000000%22,[%22ClickHouse%22,%22InfiniDB%22],[%221%22]] вычислается "Relative query processing time" ?

Это не среднее, не среднее квадратичное (и не в третьей / полуторной степени))? Что за формула? Нормализация какая-то идёт, непонятно по чему.
FYI: посмотрел, в javascript'е : корень степени кол-ва элементов от произведения этих элементов.
источник

AK

Alexander Kononov in ClickHouse не тормозит
это среднегеометрическое называется
источник

MK

Max Khlystov in ClickHouse не тормозит
по какой причине могут теряться данные при инсертах ?
источник

GE

Grisha Egorov in ClickHouse не тормозит
Max Khlystov
по какой причине могут теряться данные при инсертах ?
Кластер с НЕ Replicated таблицами?
источник

MK

Max Khlystov in ClickHouse не тормозит
Grisha Egorov
Кластер с НЕ Replicated таблицами?
неа один сервер
источник

MK

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

GE

Grisha Egorov in ClickHouse не тормозит
Были разные кейсы но такого не встречал. А какой тип движка?
источник

MK

Max Khlystov in ClickHouse не тормозит
реплейсед мердж три
источник

IV

Ivan Volynkin in ClickHouse не тормозит
Коллеги, добрый день

Распухла директория /clickhouse/store, которая рядом с /clickhouse/data

Не очень понятно, что там лежит. Есть ли какая-то документация на эту тему?
источник

A

Andrey in ClickHouse не тормозит
Ivan Volynkin
Коллеги, добрый день

Распухла директория /clickhouse/store, которая рядом с /clickhouse/data

Не очень понятно, что там лежит. Есть ли какая-то документация на эту тему?
источник

IV

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

GE

Grisha Egorov in ClickHouse не тормозит
Max Khlystov
реплейсед мердж три
ORDER BY проверяли, правильно выбран?
источник

MK

Max Khlystov in ClickHouse не тормозит
а есть какойто способ залочить таблицу на запись
источник

AS

Alexey Sokolov in ClickHouse не тормозит
Помогите, пожалуйста, разобраться с ключами партиционирования.

Для теста сделал две таблицы, наполнение одинаковое, различаются только ключом партиционирования.
Первая:
CREATE TABLE TestTable
(
 event_id UUID,
 event_date Date,
 event_type LowCardinality(String),
 event_region LowCardinality(String),
 minValueState AggregationFunction(min, Int8),
 recordsNumState AggregationFunction(count)
)
ENGINE = AggregationMergeTree()
PARTITION BY toYYYYMMDD(event_date)
ORDER BY (event_date, event_type, event_region)
TTL event_date + interval 30 day


Вторая:
PARTITION BY (toYYYYMMDD(event_date), event_type, event_region)


В таблице сейчас всего 2 млрд записей, в день пишется 500 млн, ожидаемый рабочий размер - 15 млрд записей. Все запросы представляют из себя либо выбор event_id по нужным (event_date, event_type, event_region) с заданным значением агрегата min, либо подсчёт выбранных таким образом уников.

Тестовый запрос:
SELECT
 t.event_id
FROM
 TestTable t
WHERE
 t.event_date = '2021-01-25'
 and t.event_type = 'event1'
 and t.event_region = 'Msk'
GROUP BY
 t.event_id
HAVING
 minMerge(t.minValueState) > 0


Результат для первой таблицы:
read_rows = 50.0 млн
memory_usage = 6.23 гб

Результат для второй таблицы:
read_rows = 49.8 млн
memory_usage = 5.71 гб

Правильно понимаю, что в первом варианте КХ ищет по засечкам нужную часть партиции, которая, благодаря ключу сортировки, получается лишь немного больше нужной партиции во втором варианте, и работает только с ней?

Я предполагал, что второй вариант будет сильно быстрее, но такая оптимизация в моём случае практически бесполезна. А в каких случаях разбиение на более мелкие партиции имеет смысл для ускорения запросов? Или я вообще делаю что-то не так?
источник

С2

Сергей 2017 in ClickHouse не тормозит
Здравствуйте. Как в clickhouse можно получить список всех залитых данных конкретным юзером?


Какая команда?
источник

PN

Pavel Nemirovsky in ClickHouse не тормозит
Добрый вечер, кто поделиться опытом на счет secondary indices в MergeTree? Есть ли какие то подводные камни ?
источник

НМ

Никита Макушников... in ClickHouse не тормозит
Сергей 2017
Здравствуйте. Как в clickhouse можно получить список всех залитых данных конкретным юзером?


Какая команда?
источник

A

Alexander in ClickHouse не тормозит
у меня вопрос по https://altinity.com/blog/2018/5/10/circular-replication-cluster-topology-in-clickhouse

там есть упоминание про internal_replication == true,
но для меня абсолютно не очевидно зачем оно нужно, если вставка _НЕ_ через distributed.

Вопрос#1: я правильно понимаю что этот параметр влияет только на distributed вставку?
Вопрос#2: решил убедится что будет двойная вставка если его поставить false, но что-то поведение точно такое же как и с true, что не понятно
источник

L

Lamobot in ClickHouse не тормозит
Alexander
у меня вопрос по https://altinity.com/blog/2018/5/10/circular-replication-cluster-topology-in-clickhouse

там есть упоминание про internal_replication == true,
но для меня абсолютно не очевидно зачем оно нужно, если вставка _НЕ_ через distributed.

Вопрос#1: я правильно понимаю что этот параметр влияет только на distributed вставку?
Вопрос#2: решил убедится что будет двойная вставка если его поставить false, но что-то поведение точно такое же как и с true, что не понятно
distributed - это распределение данных по шардам, вставляешь в distributed таблицу, КХ эти данные разносит по разным шардам. На каждый попадают свои данные!
А репликация это копирование данных на реплики. Реплика - это копия данных на другом сервере.
Репликацию можно делать двумя способами, когда КХ сам реплицирует данные, используя zookeeper (internal_replication=true) Или же когда клиент сам вставляет в обе (или более) реплик (internal_replication=false)
circular replication - так себе структура кластера, и лучше не трогать internal_replication=true
источник

A

Alexander in ClickHouse не тормозит
Lamobot
distributed - это распределение данных по шардам, вставляешь в distributed таблицу, КХ эти данные разносит по разным шардам. На каждый попадают свои данные!
А репликация это копирование данных на реплики. Реплика - это копия данных на другом сервере.
Репликацию можно делать двумя способами, когда КХ сам реплицирует данные, используя zookeeper (internal_replication=true) Или же когда клиент сам вставляет в обе (или более) реплик (internal_replication=false)
circular replication - так себе структура кластера, и лучше не трогать internal_replication=true
да, я всё это знаю, однако объяснение это не помогает найти.

Если он false, то distributed должен сам разнести по репликам? если так, то каждая реплика должна ещё внутрее реплици .... кажется ответ понятен: internal_replication = false отключает внутреннюю репликацию => поведение будет одинаковое по сути, только через разные механизмы (какой из них лучше не важно)
источник