@clickhouse_ru

Страница 163 из 723
Александр
07.06.2017
15:38:43
Кстати о презентации, есть запись?

Ivan
07.06.2017
15:43:17
Кстати о презентации. Есть новости про CH хакатон?

Alex
07.06.2017
15:54:51
Записи, как я понял, будут за деньги :( Ну и может быть, через некоторое время бесплатно.

Pavel
07.06.2017
16:00:24
конференции с платным видео

Google
Pavel
07.06.2017
16:00:31
у меня в голове не укладываются такие вещи :/

Vladimir
07.06.2017
16:00:56
Бывают такие странные люди которые считают что конференции могут быть прибыльными и даже кормить организатора

Pavel
07.06.2017
16:05:34
это офтоп здесь

есть множество конференций таких как NANOG, RIPE, ENOG, DNS OARC, которые ставят во главу угла все же распространение знаний, а не бабло :)

Vladimir
07.06.2017
16:12:08
а простите, как оно должно быть по-другому? =)
на самоокупаемости и волоентерах, иначе оно превратится в рекламу продуктов от спонсоров

Vladimir
07.06.2017
16:22:45
Записи, как я понял, будут за деньги :( Ну и может быть, через некоторое время бесплатно.
Учитывая что Алексей говорил про идеи для хакатона и прочее - ребята, простите, но кто же будет потом в этом безобразие участвовать?)

Alex
07.06.2017
16:23:34
На которой я рассказал про архитектуру ClickHouse и выложил сегодня презентацию :)

Про хакатон у меня нет информации

Vladimir
07.06.2017
16:25:20
Речь не про хакатон, а про конференцию РИТ++
понятно. Тут тоже неоднозначно то всё.

Иногда (в очень редких а порой в очень очень редких случаях) презентации могут как то быть такими же полезными как и само выступление.Поэтому презентация без выступления это как туманный альбион без тумана)

конференции с платным видео
? ни разу не встречал такое за 10+ лет работы в IT

Google
Pavel
07.06.2017
17:05:09
ооо, Илья, такие люди) привет со СГАУ))

yuyu
07.06.2017
17:32:43
Поясните, pls : доках написано, что в таблицы с движком ENGINE=SET можно добавлять данные через INSERT. А если надо удалить ненужный элемент из множества? Только через DROP TABLE ? И вопрос вдогонку: каковы практические ограничения/рекомендации на размеры SET таблиц?

Ivan
07.06.2017
17:38:58
? ни разу не встречал такое за 10+ лет работы в IT
//оффтоп Highload - первое, что сразу вспоминается

Dig
07.06.2017
17:41:42
Вечер добрый всем. А можно ли как-то прочитать данные из таблицы "задом-наперед". Хочется отобразить live feed, чтобы последние записи появлялись вверху. Если делать так: select date, event from events where date > '2017-06-01' order by date DESC limit 15 то CH читает все данные с указанной даты, затем делает сортировку по дате в обратном порядке. Получается, вместо того, чтобы прочитать последние 15 записей, мы читаем все с заданной даты, и этих данных может быть очень много. Кто как решает подобные задачи?

Maksim
07.06.2017
18:11:34
за КХ не скажу, но вот так, как вы описали, поступает мускль, а постгрес читает по индексу на date назад и как правило с первого блока набирает первую страницу

Vladimir
07.06.2017
18:25:15
evervoid
07.06.2017
18:37:25
Ребята, такой вопрос. Что будет, если писать в Date поле случайные равномерно распределенные числа? Не спрашивайте зачем :)

Igor
07.06.2017
18:38:36
ну, можно проверить будет либо 0000-00-00, либо нормльная дата

toDate(rand()): 2014-12-26 toDate(0): 0000-00-00 toDate(1): 1970-01-02 toDate(23011): 2033-01-01 toDate(65535): 0000-00-00

evervoid
07.06.2017
18:39:45
Имею в виду то самое date поле в движке MergeTree. Какое будет поведение кликхауса в этом случае, в плане хранения данных, индексации и поиска.

Igor
07.06.2017
18:42:19
ну можно же проверить легко

CREATE TABLE datetest (date Date, s String) ENGINE=MergeTree(date, (date, s), 8192); INSERT INTO datetest VALUES (0, '0'), (1, '1'), (10000, '10000'), (23011, '23011'), (65535, '65535'), (99999999999, '99999999999'); SELECT * FROM datetest; SELECT partition, name, active, table, min_date, max_date FROM system.parts WHERE table = 'datetest';

