
Dmitry
28.06.2018
12:46:49

Michal
28.06.2018
12:47:58

lalex
28.06.2018
12:48:44

Dmitry
28.06.2018
12:49:02
Спасибо!

Google

Vadim
28.06.2018
12:49:36
select * from (select 'asd' as a, 'sd' as postfix) where a like concat('%', postfix)

Alexander
28.06.2018
12:50:25

Dmitry
28.06.2018
12:51:53

Dmitry
28.06.2018
12:52:45

Andrew
28.06.2018
12:53:22

Vadim
28.06.2018
12:56:29

Ievgen
28.06.2018
13:00:38
Всем привет, я мог пропсутить, обсуждался ли вопрос апгрейда версии сервера в рамках шарда? Есть ли какой то best practice? Единственное что я нашел это https://groups.google.com/forum/#!topic/clickhouse/7Z9o4BBj8VE
To do upgrade, just install new package and restart clickhouse-server.
To do upgrade on cluster without downtime, install new package everywhere, then restart on half of replicas, then on another half.
Но обсуждение достаточно старое, может есть более свежее что то?

Wolf
28.06.2018
13:01:21
ну все таки осталось
собственно реплики друг с другом не работают если разные версии
а шардам друг на друга пофиг все работает

Alexey
28.06.2018
13:02:17
при изменении uncompressed_cache_size и mark_cache_size надо рестартить кх? при этом в config-preprocessed.xml значения поменялись

Ievgen
28.06.2018
13:04:33

Kirill
28.06.2018
13:04:44

Google

Wolf
28.06.2018
13:05:06

Alexey
28.06.2018
13:05:15
Надо
при периодических ошибках
ZooKeeper session has expired. Switching to a new session.
DB::Exception: Table is in readonly mode
куда копать? нагрузка мизерная, зукиперы на тех же тачках
у zk при этом:
2018-06-28 14:40:43,673 [myid:1] - WARN [RecvWorker:3:QuorumCnxManager$RecvWorker@1025] - Connection broken for id 3, my id = 1, error =
java.net.SocketException: Connection timed out (Read failed)

Kirill
28.06.2018
13:11:56

Alexey
28.06.2018
13:12:47
у нас на основном класетере 8 тачек и 7 зк, но такое тодже периодически случается
но зк на тех же тачках находятся

Kirill
28.06.2018
13:20:14
Да, лучше убирать

Vladimir
28.06.2018
13:55:26
ребята, подскажите пожалуйста, я тут пытаюсь компилить clickhouse на mac os,
на этапе Build Clickhouse после cmake вызываю ninja, у меня выскакивается ошибку
ninja: error: loading 'build.ninja': No such file or directory
может у кого-то была похожая проблема ?

Constantin
28.06.2018
14:04:18

Vladimir
28.06.2018
14:07:22

GithubReleases
28.06.2018
14:17:54
yandex/ClickHouse was tagged: v1.1.54388-stable
Link: https://github.com/yandex/ClickHouse/releases/tag/v1.1.54388-stable
Release notes:
v1.1.54388-stable

Vladimir
28.06.2018
14:19:38
Уууу, еще changelog бы где-нить глянуть

Tima
28.06.2018
14:20:01

Vladimir
28.06.2018
14:20:16
благодарю

Nikita
28.06.2018
14:22:04
Привет всем, кто-нибудь пользуется не стандартный партицированнием? Не в месяц, а например в один день? Я так понимаю так делать нельзя так как ничего не будет сжиматься нормально?

Wolf
28.06.2018
14:23:16
да все будет сжиматься

Tima
28.06.2018
14:23:18

Google

Wolf
28.06.2018
14:23:21
почему не будет то ?

Nikita
28.06.2018
14:24:04

antuan
28.06.2018
14:25:20
мы бьем по неделе, степень сжатия нас устраивает

Kirill
28.06.2018
14:25:21

Tima
28.06.2018
14:25:23
Партиция - некий логический кусок данных, на которые побита таблица

Kirill
28.06.2018
14:32:32
Спорное утверждение, всё зависит от данных
Ничего спорного, в любом случае на партиции в месяц данные будут пожаты лучше чем в 30 по дню. Плюс и сортировка данных и индексирование тоже идет в рамках партиции, я к тому что нужно сильно понимать зачем менять стандартный размер партиции перед тем как это делать, этож как index_granularity крутить )

Tima
28.06.2018
14:37:03

Kirill
28.06.2018
14:38:11

Tima
28.06.2018
14:42:25
А у вас не сохранилось данных в КХ? Было бы интересно посмотреть файлы за один и тот же месяц при партиционирование по месяцу и по дню. Что там с размерами индекса например

Kirill
28.06.2018
14:43:12
На размер индекса это не будет сильно влиять

Michal
28.06.2018
14:44:00

Kirill
28.06.2018
14:44:02
Данных у нас в КХ много, но месяц сливать очень долго чтоб посмотреть

Michal
28.06.2018
14:47:06

Tima
28.06.2018
14:48:14

Kirill
28.06.2018
14:49:12

Diomid
28.06.2018
14:49:25

Michal
28.06.2018
14:49:48
Из замеченных (довольно неприятных) особенностей дневного партиционирования - это медленный старт сервера.

Nik
28.06.2018
14:49:54

Google

M
28.06.2018
14:49:57

Diomid
28.06.2018
14:52:24
Я ожидал просто DELETE видимо)
А реплицированных таблиц это ReplicatedMergeTree тоже?

