
Igor
04.08.2017
07:51:19
(account, date, id)

Vladimir
04.08.2017
07:51:55
id порядка 2 тысяц
date 5-10
data вперед

Александр
04.08.2017
07:52:53
У меня сейчас в пк всего три колонки, дата в самом начале стоит, потом все остальное

Google

Vladimir
04.08.2017
07:53:28
дата это включая день или только месяц?
мне наверное тоже ее логично вначала поставить тк ее вариативность меньше чем у остальных

Александр
04.08.2017
07:54:07
Дата включя день
Все таки рекомендую вот эту статью почитать https://groups.google.com/forum/#!topic/clickhouse/eUrsP30VtSU. Алексей тут очень подробно рассказывает как работают ПК в КХ
Это даже не статья, а ответ )

Vladimir
04.08.2017
07:55:32
Спсб попробую сейчас. Но все таки разобраться в тем что у меня было до этого надо.
Иначе никакой гарантии что с новой схемой оно не помрет через какое-то время
пошел читать, спсб

Александр
04.08.2017
07:56:14
Это как напихать в мускуль 10 индексов и писать туда тонну данных и не понимать почему скорость вставки данных просела )

Vladimir
04.08.2017
07:56:44
Так понимаете было пы понятно если бы скорость просела
меня пугает что оно умерло вовсе
вставлять не дает
мержи не идут
опримизация не помогает

Google

Vladimir
04.08.2017
07:57:34
что в тако случае на проде делать?

Александр
04.08.2017
07:58:00
Просто получается так, что КХ после вставки нужно отсортировать данные по ПК и разложить в нужные партиции

Vladimir
04.08.2017
07:58:00
Я даже таблици дропнуть пол часа не мог
засыпало лог ошибками
ок

Александр
04.08.2017
07:58:21
И из-за того, что там таймштамп и порядка 40 миллионов строк вставляется за минуту, то операция достаточно тяжелая )

Vladimir
04.08.2017
07:58:33
я все понимаю, но ложиться без возможности восстановления не должно

Александр
04.08.2017
07:58:52
Это безусловно так, да )

Vladimir
04.08.2017
08:01:44
надеюсь мы поняли друг друга
я возможно неправильно использовал
неправильно сконфигурировал
при всем при этом 1 сервер работал как часы даже с временем в ключе без вопросов неделю
как только сделал кластер все поотваливалось
Так что я пока очень скептически отношусь к дате в ключе
И мне интересно неужели разработчикам КХ не итнересно почему 1 нода работает а 3-4 нет :)

Igor
04.08.2017
08:05:29
У многих тут кластера работают на ура

Tima
04.08.2017
08:05:33
"Так что я пока очень скептически отношусь к дате в ключе" - зря, это придумали разработчики CH, а им виднее

Vladimir
04.08.2017
08:06:07
Это все хорошо но объяснить почему работал 1 а не работают 4 в кластере никто не может

Tima
04.08.2017
08:06:33
Создайте в google group или на гитхабе CH описание проблемы, думаю тогда разработчики пояснят

Vladimir
04.08.2017
08:07:11
Хорошии совет спасибо
интерактивно конечно намного удобнее но видимо не получится
А можно как-то производительность синхронизации реплик увеличить?
А то вот это все время растет
queue_size: 1077
inserts_in_queue: 900
merges_in_queue: 177
сеть и процессор почти не загружены
queue_size: 3228
inserts_in_queue: 2684
merges_in_queue: 544
И все сдохло опять
Сейчас писал не в распределеннют таблицу а в локальные 4 через лоад балансер

Александр
04.08.2017
09:14:49
А структура таблицы поменялась?

Vladimir
04.08.2017
09:15:49
в этом тесте нет
5 мин назад запустил с такой структурой

Google

Vladimir
04.08.2017
09:15:49
CREATE TABLE IF NOT EXISTS measures
(
account UInt32,
id UInt32,
date Date,
timestamp UInt32,
value Float32,
tags Nested (
name UInt32,
value UInt32
)
) Engine = ReplicatedMergeTree('/clickhouse/tables/01/measures', '1',date, (date, account, id), 8192);
надо подождать теперь часа 2
в прошлый раз легло где-то через 2-2.5
сейчас вставляю обратно через распределенную таблицу