Alex
07.06.2017
18:43:34
Всё будет плохо - данные попадут в разные месяца, а значит в разные партиции. Мержиться ничего не будет, и селекты будут тормозить.

А всё-таки, зачем? :)

Igor
07.06.2017
18:44:19
Alex
07.06.2017
18:44:40
Это да

evervoid
07.06.2017
18:47:41
Если я скажу, вы мне все равно не поверите:) Я же правильно понимаю, что все будет ок для случая, когда мы заранее знаем конкретный месяц и не выбираем данные, попадающие в 2 месяца сразу?

Igor
07.06.2017
18:48:03
эээ.. а чего хочется добиться-то в итоге?

типа, собственное партицирование по фейковым месяцам?

evervoid
07.06.2017
18:48:51
Да

Google
Igor
07.06.2017
18:48:55
чтобы селекты не запрашивали две партиции?

а :)

ну да, это должно работать норм, если вам так будет удобно

papa
07.06.2017
18:49:24
данные, попадающие в два месяца сразу? оО

Igor
07.06.2017
18:49:44
там вроде к концу года обещали сделать произвольное партицирование

evervoid
07.06.2017
18:50:07
Имеллсь в виду,что не запрашиваем данные из нескольких месяцев сразу :)

Спасибо огромное! Попробуем

И еще +1 к легиону ждунов произвольного партиционирования

Andrew
07.06.2017
20:17:17
Привет! А какой самый правильный способ скопировать таблицу из одного кластера в другой, если нет доступа до диска серверов, чисто по http api? Видимо CREATE TABLE table AS SELECT * from remote('address', db.table) ?

Boris
07.06.2017
20:46:10
Синтаксис чуть-чуть другой CREATE TABLE table engine = Engine AS SELECT * from remote('host', 'db', 'table', 'login', 'password')

f1yegor
07.06.2017
21:57:05
как лучше расследовать если query стали выполняться в разы медленнее?

такое ощущение что кардинально поменялся характер нагрузки, но отдельные query я еще не сравнивал

SELECT count(), avg(query_duration_ms), avg(read_rows), avg(memory_usage) FROM system.query_log WHERE (event_date = today()) AND (type = 2) ┌─count()─┬─avg(query_duration_ms)─┬────avg(read_rows)─┬─avg(memory_usage)─┐ │ 58430 │ 600.8495635803525 │ 1666922.955279822 │ 94408267.76395687 │ └─────────┴────────────────────────┴───────────────────┴───────────────────┘

вчера

SELECT count(), avg(query_duration_ms), avg(read_rows), avg(memory_usage) FROM system.query_log WHERE (event_date = yesterday()) AND (type = 2) ┌─count()─┬─avg(query_duration_ms)─┬────avg(read_rows)─┬─avg(memory_usage)─┐ │ 58577 │ 27.065093808149957 │ 57156.20260511805 │ 73023700.41504344 │ └─────────┴────────────────────────┴───────────────────┴───────────────────┘

Maksim
08.06.2017
06:03:05
Если ничего не поможет, то могу поискать у нас в вики инструкции, как узнать, что в vfs кеше

Vladimir
08.06.2017
06:09:21
такое ощущение что кардинально поменялся характер нагрузки, но отдельные query я еще не сравнивал
Я думаю одни из первых вопросов которые тут зададут - версия кх и сколько кусков не смержено?

f1yegor
08.06.2017
06:18:25
198, как узнать сколько кусков? Мержи в это время уже не шли

Vladimir
08.06.2017
06:21:59
198, как узнать сколько кусков? Мержи в это время уже не шли
Может стоит обновиться до последнего стейбла и сделать оптимайз?

198, как узнать сколько кусков? Мержи в это время уже не шли
Там что то про https://clickhouse.yandex/reference_en.html#system.merges

Google
Vladimir
08.06.2017
06:22:47
https://clickhouse.yandex/reference_en.html#system.parts

Второе про куски, первое про мержи которые идут

@miptgirl спам ^

Zarina
08.06.2017
07:51:29
Возможно ли в запросе сделать разделителем десятичного числа вместо точки запятой?

Александр
08.06.2017
07:52:21
Там вроде были функции для работы с регулярками

Возможно ли в запросе сделать разделителем десятичного числа вместо точки запятой?
replaceRegexpOne можно использовать и регулярку типа /(\d)(?=(\d\d\d)+([^\d]|$))/ в качестве замены например "$1 "

Сам не пробовал, это чисто предположение