Kirill
28.06.2018
14:52:47

Ievgen
28.06.2018
14:53:29
мм ну как практика показала при апгрейде одной реплики 1.1.54362 ==> 1.1.54385 репликация с более новой на более старую версию продолжает бежать, само по себе ничего не останавливается

Michal
28.06.2018
14:53:37

Nikita
28.06.2018
14:55:54

Kirill
28.06.2018
14:56:21
Если вы за год/два выбираете это будет очень сильно заметно с партициями по дню ;)


Michal
28.06.2018
14:58:38
Т.е. если у вас типичные запросы за месяц - то и партиционирование делайте по месяцах.
Дополнительное соображение: партиции в кликхаус - это минимальные элементы с которыми можно производить всякие манипуляции - удалять, отключать, подключать, оптимизировать, чистить колонки.
Ещё у нас некоторые колонки весьма большие и очень быстро устаревают (в течение нескольких дней храним json со всякими подробностями, что-то типа телеметрии для отладки) ну и дневные партиции позволяют легко и безболезненно эти ненужные данные удалять с опозданием в -3 дня.

Kirill
28.06.2018
15:53:57

Jen
28.06.2018
15:58:09
Джентельмены, у вас в доке написано, что движок MergeTree из tab-separated дампа тянет на запись 50-200МБ/сек, чем это обусловлено?
Хочу посчитать, сколько серверов мне нужно в кластере, если я знаю количество строк в секунду, их средний размер и производительность дисковой подсистемы, а вставка будет идти через jdbc драйвер.

yuyu
28.06.2018
15:59:00
А как реализована поддержка Alias в запросах: alias вычисляется единожды или при каждом использовании в выражениях?
Сколько раз будет вычислен 'A' в таком select, например:
SELECT (1+2 as A) + 3 AS B, A+B AS C

Kirill
28.06.2018
16:00:19
Джентельмены, у вас в доке написано, что движок MergeTree из tab-separated дампа тянет на запись 50-200МБ/сек, чем это обусловлено?
Хочу посчитать, сколько серверов мне нужно в кластере, если я знаю количество строк в секунду, их средний размер и производительность дисковой подсистемы, а вставка будет идти через jdbc драйвер.
Зависит от количества колонок и их типа/размера. Посчитать будет несколько сложно, так как дисковая система, да и сам сервер будут нагружены неравномерно, те же мержи могут афектить. Проще накидать тастовых даных в сервер и посмотреть, а гадать тут относительно сложно

Denis
28.06.2018
16:31:05
Кстати, кто-нибудь пробовал ?
https://github.com/housepower/ClickHouse-Native-JDBC
This is a native JDBC library for accessing ClickHouse in Java.
Uses native ClickHouse tcp client-server protocol, with higher performance than HTTP
Compatibility with java.sql
Data Compression

Alexander
28.06.2018
16:33:40
приходи

Google

Гаврилов
28.06.2018
16:35:06
а на сколько быстрее будет по нативному протоколу?
если передача данных не большая

Wolf
28.06.2018
16:45:35
если небольшая то и разница будет не большой

Kirill
28.06.2018
19:25:43
а на сколько быстрее будет по нативному протоколу?
Там даже дело не столько в скорости, а в том что данные уже "подготовлены" и сервер не тратит ресурсы на преобразование типов, все это можно вынести в пишущий воркер. По скорости - да, быстрее, но все зависит от того что пишите

Vasilij
29.06.2018
07:12:47
Эх, теперь бы ещё документацию актуальную :)

Victor
29.06.2018
07:13:49
будет и дока, оно всё закоммичено

Vasilij
29.06.2018
07:14:16

Victor
29.06.2018
07:14:51
я по диффам смотрел, все ок

Дмитрий
29.06.2018
08:08:40
Господа вопрос про дату/время. Данные вставляются через параметры ADO.NET и интерпретируются как UTC. В запросе toDateTime('yyyy-MM-dd HH:mm:ss') через тот-же провайдер интерпретируются как локальные в таймзоне сервера... Как добится консистентного предсказуемого поведения? Как-нить можно в toDateTime передавать таймзону дабы не зависить от настроек клиента/сервера?

Yaroslav
29.06.2018
08:15:28
Дополнительно, функция toString от аргумента типа DateTime может принимать второй аргумент String - имя тайм-зоны. Пример: Asia/Yekaterinburg В этом случае, форматирование времени производится согласно указанной тайм-зоне.
SELECT
now() AS now_local,
toString(now(), 'Asia/Yekaterinburg') AS now_yekat
┌───────────now_local─┬─now_yekat───────────┐
│ 2016-06-15 00:11:21 │ 2016-06-15 02:11:21 │

Дмитрий
29.06.2018
08:27:47
мне не форматировать. мне сформировать sql-запрос вида select * from tableName where dt>=toDateTime('bla-bla-bla') чтобы этот bla-bla-bla интепретировался как мне надо а не как админ на сервере таймзону выставил

Vladimir
29.06.2018
08:43:17

Дмитрий
29.06.2018
08:44:27
а список локалей ('Asia/Yekaterinburg') где взять???
какая локаль для UTC?

Stanislav
29.06.2018
08:45:18
локали - в /usr/share/zoneinfo
А UTC он и есть UTC (не путать с GMT!)

Vladimir
29.06.2018
08:48:32
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones