Size: a a a

ClickHouse не тормозит

2020 August 03

DC

Denny Crane (I don't... in ClickHouse не тормозит
Павел Прохоров
Всем привет!
4 реплики версии 19.16.13.54, таблица CollapsingMergeTree
1) Создаю таблицу
2) Пишу в таблицу одну партицию - есть записи
3) Мутацией удаляю эту партицию, дожидаюсь is_done = 1 на всех репликах
4) Снова пишу одну партицию - таблица пустая

Смотрел по query_log - инсерт партиции есть, логам он после мутации
Смотрел parts - последний парт создан мутацией и он пустой
Делал до записи SYSTEM SYNC REPLICA - не помогло

Куда копать и какие логи смотреть?
Replicated insert deduplication
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
https://clickhouse.tech/docs/ru/engines/table-engines/mergetree-family/replication/

Блоки данных дедуплицируются. При многократной записи одного и того же блока данных (блоков данных одинакового размера, содержащих одни и те же строчки в одном и том же порядке), блок будет записан только один раз. Это сделано для того, чтобы в случае сбоя в сети, когда клиентское приложение не может понять, были ли данные записаны в БД, можно было просто повторить запрос INSERT. При этом не имеет значения, на какую реплику будут отправлены INSERT-ы с одинаковыми данными. Запрос INSERT идемпотентный. Параметры дедуплицирования регулируются настройками сервера merge_tree
источник

IP

Ivan Panteleev in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
а что не работает-то? У вас кавычки " не в том месте, что за база вообще? PG ?
да, база postgres, кавычки не я расставляю, мой селект из кли выглядит вот так:
SELECT * FROM odbc('DSN=postgres;USERNAME=ch_dict;PASSWORD=verystrongpass;PORT=5432;DATABASE=analytics','analytics.shop')
источник

i

io in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
кажется. Мне Кажется вы врете и там не MT и тогда deduplicate делает ничего.

https://github.com/ClickHouse/ClickHouse/issues/11572
перепроверил (show create table) - там MergeTree
эта таблица существует давно и до обновления кликхауса FINAL DEDUPLICATE работало без замечаний
что-то изменилось после обновления на последнюю версию
источник

ПП

Павел Прохоров... in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
https://clickhouse.tech/docs/ru/engines/table-engines/mergetree-family/replication/

Блоки данных дедуплицируются. При многократной записи одного и того же блока данных (блоков данных одинакового размера, содержащих одни и те же строчки в одном и том же порядке), блок будет записан только один раз. Это сделано для того, чтобы в случае сбоя в сети, когда клиентское приложение не может понять, были ли данные записаны в БД, можно было просто повторить запрос INSERT. При этом не имеет значения, на какую реплику будут отправлены INSERT-ы с одинаковыми данными. Запрос INSERT идемпотентный. Параметры дедуплицирования регулируются настройками сервера merge_tree
Кликхаус никогда не запишет снова уже ранее записанный блок данных? Неважно сколько времени прошло?
А если мутацией стерт? Или схлопнулся?
источник

ED

Evgeniy Dolgin in ClickHouse не тормозит
Подскажите, можно ли создать ROW POLICY для всех таблиц в некоторой БД ?
запрос
CREATE ROW POLICY filter ON mydb.* FOR SELECT USING …
ругается что Expected identifier
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Ivan Panteleev
да, база postgres, кавычки не я расставляю, мой селект из кли выглядит вот так:
SELECT * FROM odbc('DSN=postgres;USERNAME=ch_dict;PASSWORD=verystrongpass;PORT=5432;DATABASE=analytics','analytics.shop')
ну так должно быть просто shop
источник

IP

Ivan Panteleev in ClickHouse не тормозит
по документации schema_name.table_name, емнип
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
io
перепроверил (show create table) - там MergeTree
эта таблица существует давно и до обновления кликхауса FINAL DEDUPLICATE работало без замечаний
что-то изменилось после обновления на последнюю версию
попробуйте 20.5.4.40
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Ivan Panteleev
по документации schema_name.table_name, емнип
ссылку?
источник

i

io in ClickHouse не тормозит
о, эту версию контейнером выложили пару дней назад
попробую, спасибо!
источник

IP

Ivan Panteleev in ClickHouse не тормозит
Ваша правда, переделал: SELECT * FROM odbc('DSN=postgres','analytics','shop'). Итог тот же.
источник

i

io in ClickHouse не тормозит
вы знаете, а ведь помогло!
обновился - запрос перестал падать на FINAL DEDUPLICATE
мое почтение!
источник

K

Kid in ClickHouse не тормозит
Добрый день. Есть механизм разбиения числа на разряды?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Kid
Добрый день. Есть механизм разбиения числа на разряды?
например что должно получится? массив?
источник

K

Kid in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
например что должно получится? массив?
нет, как понимаю строка
источник

K

Kid in ClickHouse не тормозит
123456 должно стать 123.456
аналитики, говорят, так проще для восприятия)))
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Kid
нет, как понимаю строка
так а КХ тут при чем? Это приложение должно делать?
источник

K

Kid in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
так а КХ тут при чем? Это приложение должно делать?
нет, хочу сделать это в КХ
источник

K

Kid in ClickHouse не тормозит
если возможно
источник