
Ievgen
12.10.2018
03:39:29
between last и last - 24h ?

Денис
12.10.2018
03:39:58
изменил сообщение, забыл сортировку по времени

Google

Денис
12.10.2018
03:41:15
в мануале не нашел конструкции готовой для выборки последнего доступного дня

Ievgen
12.10.2018
03:42:28
походу про ласт это я вообще с потолка ) извиняюсь

Денис
12.10.2018
03:43:09
бывает)) не страшно, хоть кто-то ответил, уже приятно))))

Ievgen
12.10.2018
03:43:26
max походу а не last
нет под рукой консоли чтобы проверить что скажет select max(event_date)
потому что мне кажется что вот эту конструкцию select event_date from base where ... ORDER BY event_time DESC limit 1 как раз и можно поменять на max()

terry
12.10.2018
04:02:29
сделал зеркало документации
http://clickhouse.xyz
кому лень открывать впн и прокси)

Stanislav
12.10.2018
04:30:00
А что случилось с http://clickhouse.yandex ?

Денис
12.10.2018
04:32:45
Не подумал я чтото про эту функцию, а ещё математик называется)))))
SELECT * FROM base WHERE ... AND event_date = (select max(event_date) from base where ... )

Google

Денис
12.10.2018
04:38:09
хотя так выглядит изящнее

terry
12.10.2018
05:15:01

Stanislav
12.10.2018
05:16:01
А... Тады github в помощь, там тоже есть.

terry
12.10.2018
05:22:25

Konstantin
12.10.2018
08:35:15

Ivan
12.10.2018
09:07:46
можно закинуть pr со ссылкой вот сюда: https://github.com/yandex/ClickHouse/blob/master/docs/en/interfaces/third-party_client_libraries.md

Timur
12.10.2018
09:08:04

I
12.10.2018
09:11:20

Vladimir
12.10.2018
09:36:14

Denis
12.10.2018
09:36:17
да-да, не промоушен, а случайность)

Konstantin
12.10.2018
09:42:23
подскажите, можно ли в уже созданную таблицу добавить SAMPLE BY ?

Wolf
12.10.2018
09:45:55
НЕТ

Alexey
12.10.2018
10:47:23
@kshvakov Кирилл добрый день !
В продолжении нашего вчерашнего вечернего разговора, хотел уточнить.
У меня есть конфигурация в API:
[clickhouse]host(s)=10.10.10.83:9000, 10.10.10.88:9000, database=testdb, username=admin
[clickhouse][dial] secure=false, skip_verify=true, strategy=random, ident=1, server=0 -> 10.10.10.83:9000
[clickhouse][connect=1][hello] -> Golang SQLDriver 1.1.54213
[clickhouse][connect=1][hello] <- ClickHouse 18.10.54405 (UTC)
Когда приложения обращается к ClickHouse
оно всегда обращается на первую ноду
на вторую ноду ни разу не обратилось за 5 запросов
строка подключения такая:
click_house_conn = "tcp://10.10.10.83:9000?username=admin&password=password&debug=true&database=testdb&alt_hosts=10.10.10.88:9000"
Почему не ходит на вторую ноду ?
То что запросы всегда уходят на первую ноду проверил через tcpdump
Такое ощущение что по умолчание не random используется, а in_order

Google

Alexey
12.10.2018
10:52:48
сервер на котором расположено API телнетит обе ноды

Alexander Nairashvili
12.10.2018
10:53:48
Если мне не измеяет память, alt_hosts - отрабатывает, если первая нода перестала отвечать, чтобы устроить load balance нужен - балансер. прим chproxy
in_order - это про другое
это настройка проксирования запросов от distr_table в реплики одного и того же шарда

Alexey
12.10.2018
10:54:44
Вчера @kshvakov писал что
Драйвер сам умеет балансировать. Можно покрутить таймауты, но ситуация интересная, такое бывает, надо смотреть что у вас с сеткой.
я имею ввиду что он написал что драйвер сам умеет балансировать

Alexander Nairashvili
12.10.2018
10:56:30
может балансировка работает при параллельных запросах? а при последовательных - нет? мы никогда не наблюдали балансировку в этом драйвере, но у нас все запросы идут последовательно - батчами.

