
Maksim
11.05.2017
13:07:34
возможно разумнее положить в fixed string 16 или fixed string + флаг на ipv4/ipv6?

Alexey
11.05.2017
13:08:15
Uint и функции типа IPv4NumToString и обратно
https://clickhouse.yandex/reference_en.html#Functions for working with IP addresses

Maksim
11.05.2017
13:09:13
у нас есть и ipv6

Google

Pavel
11.05.2017
13:10:01
мы раскладываем в отдельные столбцы - в4, в6 и флажок про протокол
разработчики подтверждали, что это ОК

Alexey
11.05.2017
13:10:26
ты хочешь в одном поле и то и то хранить?

papa
11.05.2017
13:10:49
у нас тоже uint32+fixedstring(16)

Maksim
11.05.2017
13:12:21
я просто планирую очередную миграцию структуры и это слегка беспокоит =)

prll
11.05.2017
13:58:40
почему бы не хранить все в ipv6 fixed string 16 а для ipv4 использовать стандартный префикс ::ffff:

Pavel
11.05.2017
14:00:51
есть IPv4 mapped on IPv6
и тогда невозможно отличить, го этой проблемой страдает, что хранит все в слайсе битово и хрен отличишь :/

Vladislav
11.05.2017
14:39:28
На тему PREWHERE. Не может быть такого, что при наличии достаточного большого числа записей удовлетворяющих выражению в PREWHERE, Clickhouse просто обходит все данные?
Нашёл кажется ответ — проблема была в index_granularity. PREWHERE, насколько я понимаю, грузит куски содержащие true не менее чем по index_granularity строчек (поправьте, если ошибаюсь). В случае, если записей много и они распределены равномерно по порядку сортировки первичного ключа, WHERE действительно не будет отличаться от PREWHERE. Если уменьшить index_granularity — различие появляется. :)

Dima
11.05.2017
19:48:47
/stat@combot

Google

Combot
11.05.2017
19:48:47
combot.org/chat/-1001080295593

Pavel
11.05.2017
20:12:32
А чего твиттер неживой?;(

f1yegor
11.05.2017
21:02:04
потому что русскоязычная аудитория не очень к твиттору?
но я пинал как мог, ты видел)

Alexey
11.05.2017
21:51:46
> А чего твиттер неживой?;(
Его завели на всякий случай, без конкретных планов по использованию. Сейчас мы ещё не начали его использовать.

Беслан
12.05.2017
08:08:41
Добро пожаловать, 666 участник)

Egor
12.05.2017
08:26:06
раз уж моё появление привлекло внимание... с точки зрения админа, есть ли какие-то интересные моменты в кликхаусе? или docker run и забыл?

Igor
12.05.2017
08:26:52
https://github.com/yandex/ClickHouse/blob/master/doc/administration/tips.txt

Alexander
12.05.2017
10:22:29
Коллеги, а есть в кликхаусе арифметическая (именно арифметическая, а не агрегатная функция), которая возвращает максимум двух значений
типо greatest в Oracle
http://oracleplsql.ru/greatest-function.html

Andrew
12.05.2017
10:24:46
https://clickhouse.yandex/reference_ru.html#greatest(a,%20b)

Alexander
12.05.2017
10:30:05
большое спасибо

f1yegor
12.05.2017
11:51:43
кто Superset пробовал. чем там все закончилось?

Vladislav
12.05.2017
11:53:25
а, ошибся. приняли уже

f1yegor
12.05.2017
11:54:20
не могу найти, какой?
https://github.com/airbnb/superset/pull/1844

Владимир
12.05.2017
12:07:18
Господа, такой вопрос - где кликхаус сервер хранит информацию о имеющихся базах и таблицах? Настроил в докер контейнере подключение папки /opt/clickhouse/data снаружи, создаю бд, создаю таблицы, они появляются в папке - но при пересоздании контейнера кликхаус перестаёт видеть эти папки, и ругается что базы данных нет, да и таблиц в ней тоже.

Igor
12.05.2017
12:07:36
/var/lib?

Pavel
12.05.2017
12:07:41
недавно поменяли дефалтное место хранения на /var/lib.

Igor
12.05.2017
12:07:45
в конфиге должно быть указано

Google

Владимир
12.05.2017
12:09:02
<!— Path to data directory, with trailing slash. —>
<path>/opt/clickhouse/</path>
Он создаёт по этому адресу папку с названием бд, и в ней папки с названиями таблиц, но при перезапуске контейнера не видит их

Igor
12.05.2017
12:10:21
примонтируйте как volume
иначе содержимое контейнера сбрасывается

Владимир
12.05.2017
12:10:47
Они так и примонтированы
Лежат на хост машине физически
Причём, если создать бд и таблицу заново, в ней видны старые значения
Нашёл, надо после старта сервера выполнить команду attach
причём, для каждой таблицы. С её полным описанием. Жесть.

Igor
12.05.2017
12:23:41
че-т это странно
как создаете/поднимаете контейнер?

Felixoid
12.05.2017
12:29:42
в противном случае нету папки metadata, в которой как раз и есть все create db, attach table

Владимир
12.05.2017
12:31:10
О, то есть, мне нужно только изменить монтирование папки?
Сейчас попробую, спасибо, а то я уже печалиться начал из за аттача
Контейнер перестал подниматься))
Если в volumes - ./clickhouse/data:/opt/clickhouse/data - всё работает. Если добавляю - ./clickhouse/metadata:/opt/clickhouse/metadata или заменяю на - ./clickhouse:/opt/clickhouse - exit 70

