
Wolf
04.04.2018
16:00:54
ну либо разнести просто в шард на несколько мелких серверов как у нас например сделано
ну а как вы на один хдд диск положили 30 тб ?

Kirill
04.04.2018
16:01:46
пока никак, я пытаюсь понять смогу ли я масштабировать чтение количеством дисков

Wolf
04.04.2018
16:02:19
ну больше шпинделей больше иопсов

Google

Kirill
04.04.2018
16:09:01
да, но я не могу быть уверен, что при увеличении количества дисков оно станет работать быстрее, потому что не знаю как оно там внутри у себя сериализует запросы, какие локи держит и какое отношение последовательного кода к параллельному
фича ж даже официально не поддерживается пока что

Wolf
04.04.2018
16:12:22
Очень параллельно на чтение все
Несколько шардов все таки лучшее решение

Kirill
04.04.2018
16:13:46
несколько шардов будет, просто не хотелось бы масштабироваться тазами с одним диском на борту)

LeiDruid
04.04.2018
16:15:45
Напомните, пожалуйста, как сделать так, чтобы при репликации набор данных в момент времени на всех репликах был одинаков?

Wolf
04.04.2018
16:17:05

Jen
04.04.2018
16:17:23

Wolf
04.04.2018
16:17:48
Каждый шард будет выполнять часть задача абсолютно параллельно по сути н шардов будет в н раз быстрее

Kirill
04.04.2018
16:19:36
да, я понимаю, что можно сделать n шардов, можно сделать RAID, но мой изначальный вопрос не "что делать в такой ситуации", а "является ли решение N решением"

Wolf
04.04.2018
16:20:21
Не является там же логарифмическая зависимость на обычных хдд , можно больше получить на час 15к оборотов
На сас
А как вы определили что у вас 30 Тб в сжатом виде?

Kirill
04.04.2018
16:26:05
А как вы определили что у вас 30 Тб в сжатом виде?
я залил около 10млрд псевдослучайных строк в кликхаус, посмотрел, сколько получилось, экстраполировал на тот срок за который у меня уже есть данные
ну и в другой БД оно занимает 30ТБ в пожатом lz4-ом виде

Google

Kirill
04.04.2018
16:26:40
разумеется, оценка в 30ТБ не претендует на точность, но порядок вряд ли будет другой

Andrew
04.04.2018
16:26:50
А другая БД это кто?

Kirill
04.04.2018
16:27:08
самописное)

Wolf
04.04.2018
16:28:32
На таких данных конечно и скорость и сджатие будут минимальными

Kirill
04.04.2018
16:29:49
ну более менее из распределения имеющихся
но генеренные

Wolf
04.04.2018
16:30:19
Вероятно просто кликхаус не ваш вариант

Kirill
04.04.2018
16:31:19
почему?

Wolf
04.04.2018
16:33:02
Ну данные у вас не такие как он любит

Kirill
04.04.2018
16:34:27
а как вы поняли, какие там данные?
там что-то вроде событий, какие то события случаются сильно чаще, какие то очень часто идут подряд одинаковые
просто их много

Wolf
04.04.2018
16:39:13
Ну вы не даете нам понять от этого так и происходит ) загадка без вводных всегда сложно
ну и запросы чистый селект данных не юзкейс кликхауса

Kirill
04.04.2018
16:43:45
time series события с малым количеством колонок, низкой энтропией, рпс на запись в среднем 25к, на чтение <<, уже есть данные за 5 лет

Wolf
04.04.2018
16:45:33
ну покажите пример пару строчек это всегда лучше чем много слов и догадки , мало колонок тоже не айс для кх

Kirill
04.04.2018
16:53:20

Tima
04.04.2018
16:54:30

Kirill
04.04.2018
16:55:15

LeiDruid
04.04.2018
16:56:24
спасибо

Kirill
04.04.2018
16:56:32

Google

Tima
04.04.2018
16:57:20

Kirill
04.04.2018
16:57:27

Evgeny
04.04.2018
16:58:14
в English документации небольшое расхождение в тексте с дефолтным значением пути до данных (`/opt/clickhouse/data/default/
/opt/clickhouse/metadata/default/) хотя сейчас данные по умолчанию в /var/lib/...`

Oleg
04.04.2018
17:02:17
/stat@combot

Combot
04.04.2018
17:02:17
combot.org/chat/-1001080295593

Tima
04.04.2018
17:07:59

Kirill
04.04.2018
17:08:27


Denis
04.04.2018
17:43:51
Есть одна тачка с одним инстансом КХ, одна большая табличка (порядка 10^9 строк), один HDD, движок MergeTree. Данные каждый раз читаются с диска, не из кэша. Запрос вида SELECT col1, ..., coln FROM SomeTable ... . Запрос на чтение одним клиентом одновременно отрабатывает за 100ms, двумя -- каждый по 200ms, ..., n -- каждый по n*100ms, ...
1. Можно ли при совершении n конкурентных запросов заставить отвечать первому клиенту за 100ms, второму за 200ms, ..., n-ному за n*100ms, ...?
2. Пусть данные хранятся на разных дисках, осуществляется несколько конкурентных запросов, каждый к своему диску. Насколько сильно эти запросы будут влиять на время выполнения друг друга?
3. Есть ли продвижение по "Store data at multiple disk volumes of a single server" (https://www.altinity.com/blog/2018/1/8/clickhouse-roadmap-2018)
вам просто запросы надо в очередь выстроить? chproxy ?
# Enable requests queueing - chproxy will queue up to max_queue_size
....

Kirill
04.04.2018
18:53:01

Anton
04.04.2018
19:15:40
Меня сегодня позабавило другое, если физически нет default database кластера из конфига, то ломается Distributed с напрямую указанными именами бд :-)
Я подумывал так защититься от ошибок создания таблиц on cluster без прямого указания бд, но видимо не судьба

Dmitriy
04.04.2018
19:21:47
Подскажите в чем может быть дело: полгода бесперебойно работал сервер КХ, Вдруг невозможно приконектиться, но сервер работает, работу делает, логи пишет. Рестарт сервиса помог

Daniel
04.04.2018
19:23:23
OOM
или был достигнут лимит на подключения, как вариант

Dmitriy
04.04.2018
19:25:46
Все подключения исправно закрываются, да и странно что за все время не возникало такой проблемы. И оом не убил бы процесс?

Daniel
04.04.2018
19:28:24
убил бы, но если у вас systemd мог подняться сам
я бы ещё проверил сеть к серверу - может, в ней дело было

Dmitriy
04.04.2018
19:29:19
Локально пытался конектится, не давало.
Рестарт помог, а поднялся после убийства процесса не помогло, тоже странно

Daniel
04.04.2018
19:30:03
смотрите что в syslog/ messages системных

Dmitriy
04.04.2018
19:30:24
Спасибо, посмотрю

Google

Daniel
04.04.2018
19:31:20
и ещё - у вас уровень логирования стандартный? просто стандартный логирует все запросы, и в случае недоступности дисковой подсистемы неизвестно, дал бы вообще совершить операцию, подлежащую логированию

Dmitriy
04.04.2018
19:31:54
Да, стандартный

Daniel
04.04.2018
19:34:47
рекомендую поменять на warning
<logger>
<level>warning</level>
...
</logger>
если стандартный - то есть trace, то анализируйте логи CH - их будет достаточно)
может быть что угодно. в моей практике был случай, когда на сервере линки резервировались бондингом и ucarp, и при переключении на резервный линк из-за неправильной настройки обеспечивающих резервироание сервисов не работал и локалхост до переключения обратно на мастер линк.

Dmitriy
04.04.2018
19:37:42
Спасибо, буду рыть в логах

Wolf
04.04.2018
19:38:44
ну и можно посмотреть просто dmesg там оом всегда есть

Stannis
05.04.2018
00:41:16
Други
А можно в clickhouse ужимать данные?
Наподобе aggregation, другими словами аггрегировать данные спустя какое-то время. Думаю, что мало кому нужны данные годичной давности с точности до 5 минут

Kirill
05.04.2018
03:36:12

Гаврилов
05.04.2018
05:50:38
у меня ReplacingMergeTree перестала мержить данные
ни автоматом ни через OPTIMIZE table
если добавить final то возвращает нормально
но всеравно не мержит

Alexey
05.04.2018
05:51:57
Напишите
SET optimize_throw_if_noop = 1;
и запустите OPTIMIZE.
Он напишет, почему не хочет мержить.

Гаврилов
05.04.2018
05:53:24
Code: 388. DB::Exception: Received from localhost:9000, ::1. DB::Exception: There are no need to merge parts according to merge selector algorithm.

Alexey
05.04.2018
05:54:01
Значит мержить слишком рано.

Гаврилов
05.04.2018
05:54:20
но у меня select count(*) from table возвращает цифру больше чем select count(*) from table final
уже 4 дня прошло
как перестало мержить
сервер перезапускал
место свободное есть

Google

Гаврилов
05.04.2018
05:55:01
ночью нагрузки нет вообще
а смержится должно примерно половина таблицы

Alexey
05.04.2018
05:55:59
Фоновый мерж выполняется согласно некоторой эвристике, которая позволяет сэкономить количество перезаписи данных - если есть несколько кусков неравномерного размера, то он предпочитает подождать появления новых данных, а только потом мержить, вместо того, чтобы домерживать до конца.
Можно форсировать мерж с помощью
OPTIMIZE TABLE ... PARTITION ... FINAL

Гаврилов
05.04.2018
05:57:46
а не планируется сделать optimize final для таблицы целиком?

Alexey
05.04.2018
05:58:33
Нет.

Гаврилов
05.04.2018
06:08:26
кинул новую порцию дублей, он начал мержить
но в итоге недомержилось 5 записей
и даже OPTIMIZE TABLE ... PARTITION ... FINAL
не убрал эти 5 записей

Yuri
05.04.2018
06:23:48
у меня вот есть неодолимое желание получить шардинг в КХ, но без явовского зукипера. а есть где-то спеки, чего нам "напихонировать" , чтобы наступило счастье?

Wolf
05.04.2018
06:24:26
шардинг к зукиперу не имеет отношения
в зукипере только репликация

Гаврилов
05.04.2018
06:24:50
Движок MergeTree поддерживает индекс по первичному ключу и по дате и обеспечивает возможность обновления данных в реальном времени.
а давно так стало?

Wolf
05.04.2018
06:24:58
шардинг весь в конфиге и названии дистрибьютед таблицы настраивается

Гаврилов
05.04.2018
06:25:06
именно часть про обновление в реальном времени

Yuri
05.04.2018
06:28:10