@clickhouse_ru

Страница 499 из 723
Kirill
17.04.2018
08:19:38
Насчет внешнего источника для пользователей я не в курсе, может быть @milovidov_an что-то знает, но, я не думаю что Яндексу это очень нужно. Понятно что LDAP, например, нужен корпоративным пользователям, а если нужен то это только вопрос времени насколько быстро и в каком виде он появится (и кто его сделает). Сейчас, насколько мне известно, только Altinity выступает как сторонняя компания занимающаяся КХ, может еще кто-то есть и, скорее всего, инициатива должна исходить оттуда.

Slava
17.04.2018
08:20:22
спасибо за ответ

Гаврилов
17.04.2018
09:36:09
а не подскажете, как можно сделать distinct с or

типо

Google
Гаврилов
17.04.2018
09:36:09
select count(distinct A or B) from table

papa
17.04.2018
09:36:37
uniq()

Александр
17.04.2018
09:36:56
Столкнулся с ошибкой: Cannot read all array values: read just 235 of 236. Кто-то знает в чем дело? )

papa
17.04.2018
09:37:44
select count(distinct A or B) from table
а что это должно выдавать в ответ?

Гаврилов
17.04.2018
09:39:33
число уникальных строчек

Александр
17.04.2018
09:39:36
Столкнулся с ошибкой: Cannot read all array values: read just 235 of 236. Кто-то знает в чем дело? )
Судя по коду https://github.com/yandex/ClickHouse/blob/master/dbms/src/DataTypes/DataTypeArray.cpp#L234 Это происходит, если данные в колонках отличаются

Но странно как КХ такое пропустил оО

papa
17.04.2018
09:41:11
число уникальных строчек
число строчек у которых уникально что, A or B?

Konstantin
17.04.2018
09:50:24
Но странно как КХ такое пропустил оО
КХ много чего пропускает, потом встать не может :(

Гаврилов
17.04.2018
09:57:32
число строчек у которых уникально что, A or B?
ну есть 2 поля, уникальность нужно проверять через OR

papa
17.04.2018
09:59:01
уникальность через or. интересно. при этом A B это не boolean, да?

Гаврилов
17.04.2018
10:06:33
Alexandr
17.04.2018
10:12:41
Добрый день кто нибудь пользовался jdbc драйвером для клика? Постоянно вылетает ошибка соединения

Google
Alexandr
17.04.2018
10:16:17
Пользуемся, бед не знаем
Можно пример строки соединения. Ужо не знаю что ему не так

Alex
17.04.2018
10:26:54
Подскажите, а с чем связан такой дескрипшн у свежайшего доступного пакета: Package: clickhouse-server-base Version: 1.1.54378 [...] Description: DEPRECATED PACKAGE: Server binary for clickhouse

Alex
17.04.2018
10:27:15
Можно пример строки соединения. Ужо не знаю что ему не так
https://github.com/yandex/clickhouse-jdbc/blob/master/src/test/java/ru/yandex/clickhouse/ClickHouseConnectionTest.java

Kirill
17.04.2018
10:59:35
Но странно как КХ такое пропустил оО
Это, видимо, у вас в Nested разные по длине колонки, сейчас КХ действительно никак это не чекает, просто пишутся как колонки где идет: название Nested структуры; точка; название колонки в структуре

Kirill
17.04.2018
11:00:48
КХ много чего пропускает, потом встать не может :(
Вставляются они нормально, но при чтении он этот блок выкинет

Александр
17.04.2018
11:13:19
@milovidov_an @ztlpn @kochetovnicolai завести issue?

Значит регрессия, надо править

Это, видимо, у вас в Nested разные по длине колонки, сейчас КХ действительно никак это не чекает, просто пишутся как колонки где идет: название Nested структуры; точка; название колонки в структуре

Nikolai
17.04.2018
11:16:09
Да, лучше завести. При вставке, если правильно помню, действительно нет такой проверки.

Alexander Nairashvili
17.04.2018
11:26:01
Вы случаем не в Роскомнадзоре работаете?)
я не прошёл собеседование, не благонадёжен и недостаточно неадекватен

Vsevolod
17.04.2018
11:27:46
вы себя недооцениваете

Гаврилов
17.04.2018
11:53:44
а как будет вести себя таблица join, если я начну в нее лить дубли?

Tima
17.04.2018
11:54:28
Google
Alexander
17.04.2018
12:05:11
Подскажите, пожалуйста, как и куда надо прописать use_uncompressed_cache? Да и все параметры https://clickhouse.yandex/docs/en/operations/settings/settings

Nikolai
17.04.2018
12:12:25
Спасибо!

Александр
17.04.2018
12:12:32
Сейчас еще закину файлец с данными

Nikolai
17.04.2018
12:14:08
Сейчас еще закину файлец с данными
Возможно, достаточно вставить 1 строку с массивами разного размера, чтобы запрос упал?

Александр
17.04.2018
12:15:11
Я точно не знаю. Я пытался сейчас на разных версиях с таблицей другой структуры это провернуть, что только не делал - не получилось. А вот конкретно со структурой как в issue и данными как в файле (там всего одна строка) - запрос на select * падает. На самом деле падает в любом случае, когда пытается nested прочитать

Kirill
17.04.2018
12:16:08
Возможно, достаточно вставить 1 строку с массивами разного размера, чтобы запрос упал?
Скорее всего я смогу воспроизвести на минимальном примере, 5 мин

Добавил небольшой пример для воспроизведения

Nikolai
17.04.2018
12:24:00
Спасибо!

Александр
17.04.2018
12:35:42
Добавил небольшой пример для воспроизведения
Спасибо! Я пробовал пример с одной строкой в Nested колонку и двумя значениями в массиве :) А вот наоборот не попробовал.

