
KlonD90
06.01.2018
21:11:38
а кто-нибудь правил библиотеку для ноды?
а то в последний раз она делала мне больно когда я ей пользовался

Mike
06.01.2018
23:36:08
Обновил FreeBSD c 10.3 до 11.1, пересобрал весь софт, КХ 1.1.54318 вроде успешно скомпилировался из портов, запускаю демона, рапортует что демон стартанул, запускаю clickhouse-client -m, пишет Connecting to localhost:9000.
Code: 32. DB::Exception: Attempt to read after eof
Смотрел логи, там пусто. Подозреваю что демон валится. Подскажите может есть какое решение?

Combot
07.01.2018
00:56:04
combot.org/chat/-1001080295593

Google

Vladimir
07.01.2018
06:34:33

Mike
07.01.2018
08:11:49

kamish
07.01.2018
08:12:27
а что, у кх есть репозитории для фряхи?

Vladimir
07.01.2018
08:13:30

Mike
07.01.2018
08:13:32
есть порт и он довольно часто обновляется

kamish
07.01.2018
08:15:50
хотя он неофициальный =/ может, с портом есть какие-то проблемы, не знаю

Mike
07.01.2018
08:16:44
единственное непонимаю, почему жесткая зависимость от libmysqlclient.so.18 : databases/mysql56-client
сейчас многие на mariadb сидят и в некоторых дистрибах линукса машка стоит по умолчанию

kamish
07.01.2018
08:22:34
хм, замечал машу в redhat-семейке, да
если у вас получиться собрать его с машей, то ваш подвиг не будет забыт
просто, возможно, что в яндексе действительно могут об этом не знать, поскольку они не работают с такими дистрами

Tima
07.01.2018
09:02:32

Alexey
07.01.2018
14:20:41
Для FreeBSD долгое время (примерно до последних версий) была ситуация, что ClickHouse собирался, но не работал (как раз - падал при первой аллокации достаточно большого размера). Причина в том, что тестирования под FreeBSD у нас до сих пор нет.
Можно брать самое свежее из портов. А если будут проблемы - пишите сюда с упоминанием @proller.

Google

Vladimir
07.01.2018
14:22:56
Там префиксы функций между версиями отличались

Alexey
07.01.2018
14:23:25
Проверяли - с mariadbclient собирается.

Nikolay
07.01.2018
14:26:47
Подскажте, есть ли тип данных в Clickhouse аналог decimal/numeric из Postgres? нужно хранить большие числа порядка 10^25

Yura
07.01.2018
14:32:45
Если их считать не нужно, то можно в виде строки. Можно hex, если нужно компактно и сортируемо. Если еще компактнее, то можно сделать не стандартный сортируемый вариант base64

Alexey
07.01.2018
14:51:18

Nikolay
07.01.2018
15:10:27

Alexey
07.01.2018
15:11:45
Тогда FixedString(N) с бинарными данными. Хорошо подходит для значений всяких хэшей - где не нужна арифметика типа сложения, умножения, avg и т. п.

Nikolay
07.01.2018
15:14:11
Как раз таки скорее всего арифметика пригодится. Можно было бы их грузить в какой-то скрипт и дальше уже их складывать, но не хотелось бы мудрить самому

Dash
07.01.2018
15:51:02
На freebsd прекрасно собирается и работает из портов

Mike
07.01.2018
16:10:53
может надо сконфигурировать перед запуском как-то хитро?

prll
07.01.2018
16:43:40

Mike
07.01.2018
16:45:10
я пытался из пакаджей поставить, но там тянется mysql-client 5.6, который конфликтует с mariadb-client

prll
07.01.2018
16:48:06
/etc/make.conf: WITH_MYSQL_VER=102m
и никаких пакажей конечно

Mike
07.01.2018
17:17:41
DEFAULT_VERSIONS+=mysql=10.1m
или лучше до 10.2 обновить машку?
@prll что может означать:
# clickhouse-client
ClickHouse client version 1.1.54318.
Connecting to localhost:9000.
Code: 32. DB::Exception: Attempt to read after eof
# service clickhouse start
Starting clickhouse.
# service clickhouse status
clickhouse is not running.
ааа, php-fpm сидит на 9000 порту...
поменял порт на 9001
# service clickhouse status
clickhouse is running as pid 26919.

Google

prll
07.01.2018
18:21:53
ага, и в логе кликхаус написал что не смог слушать

Mike
07.01.2018
18:24:11
сервер теперь работает и не валится, а клиент стучится на порт 9000:
# clickhouse-client -m
ClickHouse client version 1.1.54318.
Connecting to localhost:9000.
Code: 32. DB::Exception: Attempt to read after eof
в конфиге нельзя порт для клиента указать?

prll
07.01.2018
18:38:37
--port 9001 или в конфиге clickhouse-client.xml

Mike
07.01.2018
18:39:50
@prll а какой параметр в clickhouse-client.xml? я не вижу там порта

prll
07.01.2018
21:41:52
<tcp_port>9000</tcp_port>

Vladimir
08.01.2018
06:06:43
Доброго утра всем, а если создавать таблицу с кастомным партицированием и индексом типа
PARTITION BY (user_id, date) ORDER BY (intHash32(user_id), date, created_at)
- то гарантирует ли это нам сортировку по дате, если мы просто вытаскиваем список? Типа
SELECT * FROM TABLE WHERE user_id=666 LIMIT 100;
, где created_at это DateTime

Alexander
08.01.2018
07:50:20

Tima
08.01.2018
07:51:09

