@clickhouse_ru

Страница 553 из 723
Stepan
08.06.2018
13:43:31
а есть какие-нибудь best practice по размещению clickhouse на пром стендах? ну там логины\пароли понятно. А еще?

Mike
08.06.2018
14:52:35
через сокеты быстрее все работает

Stanislav
08.06.2018
14:52:52
Через сокеты не будет репликации

Google
Kirill
08.06.2018
14:55:49
Vsevolod
08.06.2018
14:56:22
распространенное заблуждение

Stanislav
08.06.2018
14:58:19
Доступ из php в mysql через сокет таки действительно быстрее, чем через 127.0.0.1 (тестировали на работе), но, по-моему, в случае кликхауса вряд ли эти накладные расходы хоть как-то заметно повлияют на быстродействие

Александр
08.06.2018
15:13:25
Доступ из php в mysql через сокет таки действительно быстрее, чем через 127.0.0.1 (тестировали на работе), но, по-моему, в случае кликхауса вряд ли эти накладные расходы хоть как-то заметно повлияют на быстродействие
хм, простите меня глупого но сокет это тип соединения, скорее даже абстракция а 127.0.0.1 это ip адресс что Вы имели ввиду, когда написали своое сообщение ?

Stanislav
08.06.2018
15:13:54
srwxrwxrwx 1 mysql mysql 0 Jun 8 15:26 /var/run/mysql10.2/mysqld.sock

Работу через unix-socket

Александр
08.06.2018
15:14:20
Понял, спасибо

Vsevolod
08.06.2018
15:14:23
что такое "быстрее"?

latency, throughput?

Stanislav
08.06.2018
15:15:28
latency

Vsevolod
08.06.2018
15:15:54
latency ниже, хотя и тут вопрос спорный (особенно в случае php(

http://highsecure.ru/ltproto/roo/ и http://highsecure.ru/ltproto/roo/lat/

но это долбанутый opteron

Google
Vsevolod
08.06.2018
15:17:00
на современных процессорах все намного приятнее

Stanislav
08.06.2018
15:19:25
У меня виртуалки с эмулируемым процессором и, местами, с оверселлингом...

prll
08.06.2018
15:25:15
к чему тогда вообще разговоры о скорости?

Wolf
08.06.2018
15:26:22
А будет когда-нибудь реализовано?
этож сколько у вас запросов должно быть чтобы это было сколько нибудь ощутимо.

Vsevolod
08.06.2018
15:27:00
дело в том, что это не зависит от запросов

Alexander
08.06.2018
15:27:05
пятница, "кликхаус не тормозит", что еще обсуждать как не скорость :)

Vsevolod
08.06.2018
15:27:21
там latency до передачи данных, скажем, на 10% ниже

Wolf
08.06.2018
15:28:16
там latency до передачи данных, скажем, на 10% ниже
ну на фоне того что скажем запрос выполняется секунд десять эта латенси не заметна

Vsevolod
08.06.2018
15:29:47
я не спорю

Anton
08.06.2018
15:30:38
мужчины, женщины, до 20, после 20, ...
До и после 20 это одна колонка, пол одна колонка, типы /алкоголик/трудяга/ помещаются в кортеж и т.д. Возможно, вместо 1000 колонок нужно хорошо продумать структуру данных

Victor
08.06.2018
15:35:13
1000 колонок, это ничоси. В доке, конечно, написано, что КХ для широких таблиц... Куда, кстати, корректировки по доке присылать? Возможно, я ошибку нашёл, но может я сам ламер

Alexey
08.06.2018
15:37:46
соответственно, для каждого показа прилетает массив из 300 сегментов с айдишками

300 это в среднем

Anton
08.06.2018
15:39:25
аудиторные сегменты, они создаются удаляются постоянно, сейчас их 10к
В КХ нельзя удалять колонки. 300, да и 1000 легко влезут и будут работать. В самой метрике, которая на КХ работает всего 5 таблиц, если мне изменяет память.

Anton
08.06.2018
15:42:21
Ну потому что это утопия, как минимум) Т.е. кх хорошо работает с выборкой, нет смысла раскидывать по флагам и дублировать внешнее решение ради выиграша в скорости. Имеет смысл класть в кх сырые данные в виде пола / возраста / etc, а ренжи хранить в каком-нибудь сервисе адаптере, хоть 100 000. И этот сервис при выборе "До 20" будет уже билдить WHERE age < 20 и все дела

Это несколько дольше сначала, но очень быстрее потом, в плане поддержки, разработки и хранения данных в принципе. Раскидывать одно значение возраста на 20 колонок так себе решение.

Google
Igor
09.06.2018
02:09:21
Привет! Глупый вопрос, хочу перестраховаться. Есть продакшн-сервер без реплик, хочется забекапить. Как это вообще правильно сделать? Выполнить ALTER .. FREEZE PARTITION по всем таблицам и кускам и потом, скажем, сделать tar cvzf /mnt/backups/backup.tar.gz /var/lib/clickhouse/shadow/ и всё?

Maksim
09.06.2018
03:58:23
Сжимать вроде нет смысла

Igor
09.06.2018
03:59:18
Да, это я машинально :) Т.е. просто забекапить shadow достаточно?

Дмитрий
09.06.2018
08:53:50
SELECT * FROM tbl WHERE date_hour >= toStartOfDay('2018-06-09 10:10:10') Received exception from server (version 1.1.54385): Code: 43. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: Illegal type String of argument of function toStartOfDay. Should be a date or a date with time. Стринг нельзя, надо Дату или ДатуВремя. Окей: SELECT * FROM tbl WHERE date_hour >= toStartOfDay(toDate('2018-06-09 10:10:10')) Received exception from server (version 1.1.54385): Code: 43. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: Illegal type Date of argument for function toStartOfDay. Дату нельзя. Тянет на баг, кажется