Andrey
17.04.2018
12:43:32
Всем привет. Может ли кто помочь с тонкой настройкой chproxy и CH? Напишите плиз в личку. А то один разобраться не могу. Само собой не даром.

При отправке 3 партий из 1800 запросов на добавления возникают ошибки у некотрых запросов: Unknown error field: Error: read ECONNRESET Error: [ Id: 151B87319A4EE08F; User "default"(3) proxying as "default"(3) to "127.0.0.1:8123"(8); RemoteAddr: "135.159.86.36:43190"; LocalAddr: "135.159.86.36:9090"; Duration: 2.001769892s ]: cannot reach 127.0.0.1:8123; query: ""

Kirill
17.04.2018
13:00:11
А ClickHouse на машине с chproxy есть? Он у вас на localhost запросы шлет

Andrey
17.04.2018
13:00:57
Когда сократил max_concurrent_queries с 10 до 2 ошибок стало значительно меньше

Kirill
17.04.2018
13:03:16
Т.е. вы шлете 1800 INSERT за раз ?

Wolf
17.04.2018
13:04:08
шлите один инсерт с 1800 записями это решит ваши проблемы

Andrey
17.04.2018
13:08:07
try { await ctx.getDB().querying(query); } catch (e) { console.error("Error /push-call-data", query, e) } // и таких query - 1800 - 3 раза

Google
Andrey
17.04.2018
13:09:02
Kirill
17.04.2018
13:09:33
Stanislav
17.04.2018
13:12:51
1800 INSERT - это поток или разовое?

Если разовое (скажем, раз-два в минуту) - можно и Buffer прикрутить.

Andrey
17.04.2018
13:14:15
Писать в MySQL/PostgreSQL etc )
Можите объяснить почему такие проблемы. и При уменьшении в chproxy max_concurrent_queries с 10 до 2 уменьшает количество ошибок?

1800 INSERT - это поток или разовое?
1. Это поток. 2. Buffer уже прикручен. Изменение параметров буфер таблицы не влияет.

Kirill
17.04.2018
13:15:29
Andrey
17.04.2018
13:16:58
Он начинает в очереди держать запросы и одновременно пишет меньше.
Кеш что-то исправит. Но хорошо, а почему 10 одновременно для него проблема?

