Size: a a a

ClickHouse не тормозит

2021 March 15

S

Slach in ClickHouse не тормозит
Антон 😎
или могу просто конкатенировать?
конкатенировать не стоит
к сожалению авторы библиотек под NodeJS ничего такого для SELECT не предусматривают, что странно
источник

S

Slach in ClickHouse не тормозит
Dj
можно снепшоты, можно https://github.com/AlexAkulov/clickhouse-backup только он вроде с атомик ещё не работал пока

а вообще сюда посмотрите https://clickhouse.tech/docs/ru/operations/backup/
https://github.com/AlexAkulov/clickhouse-backup/releases/tag/v1.0.0-alpha1
есть альфа, можно попробовать воспользоваться
источник

S

Slach in ClickHouse не тормозит
Антон 😎
или могу просто конкатенировать?
можно query builder попробовать использовать
https://www.npmjs.com/package/clickhouse-sql
источник

АВ

Александр Введенский... in ClickHouse не тормозит
Всем привет! подскажите пожалуйста что я делаю не так?
Есть две базы clcikhouse на разных хостах
Есть скрипт на питоне который шлет данные в clickhouse по http.
Мне нужно решить 2 задачи
1) суммировать insert для снижения нагрузки на базу
2) клонировать запросы на обе базы
Я установил clickhouse-bulk вроде как то что нужно. Но у меня проблема запросы до clickhouse-bulk приходят правильно и вроде бы корректно. А clickhouse-bulk отправляет их в базу с ошибкой ( в логах clcikhouse )
<Error> executeQuery: Code: 62, e.displayText() = DB::Exception: Syntax error: failed at position 45 ('Content') (line 2, col 1): Content-Disposition: form-data; name="query"
Что смотреть куда копать?

clickhouse-bulk v1.3.2
ClickHouse server version 21.1.2.15 (official build)
источник

AE

A E in ClickHouse не тормозит
A E
Может кто-то  проверить запрос у себя?
create table t engine = Memory as with cte as (select * from numbers(10)) select * from cte
и
create table t engine = Memory as
with cte as (select * from numbers(10))
select * from cte

У меня почему-то многостраничный запрос не работает. Пишет DB::Exception: Table default.cte doesn't exist.

Вроде как это баг был исправлен. https://github.com/ClickHouse/ClickHouse/issues/20187  Однако в 21.2.5-2 наблюдается
Никто не поможет? 🥲
источник

А

Антон 😎 in ClickHouse не тормозит
Круто! Попробую конечно, спасибо 🙏🏽 большое за ответ!
источник

S

Slach in ClickHouse не тормозит
Александр Введенский
Всем привет! подскажите пожалуйста что я делаю не так?
Есть две базы clcikhouse на разных хостах
Есть скрипт на питоне который шлет данные в clickhouse по http.
Мне нужно решить 2 задачи
1) суммировать insert для снижения нагрузки на базу
2) клонировать запросы на обе базы
Я установил clickhouse-bulk вроде как то что нужно. Но у меня проблема запросы до clickhouse-bulk приходят правильно и вроде бы корректно. А clickhouse-bulk отправляет их в базу с ошибкой ( в логах clcikhouse )
<Error> executeQuery: Code: 62, e.displayText() = DB::Exception: Syntax error: failed at position 45 ('Content') (line 2, col 1): Content-Disposition: form-data; name="query"
Что смотреть куда копать?

clickhouse-bulk v1.3.2
ClickHouse server version 21.1.2.15 (official build)
ну, тут только смотреть какие именно запросы отправляет clickhouse-bulk
если по 8123 порту льете данные без шифрования
тогда tcpdump ставим
и wireshark смотрим что не так...
источник

АВ

Александр Введенский... in ClickHouse не тормозит
Slach
ну, тут только смотреть какие именно запросы отправляет clickhouse-bulk
если по 8123 порту льете данные без шифрования
тогда tcpdump ставим
и wireshark смотрим что не так...
Вот что у меня получилось.
POST /?database=monitoring&user=tc&password=############ HTTP/1.1
Host: 127.0.0.1:8123
User-Agent: Go-http-client/1.1
Content-Length: 1301
Content-Type:
Accept-Encoding: gzip

--------------------------e2037661b07821ec
Content-Disposition: form-data; name="query"
дальше идет большой INSERT

Я скопировал этот инсерт и скормил КХ ошибок не возникло, данные упали в базу...
источник

АВ

Александр Введенский... in ClickHouse не тормозит
Чего еще посмотреть?
источник

M