Alex
12.05.2017
13:03:59
Нужно монтировать именно /opt/clickhouse
А есть права на запись в директорию на хосте?
И ещё tmp_path в конфиге проверьте (должно быть /opt/clickhouse/tmp/).

Google

Aloneibreak
12.05.2017
13:23:48
добрый день
вопрос по JOIN
я правильно понимаю что он не работает по имени таблицы а только по подзапросу?

Igor
12.05.2017
13:24:44
в смысле?
имя таблицы указывать в родительском запросе бесполезно, да. можно столбцы переименовывать в правой таблице через подзапрос

Aloneibreak
12.05.2017
13:27:23
у меня просто при попытке приджойнить distributed таблицу ругается что такой нет в БД default
при этом при создании таблицы БД указана верно
например select ... from ... any inner join events using .... не работает. пишет нет таблицы default.events
select ... from ... any inner join stats.events using .... не работает. пишет нет таблицы stats.stats.events
но select ... from ... any inner join (select * from stats.events) using .... работает

Alex
12.05.2017
13:37:44
а если сделать GLOBAL JOIN?

Aloneibreak
12.05.2017
13:39:33
да, так работает. спасибо )

f1yegor
12.05.2017
13:57:48
как выбрать одно из ненулевый значений из двух колонок?

Vladimir
12.05.2017
13:58:57
Попробуйте использовать функцию if

Владимир
12.05.2017
14:52:25
Разобрался с контейнером. Если в папке metadata нет дефолтных папок - сервер умирает.

Igor
12.05.2017
14:55:52
а почему там нет дефолтных папок? о_О

f1yegor
12.05.2017
14:59:07
я заносил на это баг когда-то. вроде чинили

Владимир
12.05.2017
15:10:10
Там их не было, потому что я линковал внутрь пустую папку metadata, при первом создании контейнера

g00glle
12.05.2017
15:25:53
Добрый вечер, коллеги.

f1yegor
12.05.2017
15:29:20

Владимир
12.05.2017
15:33:33

f1yegor
12.05.2017
15:35:52
вы сейчас говорите что пытаетесь монтировать отдельно /opt/clickhouse/data/ & /opt/clickhouse/metadata, а не целиком /opt/clickhouse, или в новых сборках /var/lib/clickhouse ?

Владимир
12.05.2017
15:36:12
Я и так и так пытался)

f1yegor
12.05.2017
15:37:11
https://hub.docker.com/r/yandex/clickhouse-server/~/dockerfile/
т.е. у меня это выглядит docker run -d —name=clickhouse —net=host —restart=always -v /data/clickhouse/data:/opt/clickhouse -v /data/clickhouse/config:/etc/clickhouse-server yandex/clickhouse-server:1.1.54198

Владимир
12.05.2017
15:38:41
https://hub.docker.com/r/roistat/clickhouse/

f1yegor
12.05.2017
15:39:07
Last pushed: a year ago

Google

f1yegor
12.05.2017
15:39:31
используйте официальный image. он хороший
и новый)

Владимир
12.05.2017
15:39:45
Я вот этот образ брал, ну и конфиг компостера оттуда. Уже не помню, чём мне официальный не подошёл
Надо будет попробовать поднять официальный

f1yegor
12.05.2017
15:40:42
ну или свой собирайте на основе официального как тут https://github.com/crobox/docker-clickhouse

Sergey
12.05.2017
22:32:22
https://blog.cloudflare.com/how-cloudflare-analyzes-1m-dns-queries-per-second/

Maksim
12.05.2017
22:39:00
> it wasn’t possible to hot-swap just the faulty disks, and second the array rebuild took tens of hours which degraded I/O performance.
золотые слова
когда уже прекратят эти тормозные рейды пихать куда ни попадя

Pavel
12.05.2017
22:45:06
в этом плане важный момент, чтобы база сама корректно хендлила данный кейс
часто при сбое диска линукс встает колом и увы, продолжить работу корректно уже никак не выходит

Alexey
12.05.2017
23:28:36
Могут быть проблемы, в том числе и с рейдами тоже. Например, было пара случаев, когда файловая система повреждается, и в случайном месте readdir превращается в бесконечный цикл. Как правило, clickhouse-server всё-таки быстро перестаёт принимать запросы и запросы перестают идти на конкретный сервер. Также в последних ревизиях была добавлена функциональность отключения отстающих реплик при распределённых запросах, что позволяет быстрее убирать из нагрузки проблемные серверы.


g00glle
13.05.2017
05:55:49
ребят, доброе утро. только начал экспериментировать с ch, прошу терпеливо направить:
Нужно настроить перекладку записей из имеющейся продуктивной MS SQL базы в таблицу CH.
На данный момент хочу делать это раз в минуту (за 60 секунд в источнике генерируется ~19к строк).
После некоторого тюнинга запроса на MSSQL инстансе он выполняется за 15-30 секунд (приходится джойнить две толстые таблицы), в зависимости от загрузки сервера.
1 секунда уходит на складывание PIVOT-ом пары строк в одну вида [date],[timestamp_utc],[metric.1],[metric.2]
всё это генерируется на стороне MSSQL сервера - windows server.
Какие есть годные варианты, чтобы максимально быстро сложить результирующий CSV в таблицу CH?
Пока успел попробовать только передавать через web-морду по 1000 строк curl-ом - ооочень медленно.
Поглядел на Go либу - она вроде только через web работает..
Может, я невнимательно читал документацию и задачу записи через web-interface я мог бы распараллелить? Engine = MergeTree