Oleg
04.08.2017
09:17:48
не поделитесь, как вы хотите выборки по tags делать? Это фулскан будет, т.к. они не могут быть в ключе.

Vladimir
04.08.2017
09:18:18
так запрос же есть вверху
филскана нет вроде как
по крайней мере запросы отрабатывают быстро
и кол-во обработанных строк говорит что не фулскан

Oleg
04.08.2017
09:19:21
м, ну имею ввиду если в запросе вообще не будет полей из 1 pkey или если запрос по pk все равно вернет тонну данных
или такого не будет
скажем получить все уник таги

Vladimir
04.08.2017
09:20:00
а вот без времени в ключе у меня будет все плохо с запросами походу
потому как придется 60 миллиардов строк сканить за день
мне такие запросы не надо
а так да они будут фулскан
я на это сознательно иду

Oleg
04.08.2017
09:21:07
понял, спс

Vladimir
04.08.2017
09:25:27
Тем кто советовал убрать время из ключа будет интересно наверное
было
2400 rows in set. Elapsed: 0.043 sec. Processed 3.17 million rows, 170.50 MB (73.01 million rows/s., 3.92 GB/s.)
стало
966 rows in set. Elapsed: 0.642 sec. Processed 16.49 million rows, 823.10 MB (25.67 million rows/s., 1.28 GB/s.)
Видно что просяду я неплохо по производительности, я бы даже сказал неприемлемо (кратно количество строк для сканирования возросло)

Александр
04.08.2017
09:32:34
А запрос какой?

Vladimir
04.08.2017
09:34:14
SELECT (avg(value)), toInt64(timestamp/60)*60 as granularity FROM Measures_Distributed where account=169 and id=109 and arrayElement(tags.value,indexOf(tags.name,4))=11724 and date>'2017-08-01' group by granularity order by granularity

Google

Vladimir
04.08.2017
09:34:45
+ таймстампы

Александр
04.08.2017
09:40:19
Только сейчас заметил, что в первом случае прочитано меньше строк
Попробуйте prewhere date > '2017-08-01'
и убрать date из where

Vladimir
04.08.2017
09:40:56
ок
SELECT (avg(value)), toInt64(timestamp/60)*60 as granularity FROM Measures_Distributed where account=169 and id=109 and timestamp>1501664400 and timestamp<1501837200 and arrayElement(tags.value,indexOf(tags.name,4))=11724 and date>'2017-08-01' group by granularity order by granularity
535 rows in set. Elapsed: 0.223 sec. Processed 8.17 million rows, 519.13 MB (36.62 million rows/s., 2.33 GB/s.)
SELECT (avg(value)), toInt64(timestamp/60)*60 as granularity FROM Measures_Distributed prewhere date>'2017-08-01' where account=169 and id=109 and timestamp>1501664400 and timestamp<1501837200 and arrayElement(tags.value,indexOf(tags.name,4))=11724 group by granularity order by granularity
535 rows in set. Elapsed: 0.267 sec. Processed 8.15 million rows, 518.63 MB (30.50 million rows/s., 1.94 GB/s.)
не помогло

Александр
04.08.2017
09:44:37
Ну как не помогло :) В 2.5 раза быстрее заработало )

Vladimir
04.08.2017
09:45:01
и на порядок медленней чем было со временем (учитываем что данных сейчас кот наплакал)

Александр
04.08.2017
09:45:06
И не совсем понимаю профита от toInt64(timestamp/60)*60

Admin
ERROR: S client not available

Vladimir
04.08.2017
09:46:30
это ни на что не влияет
осталось как мусор

Александр
04.08.2017
09:47:01
Оооо, я вижу там timestamp в where
Пропустил