Igor
09.06.2018
08:54:54
а какого типа date_hour? хотя пофигу

Дмитрий
09.06.2018
08:55:36
ошибка про тип аргумента функции toStartOfDay

А еще SELECT today() ┌────today()─┐ │ 2018-06-09 │ └────────────┘ SELECT url_id, toDate(date_hour) AS agg_date, sum(click) AS click, sum(show) AS show FROM tbl WHERE date_hour >= today() GROUP BY toDate(date_hour) ┌─url_id─┬───agg_date─┬─click─┬─show─┐ │ 2 │ 2018-06-09 │ 9 │ 35 │ │ 2 │ 2018-06-08 │ 0 │ 1 │ неожиданно! date_hour - DateTime

Хотя бы, если уж нельзя сравнивать Date и DateTime (что странно), то предпочтительнее увидеть ошибку, чем бред в неупавшем запросе

Dmitry
09.06.2018
13:10:07
Добрый день! Если столбец, в котором хранятся массивы. Можно как то сделать группбай не по массивам, а по их элементам?

papa
09.06.2018
13:11:13
from .. array join .. group by ..

Vladimir
09.06.2018
13:30:50
Господа, а можно как-то у JDBC-драйвера clickhouse ограничить bandwidth?

Sergey
09.06.2018
13:41:14
с какой целью ограничивать?

Wolf
09.06.2018
13:59:45
Ограничьте средствами линукса через tc

Alexey
09.06.2018
14:06:25
Господа, а можно как-то у JDBC-драйвера clickhouse ограничить bandwidth?
max_network_bandwidth max_network_bandwidth_for_user max_network_bandwidth_for_all_users вот такие настройки есть

Alexey
09.06.2018
14:19:43
Коллеги, добрый день! Если у меня в шарде две реплики, я добавляю третью, не включая в конфиг шардов - это нормально так делать? ничем не чревато?

Stas
09.06.2018
14:20:07
Чат, а когда есть merge таблица смотрящая на вьюхи - она во вьюху ходит именно на своём сервере только или на весь кластер? Есть подозрение что только на своём. Нет ли best practice как распараллелить?

Alexey
09.06.2018
14:22:16
Писать будет, читать нет
спасибо! то что надо ?

Stas
09.06.2018
14:24:49
Т.к есть merge таблица смотрящая на 10+ view, которые созданы на всём кластере, вот хотелось бы что бы эти самые view исполнялись быстро и на рандомных нодах, тк group by все равно на конечной ноде идёт...

Google
Stas
09.06.2018
14:25:44
Distributed-таблица для вьюх
Вымысле? Поверх вьюх натянуть distributed?

а, у вас merge
Да, кейс в том, что бы вьюхи которые дергает merge шли на разных серверах...

Alexey
09.06.2018
14:26:18
Вымысле? Поверх вьюх натянуть distributed?
поверх merge distributed попробовать может?

Stas
09.06.2018
14:26:36
поверх merge distributed попробовать может?
Не очень понимаю какой это даст эффект

Alexey
09.06.2018
14:27:04
Не очень понимаю какой это даст эффект
о, наоборот же. Distributed на вьюхи, а Merge уже на Distributed.

Stas
09.06.2018
14:27:23
Alexey
09.06.2018
14:27:42
ну так теоретически вроде ничто не мешает

Stas
09.06.2018
14:28:32
В моем понятии distributed нужен тогда, когда нам нужно собрать данные с разных серверов и на каждом свой кусок данных

Alexey
09.06.2018
14:28:41
у меня есть несклько distr над мат.вьюхами, даже попробую щас

Stas
09.06.2018
14:28:44
А тут у меня на каждом по факту одно и тоже

Alexey
09.06.2018
14:29:09
вы когда скахали про кластер, я и подумал что шарды

Stas
09.06.2018
14:29:35
Т.е у меня схема такая сейчас: Merge —> view x10 —>distributed —> реальная таблица с сырьем

Вот задача обращения к х10 распаралелить, запустив их на всех доступных серверах а не на одном :)

Я от безысходности уже думал переделать обращение в поле from через random(x) что бы вьюха случайный сервер для remote обращения выбирала. Но это изврат какой-то Merge —> view (from remote RANDOM) union all —> view x10 —>distributed —> реальная таблица с сырьем

Alexey
09.06.2018
14:37:29
норм вариант, UNION ALL судя по доке распапаллеливает как раз

Stas
09.06.2018
14:38:05
норм вариант, UNION ALL судя по доке распапаллеливает как раз
Он все равно распаралелит на одном сервере :) мне придётся делать remote

Merge тоже паралелит

Не верю, что только у меня такая проблема возникла, у кого большие кластеры по любому сталкивались

Google
Denis
09.06.2018
14:44:52
Не верю, что только у меня такая проблема возникла, у кого большие кластеры по любому сталкивались
Что значит мердж таблица которая должна собрать данные с рандомных серверов? Это как? Данные либо умножаться либо будут не все.

Stas
09.06.2018
14:45:29
Фактически 10 вьюшке тогда выполнятся там куда упадёт обращение от remote...

Но криво, не хотелось бы так..

По идее merge так сам уметь должен, на мой взгляд а похоже не умеет

Denis
09.06.2018
14:50:26
Где данные лежат? На всех 10 полная реплика? Можно обратится к любому?

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