Mishanya in ClickHouse не тормозит
Mishanya
Здравстсуйте
подскажите такой кейс

У меня есть Replacing таблица с изменяемыми полями - entity_id, status, another_changing_field, static_value, etc…
Из-за того, что приходится находить записи с самой большой версией, что бы узнать акутальный статус - слишком много ресусрсов затрагивается. Записей немного, порядка 100кк, но что бы посчитать все - уходит порядка 20-30 секунд.

Вопрос - можно ли придумать какую-то агрегирующую табличку поверх всего этого ?
например, SummingMergeTree с полями аля first_status_sum, second_status_sum, но что бы сумма перетекала из firstt -> second если у записи поменялся стейт
up
источник

S

Slach in ClickHouse не тормозит
Александр Введенский
Вот что у меня получилось.
POST /?database=monitoring&user=tc&password=############ HTTP/1.1
Host: 127.0.0.1:8123
User-Agent: Go-http-client/1.1
Content-Length: 1301
Content-Type:
Accept-Encoding: gzip

--------------------------e2037661b07821ec
Content-Disposition: form-data; name="query"
дальше идет большой INSERT

Я скопировал этот инсерт и скормил КХ ошибок не возникло, данные упали в базу...
ну это один запрос из множества...
у вас в ответ на этот запрос ошибка HTTP возвращается?

найдите тот который в котором ошибка валится в ответе...
источник

АВ

Александр Введенский... in ClickHouse не тормозит
Slach
ну это один запрос из множества...
у вас в ответ на этот запрос ошибка HTTP возвращается?

найдите тот который в котором ошибка валится в ответе...
HTTP/1.1 400 Bad Request
Date: Mon, 15 Mar 2021 07:04:00 GMT
Connection: Keep-Alive
Content-Type: text/plain; charset=UTF-8
X-ClickHouse-Server-Display-Name: server.local.local
Transfer-Encoding: chunked
X-ClickHouse-Exception-Code: 62
Keep-Alive: timeout=3
X-ClickHouse-Summary: {"read_rows":"0","read_bytes":"0","written_rows":"0","written_bytes":"0","total_rows_to_read":"0"}

7B4
Code: 62, e.displayText() = DB::Exception: Syntax error: failed at position 45 ('Content') (line 2, col 1): Content-Disposition: form-data; name="query"