Vladimir
04.08.2017
09:47:22
это плохо?
3 мин как остановлена вставка а колво все пляшет
ubuntu@pprod-spm-ch-3:/mnt/local$ for i in seq 3 5; do curl 'pprod-spm-ch-'$i':8123?query=select+count(*)+from+default.Measures_Distributed;'; done;
805047373
805047373
805047373
ubuntu@pprod-spm-ch-3:/mnt/local$ for i in seq 3 5; do curl 'pprod-spm-ch-'$i':8123?query=select+count(*)+from+default.Measures_Distributed;'; done;
805047373
805047373
811021532
ubuntu@pprod-spm-ch-3:/mnt/local$ for i in seq 3 5; do curl 'pprod-spm-ch-'$i':8123?query=select+count(*)+from+default.Measures_Distributed;'; done;
805047373
805047373
805047373
ubuntu@pprod-spm-ch-3:/mnt/local$ for i in seq 3 5; do curl 'pprod-spm-ch-'$i':8123?query=select+count(*)+from+default.Measures_Distributed;'; done;
811021532
805047373
805047373
ubuntu@pprod-spm-ch-3:/mnt/local$ for i in seq 3 5; do curl 'pprod-spm-ch-'$i':8123?query=select+count(*)+from+default.Measures_Distributed;'; done;
805047373
805047373
811021532
ubuntu@pprod-spm-ch-3:/mnt/local$ for i in seq 3 5; do curl 'pprod-spm-ch-'$i':8123?query=select+count(*)+from+default.Measures_Distributed;'; done;
805047373
805047373
805047373
Ппц, оно сойдетс или нет ваши ставки, ахаха
ubuntu@pprod-spm-ch-3:/mnt/local$ for i in seq 3 5; do curl 'pprod-spm-ch-'$i':8123?query=select+count(*)+from+default.Measures_Distributed;'; done;
811021532
805047373
805047373
ubuntu@pprod-spm-ch-3:/mnt/local$ for i in seq 3 5; do curl 'pprod-spm-ch-'$i':8123?query=select+count(*)+from+default.Measures_Distributed;'; done;
811021532
805047373
805047373


Павел Максимов
04.08.2017
10:00:37

Google

Павел Максимов
04.08.2017
10:00:38
Всем привет. Подскажите пожалуйста, в чем причина такой ошибки при установке? (ubuntu16)

Andrey
04.08.2017
10:01:11
Там вроде clickhouse-server-base если не ошибаюсь.
Посмотри в выводе apt search clickhouse-server

Tima
04.08.2017
10:01:51

Ilya
04.08.2017
10:01:58
Спецы по КХ, подскажите пожалуйста. Есть данные, у данных есть два поля, по которым хочется искать независимо друг от друга (иногда по первому полю, иногда по второму), искать хочется очевидно как можно быстрее.
Какую лучше использовать схему в КХ? Составной ключ врядли поможет. Делать 2 таблицы с разными primary keys и в итоге дублировать данные? Еще как-то?

Andrey
04.08.2017
10:03:17

papa
04.08.2017
10:03:49
если у вас два вида range запросов, то быстрее всего будет две таблицы. а вы пробовали хотя бы один вариант?
но вообще надо смотреть, какие данные, какие запросы. может вам проще две вьюхи сагрегиовать сразу.

Ilya
04.08.2017
10:04:52
сейчас две таблицы, всё летает, но смущает дублирование данных

Tima
04.08.2017
10:05:56
Покажите пример запросов

Ilya
04.08.2017
10:05:57

papa
04.08.2017
10:06:20
память дешевая, а геморрой дорогой.

Ilya
04.08.2017
10:10:20
Покажите пример запросов
SELECT
ftype,
count() AS c
FROM ...
WHERE vexists = 1
GROUP BY ftype
ORDER BY c DESC
такое например
в where может быть любое из двух интересующих полей

Tima
04.08.2017
10:11:35

Ilya
04.08.2017
10:12:08
Ззначит мы на верном пути :)
спасибо

Алекс
04.08.2017
10:16:00
/subscribe

Tima
04.08.2017
10:16:21

Ilya
04.08.2017
10:22:13
спасибо, посмотрю

Support
04.08.2017
10:25:06
Добрый день , может есть у кого TCP коннектор для php ?

Александр
04.08.2017
10:25:50

Igor
04.08.2017
10:28:21