Vladimir
08.01.2018
07:52:02
ORDER BY миллионы не сортирует :( не говоря уже про биллионы.

Tima
08.01.2018
07:59:39
Уточните задачу, в общем случае нет нужды сортировать миллионы и биллионы

Vladimir
08.01.2018
08:10:49
хочу вытащить последнюю тысячу записей из биллионой таблицы. Фильтрую за день и по юзеру - там получается 80 миллионов за день записей на одного юзера - но тут тоже сортировка не выгребает, чтобы можно было вытащить только последнюю тысячу. Хотелось бы данные складывать сразу в упорядочном виде в идеале

Сергей
08.01.2018
08:11:41
для этого у тебя должен быть индекс в индексе данные уже отсортированы

Vladimir
08.01.2018
08:23:38
так индекс и есть в ORDER BY
(intHash32(user_id), date, created_at)

Сергей
08.01.2018
08:26:53
ну сортировка будет идти не в момент поиска а в момент вставки или обновления

Tima
08.01.2018
08:34:59

Vladimir
08.01.2018
08:38:01

Tima
08.01.2018
08:41:11
И укажите полный пример запроса

Google

Andrey
08.01.2018
09:33:31
Ребята, привет. Уже писал сюда вопрос, но так и не получается решить проблему с бОльшей суммой в ReplicatedSummingMergeTree при вставке данных через distributed таблицу. Параметр internal_replication выставлен в true. Два шарда по две реплики. В system.clusters видно
shard_num, replica_num
1, 1
1, 2
2, 1
2, 2
host_name для всех серверов разный. Почему при вставке через distributed данных получается больше? Разница где-то 4-15% если смотреть по датам.

Mike
08.01.2018
20:52:24
Ребят, а можно на как-то на КХ переписать условие из MySQL: WHERE grp_date >= DATE_FORMAT(NOW(),'%Y-%m-01') - INTERVAL 1 YEAR
или придется средствами PHP вычислять?
разобрался: toStartOfMonth(today()) - toIntervalYear(1)
удивительно, но писать запросы на выборку в КХ гораздо проще и приятнее чем в mysql))

Yuri
09.01.2018
07:36:34
mysql вообще недоразумение, простите.

Александр
09.01.2018
07:37:13

Yuri
09.01.2018
07:37:42
ну, на oracle exadata почему-то не у всех есть деньги :)

Александр
09.01.2018
07:39:08
Просто смысл обычному форуму oracle exadata? mysql хватает с головой. Или например сервису-генератору гифок? )

Stas
09.01.2018
07:48:53

Yuri
09.01.2018
07:49:27
1994 года только с ораклом. там есть конечно таракашки. но они более-менее честные. а так да, Серберянной пули нет

Stas
09.01.2018
07:50:02
Я бы разработчиков оракла сажал в единый Котел с Java разработчиками (разработчиками не под данные технологии, а те кто платформу делают)

Artiom
09.01.2018
08:14:59
/stat@combot

Combot
09.01.2018
08:14:59
combot.org/chat/-1001080295593

Sergey
09.01.2018
08:20:12
Подскажите плз. где можно настроить расписание оптимизаций таблиц с движком GraphiteMergeTree?
А то создал табличку, сделал партиционирование по дням настроил роллап 86400 - 3600 и ожидаю что спустя день данные будут паковаться... но нет, пока вручную оптимизацию партиции не запустишь все хранится с исходным "разрешением"

Алексей
09.01.2018
08:22:50
есть мнение что настроить это можно в кроне

Sergey
09.01.2018
08:29:49
ну это то да, была мысль что может где то зарыто в конфигах, т.к. в логах периодически мердж активных партиций наблюдается
т.е. если такое поведение (выбери движок, партиционирование, настройки мерджа в самом КХ, а сам запуск оптимизации через крон) оно by design - то ОК как бы, просто как то этот последний момент в документации упущен.

Mike
09.01.2018
09:00:19
Прочитал в гуглогруппе: Because a single INSERT creates a new part (each part corresponds to a single data directory), it is better to do INSERTs in big batches. Anyway, normally there shouldn't be that many directories because when the number of parts per partition (per month) reaches 150, the server starts throttling INSERTs, and when it reaches 300, the server forbids INSERTs.
Чем это может грозить если я делаю single inserts в mergetree?

Bulat
09.01.2018
09:05:04
Начнет мерджить и встанет колом

Google

Алексей
09.01.2018
09:07:00

Mike
09.01.2018
09:07:58
а что делать если нет возможности batch insert делать?

Alex
09.01.2018
09:08:16

Ilya
09.01.2018
09:08:31

Алексей
09.01.2018
09:10:08

Alex
09.01.2018
09:11:17
товарищи, подскажите а запрос optimize final реплицируется?

Bob
09.01.2018
09:40:28
/stat@combot

Combot
09.01.2018
09:40:28
combot.org/chat/-1001080295593

Mike
09.01.2018
09:51:51
Искать такую возможность
у меня nginx перед отдачей файла запускает php скрипт, который в КХ делает инсерт, а потом передает заголовок на отдачу файла, графики по закачкам надо отображать в реальном времени. не сказать что у нас прямо биллионы записей, в сутки от 100-1000 инсертов, за 2 года ~7kk строк, их загрузили вчера через CSV, а вот новые пока через single insert.
почитал сейчас доку про buffer engine, похоже это выход из положения, репликации у нас нет поэтому сайд эффектов не должно возникнуть?
Если использовать OPTIMIZE он не спасет меня?

Дмитрий
09.01.2018
10:03:01
Если у вас так мало инсертов, не стреляете ли вы из пушки по воробьям? 100-1000 инсертов в сутки нормально для любого mysql/postgresql.