Size: a a a

ClickHouse не тормозит

2020 July 09

НК

Николай Кляшторный... in ClickHouse не тормозит
Dj
запустите с send_logs_level='trace' и покажите че там интересного
спасибо за наводку. видимо у нас с партицированием проблема. он все партиции вычитывает. будем копать дальше
источник

D

Dj in ClickHouse не тормозит
Николай Кляшторный
спасибо за наводку. видимо у нас с партицированием проблема. он все партиции вычитывает. будем копать дальше
Он и должен их все читать пока не прочтет 10 строк.
источник

НК

Николай Кляшторный... in ClickHouse не тормозит
В основном мне надо выполнять два типа запроса часто и быстро:

select * from table where a_id = <value> order by datetime desc limit <number>
(последние <number> записей, принадлежащие a_id)

select * from table order by datetime desc limit <number> (последние <number> записей)

я так понимаю что лучше для каждого запроса создать свое материализированное представление со своей сортировкой: одно по a_id, datetime, второе только по datetime. верно?
источник

V

Vitaly in ClickHouse не тормозит
Добрый день, подскажите можно ли удалить из metadata и data файлы Таблицы  при работающем clickhouse, потом ее создать  с помощью create table?нужно пересоздать replicated таблицу о которой нет информации в zookeeper, drop table падает с ошибкой.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Николай Кляшторный
В основном мне надо выполнять два типа запроса часто и быстро:

select * from table where a_id = <value> order by datetime desc limit <number>
(последние <number> записей, принадлежащие a_id)

select * from table order by datetime desc limit <number> (последние <number> записей)

я так понимаю что лучше для каждого запроса создать свое материализированное представление со своей сортировкой: одно по a_id, datetime, второе только по datetime. верно?
Кх плохо подходит для этого. Может mysql ?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Vitaly
Добрый день, подскажите можно ли удалить из metadata и data файлы Таблицы  при работающем clickhouse, потом ее создать  с помощью create table?нужно пересоздать replicated таблицу о которой нет информации в zookeeper, drop table падает с ошибкой.
detach тоже не работает?
источник

НК

Николай Кляшторный... in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
Кх плохо подходит для этого. Может mysql ?
Спасибо, будем экспериментировать.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Антон Куляшов
Всем привет. Подскажите пожалуйста, почему может не аттачится партишн?
SELECT *
FROM system.detached_parts
LIMIT 1

┌─database─┬─table─┬─partition_id─┬─name────────────────────┬─disk────┬─reason───┬─min_block_number─┬─max_block_number─┬─level─┐
│ test    │ foo │ 20181219     │ 20181219_20181219_0_1_1 │ default │ 20181219 │                0 │                1 │     1 │
└──────────┴───────┴──────────────┴─────────────────────────┴─────────┴──────────┴──────────────────┴──────────────────┴───────┘


Делаю аттач
ALTER TABLE test.foo
   ATTACH PARTITION ID '20181219'


Ok.

0 rows in set. Elapsed: 0.001 sec.

А он из detached не уезжает. Что я делаю не так?
В лоое кх надо смотреть
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Yuri Alexandrovich
Привет, создаем временную таблицу. Движок memory. Заполняем данными, дропаем таблицу. Бывает проскакивает ошибка, что ошибка дропа таблицы не существует.
temporary table? Они живут с сессией. По дефолту session idle timeout 60s
источник

YA

Yuri Alexandrovich in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
temporary table? Они живут с сессией. По дефолту session idle timeout 60s
Нет, это с Engine Memory
источник

V

Vitaly in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
detach тоже не работает?
Работает
источник

D

Dj in ClickHouse не тормозит
Николай Кляшторный
В основном мне надо выполнять два типа запроса часто и быстро:

select * from table where a_id = <value> order by datetime desc limit <number>
(последние <number> записей, принадлежащие a_id)

select * from table order by datetime desc limit <number> (последние <number> записей)

я так понимаю что лучше для каждого запроса создать свое материализированное представление со своей сортировкой: одно по a_id, datetime, второе только по datetime. верно?
нифига вы конечно "упростили" объяснение изначально, не надо так больше делать...

в вашем случае если дат не прям много, и можно трогать запросы можно сделать индекс типа
toDate(datetime)/toYYYYMM(datetime), a_id
держать партиционирование по датам
во втором запросе делать order by toDate(datetime)/toYYYYMM(datetime) desc


можно так же сделать аггрегированный МВ который будет содержать
date, a_id, cnt()