yuyu
08.06.2017
08:00:48
Что-то я не понимаю: это баг или фича? Есть 2 таблицы - одна обычная, другая с движком Set: USE proba SHOW CREATE TABLE set_1 CREATE TABLE proba.set_1 ( d UInt32, i UInt32) ENGINE = Set SHOW CREATE TABLE test CREATE TABLE proba.test ( dev UInt32, idx UInt32) ENGINE = Memory Такая выборка работает: SELECT * FROM test WHERE (dev,idx) IN set_1 FORMAT CSV 1,11 А эта вылетает: SELECT * FROM test where (dev,idx) IN proba.set_1 FORMAT CSV Received exception from server: Code: 60. DB::Exception: Received from localhost:9000, ::1. DB::Exception: Table proba.proba.set_1 doesn't exist.. Почему имя базы лишний раз дописывается? Вроде же синтаксис для имён таблиц такой: [db.]name Или есть ньюансы?

Zarina
08.06.2017
08:10:21
Возможно проще преобразовать разделитель, не приводя float к строке? SELECT replaceRegexpOne(toString(toFloat32(12.1)), '(\\d+)\\.(\\d+)', '\\1,\\2') AS number

f1yegor
08.06.2017
08:12:52
Может стоит обновиться до последнего стейбла и сделать оптимайз?
мержей активных нет, количество кусков для каждого месяца - 4-14 штук. оптимайз части таблиц я сделал для предыдущих месяцев

Vladimir
08.06.2017
08:13:33
мержей активных нет, количество кусков для каждого месяца - 4-14 штук. оптимайз части таблиц я сделал для предыдущих месяцев
просто первая идея которая лезет в голову - что что-то пошло не так с мержем последних кусков и их слишком много

f1yegor
08.06.2017
08:14:22
да, я это понимаю. сегодня если повторится - буду анализировать изменились ли запросы. хотя не должны

f1yegor
08.06.2017
08:19:33
пока что нет особой нагрузки.

Александр
08.06.2017
08:22:46
Возможно проще преобразовать разделитель, не приводя float к строке? SELECT replaceRegexpOne(toString(toFloat32(12.1)), '(\\d+)\\.(\\d+)', '\\1,\\2') AS number
Думаю нет :) Все таки разделить на разряды - это строка получится в любом случае. Clickhouse строго типизирован

Vladimir
08.06.2017
08:23:26
пока что нет особой нагрузки.
И в любом случаи стоит обновиться на последний стейбл

f1yegor
08.06.2017
08:57:42
существует ли сейчас возможность запускать что-то, чтобы как select * from system.processes, но для всех нод в кластере?

f1yegor
08.06.2017
08:59:49
насколько я понимаю тогда я не смогу различить процессы на разных нодах?

Roman
08.06.2017
09:01:28
есть ведь client_hostname поле

Google
f1yegor
08.06.2017
09:01:56
ок, попробую

Sergei
08.06.2017
10:57:57
Добрый день! Раньше где-то видел ссылку на changelog, но сейчас ничего похожего найти не могу =( https://github.com/yandex/ClickHouse/releases/tag/v1.1.54236-stable — как понять, что изменилось не изучая все коммиты?

Александр
08.06.2017
10:58:48
Кстати да, интересный вопрос )

f1yegor
08.06.2017
11:06:14
altinity.com

https://www.altinity.com/blog/2017/5/22/clickhouse-release-notes

Sergei
08.06.2017
11:09:16
@f1yegor спасибо

Valeriy
08.06.2017
13:00:36
Мб со страницы со старой необновляемой (так ведь?) документацией https://clickhouse.yandex/reference_ru.html сделать редирект на новую обновляемую https://clickhouse.yandex/docs/ru/single/ ?

А то случайно выяснилось, что я уже давно устаревшей пользуюсь :( Правда, новая тормозит нещадно, так что мб лучше продолжить пользоваться старой.

f1yegor
08.06.2017
13:07:22
мб создать дистрибьютед таблицу поверх processes?
мб кому пригодится CREATE TABLE system.query_log_all AS system.query_log ENGINE = Distributed(cluster, system, query_log, rand());

я правда не уверен что это хорошая идея создавать это в system db

Roman
08.06.2017
13:10:22
мб кому пригодится CREATE TABLE system.query_log_all AS system.query_log ENGINE = Distributed(cluster, system, query_log, rand());
да, тоже такое сделал на прошлой неделе. Можно мониторить кол-во запросов с кластера: $rateColumns( concat(substring(query, 1, 45), '...') AS query, count() c) FROM $table SELECT $timeSeries as t, avg(query_duration_ms) select_duration FROM $table WHERE $timeFilter AND type = 2 and query like 'SELECT%' GROUP BY t ORDER BY t

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