INSERT INTO history (host, name, clock, value_str) VALUES ('Mskm', 'writtenKb', '2021-03-15 08:07:2. Expected one of: ALTER query, Query with output, ALTER PROFILE, RENAME DATABASE, SHOW PRIVILEGES query, TRUNCATE, KILL, KILL QUERY query, SELECT query, possibly with UNION, list of union elements, ALTER ROLE, SELECT subquery, DESCRIBE query, SELECT query, subquery, possibly with UNION, SHOW GRANTS, SHOW CREATE, WATCH, CREATE SETTINGS PROFILE or ALTER SETTINGS PROFILE query, SHOW PROCESSLIST query, ALTER POLICY, ALTER USER, CREATE VIEW query, CHECK TABLE, SET ROLE, SELECT query, SELECT, REVOKE, CREATE USER, CREATE DICTIONARY, CREATE PROFILE, SET ROLE DEFAULT, EXPLAIN, ALTER SETTINGS PROFILE, SYSTEM, ALTER LIVE VIEW, RENAME TABLE, DROP query, SHOW ACCESS, OPTIMIZE query, USE, DROP access entity query, RENAME DICTIONARY, DETACH, SET, SHOW, DESC, OPTIMIZE TABLE, CREATE ROW POLICY, SET DEFAULT ROLE, CREATE POLICY, ALTER ROW POLICY, INSERT INTO, INSERT query, SHOW [TEMPORARY] TABLES|DATABASES|CLUSTERS|CLUSTER 'name' [[NOT] [I]LIKE 'str'] [LIMIT expr], GRANT, RENAME query, SHOW GRANTS query, SHOW PRIVILEGES, EXISTS, DROP, SYSTEM query, CREATE LIVE VIEW query, CREATE ROW POLICY or ALTER ROW POLICY query, CREATE QUOTA or ALTER QUOTA query, SHOW PROCESSLIST, ALTER QUOTA, CREATE QUOTA, CREATE DATABASE query, SET query, Query, CREATE, WITH, CREATE ROLE or ALTER ROLE query, EXTERNAL DDL FROM, EXCHANGE TABLES, EXISTS or SHOW CREATE query, WATCH query, REPLACE, CREATE ROLE, CREATE SETTINGS PROFILE, SET ROLE or SET DEFAULT ROLE query, CREATE USER or ALTER USER query, EXTERNAL DDL query, SHOW ACCESS query, SHOW CREATE QUOTA query, USE query, ATTACH, DESCRIBE, ALTER TABLE, ShowAccessEntitiesQuery, GRANT or REVOKE query, CREATE TABLE or ATTACH TABLE query (version 21.1.2.15 (official build))
источник

S

Slach in ClickHouse не тормозит
Александр Введенский
HTTP/1.1 400 Bad Request
Date: Mon, 15 Mar 2021 07:04:00 GMT
Connection: Keep-Alive
Content-Type: text/plain; charset=UTF-8
X-ClickHouse-Server-Display-Name: server.local.local
Transfer-Encoding: chunked
X-ClickHouse-Exception-Code: 62
Keep-Alive: timeout=3
X-ClickHouse-Summary: {"read_rows":"0","read_bytes":"0","written_rows":"0","written_bytes":"0","total_rows_to_read":"0"}

7B4
Code: 62, e.displayText() = DB::Exception: Syntax error: failed at position 45 ('Content') (line 2, col 1): Content-Disposition: form-data; name="query"

INSERT INTO history (host, name, clock, value_str) VALUES ('Mskm', 'writtenKb', '2021-03-15 08:07:2. Expected one of: ALTER query, Query with output, ALTER PROFILE, RENAME DATABASE, SHOW PRIVILEGES query, TRUNCATE, KILL, KILL QUERY query, SELECT query, possibly with UNION, list of union elements, ALTER ROLE, SELECT subquery, DESCRIBE query, SELECT query, subquery, possibly with UNION, SHOW GRANTS, SHOW CREATE, WATCH, CREATE SETTINGS PROFILE or ALTER SETTINGS PROFILE query, SHOW PROCESSLIST query, ALTER POLICY, ALTER USER, CREATE VIEW query, CHECK TABLE, SET ROLE, SELECT query, SELECT, REVOKE, CREATE USER, CREATE DICTIONARY, CREATE PROFILE, SET ROLE DEFAULT, EXPLAIN, ALTER SETTINGS PROFILE, SYSTEM, ALTER LIVE VIEW, RENAME TABLE, DROP query, SHOW ACCESS, OPTIMIZE query, USE, DROP access entity query, RENAME DICTIONARY, DETACH, SET, SHOW, DESC, OPTIMIZE TABLE, CREATE ROW POLICY, SET DEFAULT ROLE, CREATE POLICY, ALTER ROW POLICY, INSERT INTO, INSERT query, SHOW [TEMPORARY] TABLES|DATABASES|CLUSTERS|CLUSTER 'name' [[NOT] [I]LIKE 'str'] [LIMIT expr], GRANT, RENAME query, SHOW GRANTS query, SHOW PRIVILEGES, EXISTS, DROP, SYSTEM query, CREATE LIVE VIEW query, CREATE ROW POLICY or ALTER ROW POLICY query, CREATE QUOTA or ALTER QUOTA query, SHOW PROCESSLIST, ALTER QUOTA, CREATE QUOTA, CREATE DATABASE query, SET query, Query, CREATE, WITH, CREATE ROLE or ALTER ROLE query, EXTERNAL DDL FROM, EXCHANGE TABLES, EXISTS or SHOW CREATE query, WATCH query, REPLACE, CREATE ROLE, CREATE SETTINGS PROFILE, SET ROLE or SET DEFAULT ROLE query, CREATE USER or ALTER USER query, EXTERNAL DDL query, SHOW ACCESS query, SHOW CREATE QUOTA query, USE query, ATTACH, DESCRIBE, ALTER TABLE, ShowAccessEntitiesQuery, GRANT or REVOKE query, CREATE TABLE or ATTACH TABLE query (version 21.1.2.15 (official build))
ну, а теперь запрос? что в нем?
источник

АВ

Александр Введенский... in ClickHouse не тормозит
Slach
ну, а теперь запрос? что в нем?
INSERT INTO history (host, name, clock, value_int) VALUES ('Mskm1377_BB', '77', '2021-03-15 08:04:52', 1), ('Mskm1377_BB', '76', '2021-03-15 08:04:53', 0), ('Mskm1377_BB', '77', '2021-03-15 08:04:53', 0), ('Mskm1377_BB', '78', '2021-03-15 08:04:53', 0), ('Mskm1377_BB', '49', '2021-03-15 08:04:54', 1), ('Mskm1377_BB', '49', '2021-03-15 08:04:58', 0), ('Mskm1377_BB', '76', '2021-03-15 08:04:58', 1), ('Mskm1377_BB', '77', '2021-03-15 08:04:58', 1), ('Mskm1377_BB', '77', '2021-03-15 08:04:59', 0), ('Mskm1377_BB', '78', '2021-03-15 08:04:59', 1), ('Mskm1377_BB', '76', '2021-03-15 08:05:01', 0), ('Mskm1377_BB', '78', '2021-03-15 08:05:01', 0), ('Mskm1377_BB', '76', '2021-03-15 08:05:03', 1), ('Mskm1377_BB', '77', '2021-03-15 08:05:03', 1), ('Mskm1377_BB', '77', '2021-03-15 08:05:04', 0), ('Mskm1377_BB', '78', '2021-03-15 08:05:04', 1), ('Mskm1377_BB', '76', '2021-03-15 08:05:05', 0), ('Mskm1377_BB', '78', '2021-03-15 08:05:06', 0), ('Mskm1377_BB', '50', '2021-03-15 08:05:08', 753), ('Mskm1377_BB', '51', '2021-03-15 08:05:08', 754);
источник

АВ

Александр Введенский... in ClickHouse не тормозит
от клиента в clickhouse-bulk приходят отдельный insert ы
источник

АВ

Александр Введенский... in ClickHouse не тормозит
Александр Введенский
INSERT INTO history (host, name, clock, value_int) VALUES ('Mskm1377_BB', '77', '2021-03-15 08:04:52', 1), ('Mskm1377_BB', '76', '2021-03-15 08:04:53', 0), ('Mskm1377_BB', '77', '2021-03-15 08:04:53', 0), ('Mskm1377_BB', '78', '2021-03-15 08:04:53', 0), ('Mskm1377_BB', '49', '2021-03-15 08:04:54', 1), ('Mskm1377_BB', '49', '2021-03-15 08:04:58', 0), ('Mskm1377_BB', '76', '2021-03-15 08:04:58', 1), ('Mskm1377_BB', '77', '2021-03-15 08:04:58', 1), ('Mskm1377_BB', '77', '2021-03-15 08:04:59', 0), ('Mskm1377_BB', '78', '2021-03-15 08:04:59', 1), ('Mskm1377_BB', '76', '2021-03-15 08:05:01', 0), ('Mskm1377_BB', '78', '2021-03-15 08:05:01', 0), ('Mskm1377_BB', '76', '2021-03-15 08:05:03', 1), ('Mskm1377_BB', '77', '2021-03-15 08:05:03', 1), ('Mskm1377_BB', '77', '2021-03-15 08:05:04', 0), ('Mskm1377_BB', '78', '2021-03-15 08:05:04', 1), ('Mskm1377_BB', '76', '2021-03-15 08:05:05', 0), ('Mskm1377_BB', '78', '2021-03-15 08:05:06', 0), ('Mskm1377_BB', '50', '2021-03-15 08:05:08', 753), ('Mskm1377_BB', '51', '2021-03-15 08:05:08', 754);
это уже clickhouse-bulk объединяет запросы и передает КХ а в ответ получает http 400 с описание ошибки
Code: 62, e.displayText() = DB::Exception: Syntax error: failed at position 45 ('Content') (line 2, col 1): Content-Disposition: form-data; name="query"
источник

S

Slach in ClickHouse не тормозит
Александр Введенский
INSERT INTO history (host, name, clock, value_int) VALUES ('Mskm1377_BB', '77', '2021-03-15 08:04:52', 1), ('Mskm1377_BB', '76', '2021-03-15 08:04:53', 0), ('Mskm1377_BB', '77', '2021-03-15 08:04:53', 0), ('Mskm1377_BB', '78', '2021-03-15 08:04:53', 0), ('Mskm1377_BB', '49', '2021-03-15 08:04:54', 1), ('Mskm1377_BB', '49', '2021-03-15 08:04:58', 0), ('Mskm1377_BB', '76', '2021-03-15 08:04:58', 1), ('Mskm1377_BB', '77', '2021-03-15 08:04:58', 1), ('Mskm1377_BB', '77', '2021-03-15 08:04:59', 0), ('Mskm1377_BB', '78', '2021-03-15 08:04:59', 1), ('Mskm1377_BB', '76', '2021-03-15 08:05:01', 0), ('Mskm1377_BB', '78', '2021-03-15 08:05:01', 0), ('Mskm1377_BB', '76', '2021-03-15 08:05:03', 1), ('Mskm1377_BB', '77', '2021-03-15 08:05:03', 1), ('Mskm1377_BB', '77', '2021-03-15 08:05:04', 0), ('Mskm1377_BB', '78', '2021-03-15 08:05:04', 1), ('Mskm1377_BB', '76', '2021-03-15 08:05:05', 0), ('Mskm1377_BB', '78', '2021-03-15 08:05:06', 0), ('Mskm1377_BB', '50', '2021-03-15 08:05:08', 753), ('Mskm1377_BB', '51', '2021-03-15 08:05:08', 754);
и где тут
NSERT INTO history (host, name, clock, value_str) VALUES ('Mskm', 'writtenKb', '2021-03-15 08:07:2 ?

это не тот запрос на который валится ошибка
источник

АВ

Александр Введенский... in ClickHouse не тормозит
валется на все... запросы. сейчас найду точный ответ
источник

АВ

Александр Введенский... in ClickHouse не тормозит
HTTP/1.1 400 Bad Request
Date: Mon, 15 Mar 2021 07:04:00 GMT
Connection: Keep-Alive
Content-Type: text/plain; charset=UTF-8
X-ClickHouse-Server-Display-Name: server.local.local
Transfer-Encoding: chunked
X-ClickHouse-Exception-Code: 62
Keep-Alive: timeout=3
X-ClickHouse-Summary: {"read_rows":"0","read_bytes":"0","written_rows":"0","written_bytes":"0","total_rows_to_read":"0"}

7B4
Code: 62, e.displayText() = DB::Exception: Syntax error: failed at position 45 ('Content') (line 2, col 1): Content-Disposition: form-data; name="query"

INSERT INTO history (host, name, clock, value_int) VALUES ('Mskm1377_BB', '77', '2021-03-15 08:04:52', 1),. Expected one of: ALTER query, Query with output, ALTER PROFILE, RENAME DATABASE, SHOW PRIVILEGES query, TRUNCATE, KILL, KILL QUERY query, SELECT query, possibly with UNION, list of union elements, ALTER ROLE, SELECT subquery, DESCRIBE query, SELECT query, subquery, possibly with UNION, SHOW GRANTS, SHOW CREATE, WATCH, CREATE SETTINGS PROFILE or ALTER SETTINGS PROFILE query, SHOW PROCESSLIST query, ALTER POLICY, ALTER USER, CREATE VIEW query, CHECK TABLE, SET ROLE, SELECT query, SELECT, REVOKE, CREATE USER, CREATE DICTIONARY, CREATE PROFILE, SET ROLE DEFAULT, EXPLAIN, ALTER SETTINGS PROFILE, SYSTEM, ALTER LIVE VIEW, RENAME TABLE, DROP query, SHOW ACCESS, OPTIMIZE query, USE, DROP access entity query, RENAME DICTIONARY, DETACH, SET, SHOW, DESC, OPTIMIZE TABLE, CREATE ROW POLICY, SET DEFAULT ROLE, CREATE POLICY, ALTER ROW POLICY, INSERT INTO, INSERT query, SHOW [TEMPORARY] TABLES|DATABASES|CLUSTERS|CLUSTER 'name' [[NOT] [I]LIKE 'str'] [LIMIT expr], GRANT, RENAME query, SHOW GRANTS query, SHOW PRIVILEGES, EXISTS, DROP, SYSTEM query, CREATE LIVE VIEW query, CREATE ROW POLICY or ALTER ROW POLICY query, CREATE QUOTA or ALTER QUOTA query, SHOW PROCESSLIST, ALTER QUOTA, CREATE QUOTA, CREATE DATABASE query, SET query, Query, CREATE, WITH, CREATE ROLE or ALTER ROLE query, EXTERNAL DDL FROM, EXCHANGE TABLES, EXISTS or SHOW CREATE query, WATCH query, REPLACE, CREATE ROLE, CREATE SETTINGS PROFILE, SET ROLE or SET DEFAULT ROLE query, CREATE USER or ALTER USER query, EXTERNAL DDL query, SHOW ACCESS query, SHOW CREATE QUOTA query, USE query, ATTACH, DESCRIBE, ALTER TABLE, ShowAccessEntitiesQuery, GRANT or REVOKE query, CREATE TABLE or ATTACH TABLE query (version 21.1.2.15 (official build))

0
источник

T

Tony in ClickHouse не тормозит
Здравствуйте, столкнулся с ошибкой
Estimated query execution time (20.000385017504023 seconds) is too long. Maximum: 20. Estimated rows to process: 305031168

хотя max_execution_time стоит 60
select * from system.settings where name='max_execution_time'
max_execution_time │ 60    │       1 │             │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │        0 │ SettingSeconds
источник