сначала смотреть туда первым запросом, и уже потом отсекать партиции по дате
источник

D

Dj in ClickHouse не тормозит
Николай Кляшторный
Спасибо, будем экспериментировать.
а вообще да, возьмите любую базу где есть обычные битри индексы...
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Vitaly
Работает
ну вот detach / rm на  диске
источник

PL

Piotr Liakhavets in ClickHouse не тормозит
Привет
подскажите как обойти:
clickhouse-client -mn
ClickHouse client version 20.4.3.16 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 20.4.3 revision 54434.

fsn1-prod-bb-st01.etrigan.net :) SHOW GRANTS;

SHOW GRANTS

┌─GRANTS─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ GRANT ALTER, CREATE, DROP, INSERT, INTROSPECTION, KILL QUERY, OPTIMIZE, SELECT, SHOW, SOURCES, SYSTEM, TRUNCATE, dictGet ON *.* TO default │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

1 rows in set. Elapsed: 0.001 sec.

fsn1-prod-bb-st01.etrigan.net :) SHOW QUOTA USAGE;

SHOW QUOTA USAGE

Received exception from server (version 20.4.3):
Code: 497. DB::Exception: Received from localhost:9000. DB::Exception: default: Not enough privileges. To execute this query it's necessary to have the grant SHOW QUOTAS ON *.*.

0 rows in set. Elapsed: 0.004 sec.


* юзеры - по старинке заведены через users.xml
** текущий юзер всегда был без ограничений
*** пробовал себе же грант - не прокатывает:
fsn1-prod-bb-st01.etrigan.net :) grant SHOW QUOTAS ON *.* TO CURRENT_USER;

GRANT SHOW QUOTAS ON *.* TO CURRENT_USER

Received exception from server (version 20.4.3):
Code: 497. DB::Exception: Received from localhost:9000. DB::Exception: default: Not enough privileges. To execute this query it's necessary to have the grant SHOW QUOTAS ON *.* WITH GRANT OPTION.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Yuri Alexandrovich
Нет, это с Engine Memory
в логе КХ надо смотреть, может у вас дроп два раза посылается
источник

V

Vitaly in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
ну вот detach / rm на  диске
Спасибо, получилось
источник

YA

Yuri Alexandrovich in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
в логе КХ надо смотреть, может у вас дроп два раза посылается
Спасибо, посмотрим
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Piotr Liakhavets
Привет
подскажите как обойти:
clickhouse-client -mn
ClickHouse client version 20.4.3.16 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 20.4.3 revision 54434.

fsn1-prod-bb-st01.etrigan.net :) SHOW GRANTS;

SHOW GRANTS

┌─GRANTS─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ GRANT ALTER, CREATE, DROP, INSERT, INTROSPECTION, KILL QUERY, OPTIMIZE, SELECT, SHOW, SOURCES, SYSTEM, TRUNCATE, dictGet ON *.* TO default │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

1 rows in set. Elapsed: 0.001 sec.

fsn1-prod-bb-st01.etrigan.net :) SHOW QUOTA USAGE;

SHOW QUOTA USAGE

Received exception from server (version 20.4.3):
Code: 497. DB::Exception: Received from localhost:9000. DB::Exception: default: Not enough privileges. To execute this query it's necessary to have the grant SHOW QUOTAS ON *.*.

0 rows in set. Elapsed: 0.004 sec.


* юзеры - по старинке заведены через users.xml
** текущий юзер всегда был без ограничений
*** пробовал себе же грант - не прокатывает:
fsn1-prod-bb-st01.etrigan.net :) grant SHOW QUOTAS ON *.* TO CURRENT_USER;

GRANT SHOW QUOTAS ON *.* TO CURRENT_USER

Received exception from server (version 20.4.3):
Code: 497. DB::Exception: Received from localhost:9000. DB::Exception: default: Not enough privileges. To execute this query it's necessary to have the grant SHOW QUOTAS ON *.* WITH GRANT OPTION.
на пользоватлей из xml это все не работает. Они через xml управляются
источник

PL

Piotr Liakhavets in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
на пользоватлей из xml это все не работает. Они через xml управляются
в xml вроде нет ограничений (только сеттинги в секции profile типа макс. память и логгинг запросов)

т.е. каким-то образом того-же юзера default завели через новую механику create user ... ?

* при поппытках селекта в system.quotas и system.quota_usage - тот же эксепшен
источник