Kirill
12.10.2018
11:04:40
Почему не ходит на вторую ноду ?
На вторую пойдет в новом подключении - это либо параллельные запросы, либо если время жизни соединения закончилось (откроется второе к новой ноде)

Alexey
12.10.2018
11:06:23
Каждый раз какой бы тип балансировик не указывал в этой строке
[clickhouse][dial] secure=false, skip_verify=true, strategy=random, ident=1, server=0 -> 10.10.10.88:9000
стратегия всегда рандом
даже когда ставлю in_order
strategy=random - это тип балансировки ?

Kirill
12.10.2018
11:08:15

Alexey
12.10.2018
11:08:55
интересно почему независимо от того, что я прописываю, random или in_order всегда отображается рандом
может я не правильно указываю ?

Kirill
12.10.2018
11:09:19

Alexey
12.10.2018
11:09:26
&alt_hosts=10.10.10.88:9000&balancing=in_order"

Kirill
12.10.2018
11:11:18

Alexey
12.10.2018
11:11:33
Вот оно что, попробую сейчас спасибо !

Google

LeiDruid
12.10.2018
11:23:03
Товарищи, а как канонично вкатывать обновления схемы (добавление колонок) в ReplicatedMT ?
Distributed на них отсутствует

Alexey
12.10.2018
11:23:48

Wolf
12.10.2018
11:23:54
выкатываешь альетр тейбл адд колумн он кластер
потом удаляешь и создаешь снова дистрибьютед таблицу

Alexey
12.10.2018
11:24:34
@kshvakov Пуляю запросы через Postman в API, оно всегда кидает на первую ноду
Не зависимо от того, стоит random или in_order. Пробовал ждать 2 минуты между пулянием запроса в API. Складывается такое ощущение что хоть и указана стратегия рандом, оно всегда работает как in_order.
Только после выключение первой ноды, запросы пошли на вторую

LeiDruid
12.10.2018
11:24:45

Wolf
12.10.2018
11:26:04
ну а как без кластера может быть репликейтед ?

LeiDruid
12.10.2018
11:26:25
Так не нужен же кластер для реплики
Только ЗК

Alexey
12.10.2018
11:32:18
@kshvakov может в нашей версии драйвера (Golang SQLDriver 1.1.54213) некорректное поведение балансировщика ?

Wolf
12.10.2018
11:33:54

Kirill
12.10.2018
11:34:23

LeiDruid
12.10.2018
11:34:28

Alexey
12.10.2018
11:34:59
Попробую

Wolf
12.10.2018
11:34:59
кластер это просто описание в конфиге где у вас реплики лежат чтобы можно было онкластер сделать запросы в данном случае , хотя если у вас просто пара реплик то можно на одном запустить запрос на добавление и автоматом выполнится на второй реплике

LeiDruid
12.10.2018
11:36:10

Wolf
12.10.2018
11:36:40

LeiDruid
12.10.2018
11:37:02
Т.е на реплике повторять этот запрос не нужно ?

Alexey
12.10.2018
11:37:32
@kshvakov после выключения первой ноды, я ее включил, но запросы все идут все равно на вторую ноду. Вызвал паралельно выполнение нескольких запросов, все равно все выполняется только на второй ноде теперь.

Google

Wolf
12.10.2018
11:38:45

LeiDruid
12.10.2018
11:38:55

Wolf
12.10.2018
11:39:37
закройте и откройте соединение и будут разные ноды

Kirill
12.10.2018
11:39:41

Alexey
12.10.2018
11:40:52
У меня для тестов есть два запроса, один запрос выполняется 10 секунд, другой 1 секунду. Я сначала вызываю выполнение 10 секундного запроса, а потом 5 раз выполняю запрос который выполняет по 1 секунде
Все я понял
спасибо
наши разработчики сказали что они держат открытым соединение после выполнения запроса

Wolf
12.10.2018
11:44:55
ну это и правильно , надо по таймауту раз в пять минут скажем прерывать его

Alexey
12.10.2018
11:45:09
А это зачем ?

Denis
12.10.2018
11:45:34
так если 2 реплики, не логичнее ли пул из 2 соединений держать?
а прерывать - какой смысл? на другую ноду перейти?

Alexey
12.10.2018
11:47:30
Я думаю смысла прерывать нет
2 ноды только на одном стейджинге
есть где 4 ноды

Kirill
12.10.2018
11:48:19