Size: a a a

ClickHouse не тормозит

2020 May 27

D

Dj in ClickHouse не тормозит
Andrey
Вот только я пока не понял. Что меняется после мержа.
Ведь OPTIMIZE FINAL меняет эти куски не впервые. Они и до этого же проходили мержи.
Там раз в час идет несколько заливок происходит.
Т.е. если я верно понимаю, куски должны всегда содержать столько рандома.
ну я же выше пример привел...
источник

D

Dj in ClickHouse не тормозит
до мерджа в одном 64кб блоке  куска было условно 10% повторяющихся данных, после 4%,
источник

D

Dj in ClickHouse не тормозит
part1:
shop_id, mycolumn
shop1, 1
shop1, 2
shop2, 1
shop2, 2

part1:
shop_id, mycolumn
shop1, 3
shop1, 4
shop2, 3
shop2, 4

допустим оба куска такие, смерджите и представьте что КХ сжимает по 4 строки
будет

shop_id, mycolumn
shop1, 1
shop1, 2
shop1, 3
shop1, 4

shop2, 1
shop2, 2
shop2, 3
shop2, 4


и mycolumn уже не сжимается
источник

D

Dj in ClickHouse не тормозит
Andrey
Вот только я пока не понял. Что меняется после мержа.
Ведь OPTIMIZE FINAL меняет эти куски не впервые. Они и до этого же проходили мержи.
Там раз в час идет несколько заливок происходит.
Т.е. если я верно понимаю, куски должны всегда содержать столько рандома.
min_compress_block_size  65536
max_compress_block_size  1048576
====
хотя вам сюда ))) увеличьте эти минимумы и максимумы... должно помочь
источник

A

Andrey in ClickHouse не тормозит
Dj
part1:
shop_id, mycolumn
shop1, 1
shop1, 2
shop2, 1
shop2, 2

part1:
shop_id, mycolumn
shop1, 3
shop1, 4
shop2, 3
shop2, 4

допустим оба куска такие, смерджите и представьте что КХ сжимает по 4 строки
будет

shop_id, mycolumn
shop1, 1
shop1, 2
shop1, 3
shop1, 4

shop2, 1
shop2, 2
shop2, 3
shop2, 4


и mycolumn уже не сжимается
Да, кажется понял. Спасибо!
источник

A

Andrey in ClickHouse не тормозит
Dj
min_compress_block_size  65536
max_compress_block_size  1048576
====
хотя вам сюда ))) увеличьте эти минимумы и максимумы... должно помочь
А вот ща сложно было
источник

D

Dj in ClickHouse не тормозит
Andrey
А вот ща сложно было
размеры блоков компрессии, КХ сжимает каждые 64кб... если увеличить лимит, будет лучше сжатие... но настройка системная, будут наверно некоторые проблемы в других местах (latency)
источник

A

Andrey in ClickHouse не тормозит
Dj
размеры блоков компрессии, КХ сжимает каждые 64кб... если увеличить лимит, будет лучше сжатие... но настройка системная, будут наверно некоторые проблемы в других местах (latency)
да у меня там гигабайты. Оно ведь врядли сильно поможет

Ну т.е. после OPTIMIZE FINAL получается парт к примеру в 16гб, все равно ж пролетает в эти настройки со свистом
источник

D

Dj in ClickHouse не тормозит
лучше ZSTD, ZSTD+Gorilla
источник

D

Dj in ClickHouse не тормозит
Andrey
да у меня там гигабайты. Оно ведь врядли сильно поможет

Ну т.е. после OPTIMIZE FINAL получается парт к примеру в 16гб, все равно ж пролетает в эти настройки со свистом
ну у вас же не весь гигабайт рандомен ) тут секунды совпадут, там минуты...
источник

D

Dj in ClickHouse не тормозит
чутье подсказывает что если при мердже ухудшается в два раза, увеличение лимита в два раза поможет убрать этот эффект... но это очень сферические рассуждения
источник

A

Andrey in ClickHouse не тормозит
Dj
лучше ZSTD, ZSTD+Gorilla
сейчас наблюдаю мерж с материвализацией в ZSTD

LZ4: 13935M
ZSTD: 11394M
источник

D

Dj in ClickHouse не тормозит
Andrey
сейчас наблюдаю мерж с материвализацией в ZSTD

LZ4: 13935M
ZSTD: 11394M
ну поиграйтесь кодеками, заодно поделитесь опытом... у всех "свои даты"
источник

A

Andrey in ClickHouse не тормозит
Dj
ну поиграйтесь кодеками, заодно поделитесь опытом... у всех "свои даты"
Та я тут кажется нашел прекрасное.
Еще изучаю, но кажется при заливке etl юзает now() для created, таким образом вносит энтропию даже в рамках одной заливки.

Я кстати верно понимаю что now() будет дергаться на каждую строку при инсерте?
источник

D

Dj in ClickHouse не тормозит
Andrey
Та я тут кажется нашел прекрасное.
Еще изучаю, но кажется при заливке etl юзает now() для created, таким образом вносит энтропию даже в рамках одной заливки.

Я кстати верно понимаю что now() будет дергаться на каждую строку при инсерте?
вроде на весь инсерт батч одинаковое значение будет, наверно оно с оптимизировано... имхо это нормально дергать now()

а энтропия - если можете округлить - округлите
источник

D

Dj in ClickHouse не тормозит
Andrey
Та я тут кажется нашел прекрасное.
Еще изучаю, но кажется при заливке etl юзает now() для created, таким образом вносит энтропию даже в рамках одной заливки.

Я кстати верно понимаю что now() будет дергаться на каждую строку при инсерте?
ещё вариант, бейте на недельные партиции... и мерджи быстрее будут... и файлики поменьше, и энтропия в блоках компресии поменьше и компрессия получше...
источник

D

Dmitry in ClickHouse не тормозит
пасиб
источник

AS

Aleh Sauko in ClickHouse не тормозит
подскажите, обязательно ли при mv to table, перечислять все колонки таблицы table ? и если нет, то как и с какой версии?
просто не однократно слышал тут, что вроде будут пустыми заполнять, но у самого не получается и ругается..

сreate table test (a Int32, b Int32, c Int32) engine = Memory;
create table test_2 (a Int32, b Int32) engine = Memory;
create materialized view test_mv to test as
   select a, b from test_2;

insert into test_2(a, b) values (1, 2);

DB::Exception: Cannot find column `c` in source stream: while pushing to view ru_master.test_mv (version 19.17.6.36 (official build))
источник
2020 May 28

OA

Oleg A. 🇷🇺 in ClickHouse не тормозит
Всем привет )
Помогите, плз, пофиксить поддержку Mongo Atlas ReplicaSet как внешний словарь.
Пытаюсь переехать на Atlas с self-hosted и столкнулся с проблемой интеграции с CH.

Судя по недавно закрытым PR, добавили поддержку одиночных серверов Atlas, но не получается работать с кластером.
На сколько понял переписку, там не рокет сайнс и решение уже заложено в poco, просто нужно добавить правильное распознавание форматов uri, специфичных для кластеров. Поправьте, если ошибаюсь.

Оригинальный формат uri описал в issue: https://github.com/ClickHouse/ClickHouse/issues/4190#issuecomment-634814866
Если нужно финансирование доработки - дайте, пожалуйста, оценку
источник

A

Anna in ClickHouse не тормозит
Помогите, пожалуйста
Как можно реализовать конструкцию:

(has(arr1, elem1) = 1 and has(arr1, elem2)=1) ?
источник