Кеш что-то исправит?

Kirill
17.04.2018
13:17:47
Кеш что-то исправит. Но хорошо, а почему 10 одновременно для него проблема?
КХ заточен под вставку данных блоками, а не по одной строке

Andrey
17.04.2018
13:20:12
КХ заточен под вставку данных блоками, а не по одной строке
Понятно. Но эти данные сначала пишутся в Buffer таблицу, которая как я понимаю и призвана решить данный вопрос?

Kirill
17.04.2018
13:23:23
Vyacheslav
17.04.2018
13:24:12
я такой рекомендации не видел

т.е. почему с обычными таблицами так не рекомендуется — всё предельно очевидно: каждый инсерт превращается в отдельный файл на fs. со всемы вытекающими, в том числе и с последующим мерджем

Andrey
17.04.2018
13:26:22
В нее тоже не рекомендуется лупить по одной записи в цикле
Так что тогда делать, допустим идет поток данных 1000 в секунду и их надо писать в одну таблицу

Причем интересная закономерность. Если 500 записей в одном потоке и поток 1 - то все отлично. Если в течении 1 сек послать послать еще один поток в 500 записей начинаются ошибки.

Kirill
17.04.2018
13:28:08
Так что тогда делать, допустим идет поток данных 1000 в секунду и их надо писать в одну таблицу
Пишем в очередь, а из нее читаем и переодически сбрасываем одним инсертом в БД

Google
Kirill
17.04.2018
13:30:16
chproxy так может?
Нет конечно, он просто прокси

Alex
17.04.2018
13:30:27
В Buffer не рекомендуется писать по одной записи потому, что это "не оптимально". Работать будет, но throughput будет всё равно значительно меньше, чем при вставке пачками. Впрочем, это почти для любой базы верно.

Vyacheslav
17.04.2018
13:32:01
это даже для памяти верно

Alex
17.04.2018
13:32:42
Ну да, вопрос в степени замедления. У Алексея в презентации с highload были замеры.

Evgeny
17.04.2018
13:37:00
Да и по сути это Buffer получается — разве нет?
думаю, разница содержится в логике слияния множества запросов в блоки в Buffer-e

Alexey
17.04.2018
13:38:05
@milovidov_an а почему не взяли нормальные trie из rbldnsd?
Мне вообще не нравится библиотека btrie, я бы сделал по-другому.

Vsevolod
17.04.2018
13:38:34
так она же third party

Alexey
17.04.2018
13:41:15
а как будет вести себя таблица join, если я начну в нее лить дубли?
Это зависит от того, какой Join - ANY или ALL. В первом случае дубли отфильтруются, а во втором - сохранятся и будут потом участвовать в JOIN-е.

так она же third party
Да, надо выкинуть и сделать всё по-другому.

Vsevolod
17.04.2018
13:45:29
@milovidov_an https://github.com/vstakhov/rspamd/tree/master/contrib/lc-btrie - вот что я использую

оно очень быстрое и отлично работает одновременно с v4/v6 адресами

у меня раньше были бенчмарки, но я их со временем выкинул

Alexey
17.04.2018
13:50:10
у меня раньше были бенчмарки, но я их со временем выкинул
Там нет мотивации использовать что-то вместо массива: https://github.com/yandex/ClickHouse/pull/785#issuecomment-301393072

Nik
17.04.2018
13:51:33
мы для вставки используем kafka, КХ сам забирает из нее данные когда ему будет нужно

Vsevolod
17.04.2018
13:54:16
@milovidov_an преимущество префиксного дерева в том, что если есть 192.168.1.0/24 -> X и есть более специфичный префикс 192.168.1.1/32, то при поиске 192.168.1.1 будет возвращен именно он

ну вот немного померял скорость лукапов

в таблице 512 тысяч случайных ipv6 записей

91740237634 тика на 52 миллиона лукапов

или в районе 1700 тиков на лукап

Страница 499 из 723