@clickhouse_ru

Страница 466 из 723
Kirill
21.03.2018
06:45:12
Да, это не партиции, а куски. Что в Reading approx/Peak memory usage пишет ? Key condition +-inf хорош )

И сам запрос, кстати, какой?

Vasilij
21.03.2018
06:54:31
Сам запрос такой: SELECT RecordDate, SUM(xxx) / 100, и так ещё 30 колонок FROM Turnovers WHERE RecordDate BETWEEN '2018-03-01' AND '2018-03-31' GROUP BY RecordDate Reading approx: 26 111 808 Mem usage: 3 Gb И всё это выполняется 25-30 секунд.

Kirill
21.03.2018
07:01:54
При 30 выбираемых колонках это не сильно удивительно, хотя у вас там и всего 26 кк строк. А free -h что говорит? Просто может он у вас эти 30 колонок всегда с диска поднимает?

Google
Vasilij
21.03.2018
07:07:08
Не, памяти вроде достаточно. total used free shared buffers cached Mem: 31G 21G 9.6G 624M 470M 6.4G -/+ buffers/cache: 14G 16G Swap: 879M 452K 879M Какие есть практики в таком случае? Агрегировать? Потому как при дополнительном отборе по ключу строк становится резко меньше, и время приемлемо (1-3 сек). Но вот такой глобальный отчетик - как-то долго выходит ждать...

Kirill
21.03.2018
07:12:12
Да, можно просто материализованное представление с SummingMergeTree повесить и он шустро все будет отдавать

Konstantin
21.03.2018
08:40:20
коллеги, немного отвлеченный вопрос, grafana всегда отправляет запросы со страницы браузера к БД?

Stanislav
21.03.2018
08:42:09
При отрисовке графиков и если так настроен datasource

У меня запросы отправляет сервер графаны

Konstantin
21.03.2018
08:43:08
У меня запросы отправляет сервер графаны
спасибо, нашли настройку чтобы через сервер шли запросы)

Sergei
21.03.2018
08:50:48
Что можно предпринять когда ноды рассинхронизировались? Как их сново подружить? :)

Kirill
21.03.2018
08:55:01
Что можно предпринять когда ноды рассинхронизировались? Как их сново подружить? :)
А в логи он что-нибудь пишет или просто данные при репликации разошлись?

Вообще DETACH/ATTACH партиции может помочь, эти запросы реплицируются и реплика должна будет увидеть партицию

prll
21.03.2018
09:04:26
кто-нибудь сталкивался с сегфолтами на версии 1.1.54343? Упало почти одновременно на двух нодах 2018.03.20 22:37:38.616560 [ 78 ] <Error> ExternalDictionaries: Cannot update external dictionary 'meta_internal_id', leaving old version: Poco::Exception. Code: 1000, e.code() = 2027, e.displayText() = mysqlxx::BadQuery: Malformed packet (10.128.0.6:3306), e.what() = mysqlxx::BadQuery 2018.03.20 22:37:42.908631 [ 8813 ] <Error> BaseDaemon: ######################################## 2018.03.20 22:37:42.908661 [ 8813 ] <Error> BaseDaemon: (from thread 60) Received signal Segmentation fault (11). 2018.03.20 22:37:42.908669 [ 8813 ] <Error> BaseDaemon: Address: NULL pointer. 2018.03.20 22:37:43.004288 [ 8813 ] <Error> BaseDaemon: 0. /usr/bin/clickhouse-server(tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int)+0x11b) [0x750a6fb] 2018.03.20 22:37:43.004313 [ 8813 ] <Error> BaseDaemon: 1. /usr/bin/clickhouse-server(tcmalloc::ThreadCache::Scavenge()+0x40) [0x750a820] 2018.03.20 22:37:43.004332 [ 8813 ] <Error> BaseDaemon: 2. /usr/bin/clickhouse-server(std::_Rb_tree<char const*, char const*, std::_Identity<char const*>, std::less<char const*>, std::allocator<char const*> >::_M_erase(std::_Rb_tree_node<char const*>*)+0x155) [0x6a13075] 2018.03.20 22:37:43.004362 [ 8813 ] <Error> BaseDaemon: 3. /usr/bin/clickhouse-server(DB::IParserBase::parse(DB::TokenIterator&, std::shared_ptr<DB::IAST>&, DB::Expected&)+0x14e) [0x6c3056e] 2018.03.20 22:37:43.004370 [ 8813 ] <Error> BaseDaemon: 4. /usr/bin/clickhouse-server(DB::ParserSubquery::parseImpl(DB::TokenIterator&, std::shared_ptr<DB::IAST>&, DB::Expected&)+0xa8) [0x6c562c8] 2018.03.20 22:37:43.004379 [ 8813 ] <Error> BaseDaemon: 5. /usr/bin/clickhouse-server(DB::IParserBase::parse(DB::TokenIterator&, std::shared_ptr<DB::IAST>&, DB::Expected&)+0x1a6) [0x6c305c6]
Были ли запросы до падения или это обновление словаря по таймеру ? Что случилось с mysql - может его перезапускали?

Sergei
21.03.2018
09:07:44
Вообще DETACH/ATTACH партиции может помочь, эти запросы реплицируются и реплика должна будет увидеть партицию
Маленькими кусочками восстанавливается. Данные разошлись после того как изменил структуру локальной таблицы на одной из нод (обновлял, накосячил) Буду пробовать дальше. Спасибо! ;)

Anton
21.03.2018
09:13:15
Всем привет, вопрос к разработчикам. Как вы относитесь к работе КХ на zfs?

Google
Slach
21.03.2018
09:26:03
я не разработчик ;) но у меня вопрос у zfs какие то преймущества для bulk read\write ? по сравнению с другими fs ?

Wolf
21.03.2018
09:28:05
использовал массово zfs на куче проектов в итоге пришлось отказаться, очень сильные просадки при нагрузках больших с бд , очень сильные просадки при работе с большим количеством файлов

Slach
21.03.2018
09:28:18
потому что большие последовательные чтения и последовательные записи это как раз основной паттерн CH

Wolf
21.03.2018
09:28:33
ext4 на высоких нагрузках просто делал как стоячего zfs

Dmitry
21.03.2018
09:31:17
а PKCondition::mayBeTrueInRange - это баг? или где-то тикет надо завести?

where date = '2018-03-28' and person = 1 where date in ('2018-03-28') and person = 1 where date = '2018-03-28' and person in (1) // this one produces PKCondition::mayBeTrueInRange where date in ('2018-03-28') and person in (1) // this one is ok where date in ('2018-03-28', '2018-03-27') and person in (1, 2)

Daniel
21.03.2018
09:32:53
коллеги, как вы смотрите на изменение стандартного размера для одного inode в ext4 с default 1 inode на 16кб, а news с 1 inode на 4кб? кто-нибудь так делал на серваках с clickhouse?

Alex
21.03.2018
09:34:49
PKCondition::mayBeTrueInRange это функция в коде :) А в чём баг?

Dmitry
21.03.2018
09:38:42
PKCondition::mayBeTrueInRange это функция в коде :) А в чём баг?
это кусочек sql запроса :) если в перечислениях по одному значению, то падает с такой ошибкой

если указать несколько значений в скобках, то всё ок

prll
21.03.2018
09:39:32
Freebsd?

Dmitry
21.03.2018
09:42:58
это последний докер yandex/clickhouse-server ща попробую выяснить подробности

papa
21.03.2018
09:45:17
select version()

Dmitry
21.03.2018
09:45:38
спасибо, 1.1.54370

papa
21.03.2018
09:47:33
:) select * from (select today() as date, 42 as person) where person in (42) and date in ('2018-03-21') ┌───────date─┬─person─┐ │ 2018-03-21 │ 42 │ └────────────┴────────┘

что-то у меня с первого раза не получилось

Dmitry
21.03.2018
09:50:33
Я думаю там физически таблица нужна, попозже закину полный пример, афк

strange
21.03.2018
09:56:50
Freebsd?
а чего, правда в яндексе freebsd используется?

Google
prll
21.03.2018
09:59:13
NDA

Wolf
21.03.2018
09:59:56
Насколько помню на конференции говорили что уже давно отказались от фрибсд.

Андрей Михайлович
21.03.2018
10:00:21
а вроде у них же какая-то своя версия генты. Не?

Саша
21.03.2018
10:02:50
добрый день, а подскажите, можно ли узнать запросом на какие сервера реплицируется таблица?

frukt
21.03.2018
10:08:58
Здравствуйте. Есть проблема с репозиторием на убунту при апдейте. "Репозиторий «http://repo.yandex.ru/clickhouse/trusty stable Release» не содержит файла Release." И да, каюсь, у меня русская убунту ?

Stanislav
21.03.2018
10:09:47
см. прикреплённое

frukt
21.03.2018
10:10:56
Здравствуйте. Есть проблема с репозиторием на убунту при апдейте. "Репозиторий «http://repo.yandex.ru/clickhouse/trusty stable Release» не содержит файла Release." И да, каюсь, у меня русская убунту ?
Ошк:1 http://repo.yandex.ru/clickhouse/trusty stable/main amd64 clickhouse-server-common amd64 1.1.54362 404 Not Found [IP: 213.180.204.183 80] Ошк:2 http://repo.yandex.ru/clickhouse/trusty stable/main amd64 clickhouse-client amd64 1.1.54362 404 Not Found [IP: 213.180.204.183 80] Ошк:3 http://repo.yandex.ru/clickhouse/trusty stable/main amd64 clickhouse-server-base amd64 1.1.54362 404 Not Found [IP: 213.180.204.183 80] E: Не удалось получить http://repo.yandex.ru/clickhouse/trusty/pool/main/c/clickhouse/clickhouse-server-common_1.1.54362_amd64.deb 404 Not Found [IP: 213.180.204.183 80] E: Не удалось получить http://repo.yandex.ru/clickhouse/trusty/pool/main/c/clickhouse/clickhouse-client_1.1.54362_amd64.deb 404 Not Found [IP: 213.180.204.183 80] E: Не удалось получить http://repo.yandex.ru/clickhouse/trusty/pool/main/c/clickhouse/clickhouse-server-base_1.1.54362_amd64.deb 404 Not Found [IP: 213.180.204.183 80]

frukt
21.03.2018
10:12:01
Спасибо)

Dmitry
21.03.2018
10:13:51
есть подозрение что в релизе 2018-02-01 драйвера ODBC сломали работу таймаутов https://github.com/yandex/clickhouse-odbc/issues/36 после установки нового драйвера часто ловим ошибки таймаута не смотря на выставленные настройки в менеджере ODBC

сможете проверить или написать на гитхабе тикет?

Dmitry
21.03.2018
10:39:17
просто ошибка Timeout, без какого-то error code, как будто драйвер сам отрубает соединение

также было до выполнения 36го тикета

prll
21.03.2018
10:53:31
а ошибка через сколько ? и ос какая?

Dmitry
21.03.2018
11:10:25
ошибка возникает секунд через 30, ОС Windows 10

Артем
21.03.2018
11:12:46
Коллеги, а есть какое нибудь более удобное средство для управлениями пользователями и правами кроме как правке в users.xml ? есть ли какое нибудь более удобное средство

Google
prll
21.03.2018
11:12:46
а таймаут сколько в конфиге?

Dmitry
21.03.2018
11:15:22
что-то у меня с первого раза не получилось
вообщем если для PK указать IN, но в наборе всего одно значение, то валится с ошибкой. https://pastebin.com/TyvURYRd

я не уверен, что эта ошибка в бд. может быть виноват клиент для php (smi2/phpClickHouse)

papa
21.03.2018
11:16:57
нет, в консольном клиенте тоже падает.

Vyacheslav
21.03.2018
11:26:27
я не разработчик ;) но у меня вопрос у zfs какие то преймущества для bulk read\write ? по сравнению с другими fs ?
распаралеливание запросов во всем ядрам, даже если сам(и) запрос(ы) идут из одного треда

Wolf
21.03.2018
11:29:25
шо?
Мускуль постгрес с базами в несколько сотен Гб очень плохо себя чувствуют на зфс , так плохо что это перевешивает все плюсы самого зфс

Vyacheslav
21.03.2018
11:32:56
несколько сотен гиг должны просто помещаться в RAM, о чем вообще речь-то?

Renat
21.03.2018
11:33:29
Были ли запросы до падения или это обновление словаря по таймеру ? Что случилось с mysql - может его перезапускали?
С mysql что-то (еще разбираемся) произошло, он не отвечал какое-то время. > это обновление словаря по таймеру обновление по таймеру, словарь hashed.

Wolf
21.03.2018
11:35:37
несколько сотен гиг должны просто помещаться в RAM, о чем вообще речь-то?
Ну оно адекватно быстро работает на ext4 на таком же сервере, а решать проблемы вставляя полтерабайта оперативы как то совсем не по божески, когда можно просто сменить фс

Аналогично плохо работает с миллиардами файлов, хотя динамические иноды очень удобно в зфс

Vyacheslav
21.03.2018
11:37:02
почему у меня нет никаких проблем с большим количеством файлов?

ну и без полтерабайта оперативы у меня мускуль нормально на zfs работает. впрочем, надо определиться что значит "нормально"

любая база нормально работает когда её ws влезает в её кеш. и это очень мало зависит от fs

Slach
21.03.2018
11:52:45
несколько сотен гиг должны просто помещаться в RAM, о чем вообще речь-то?
а можете выдать мне полтора миллиона рублей чтоты такой сервер купить?

prll
21.03.2018
11:53:11
86400
могу собрать новую версию, авось поможет, по коду с первого взгляда там все хорошо выглядит

Dmitry
21.03.2018
11:53:34
давайте попробуем

Slach
21.03.2018
11:55:02
распаралеливание запросов во всем ядрам, даже если сам(и) запрос(ы) идут из одного треда
ну правда чтоли ext4 только одно ядро использует? ;) ну и в CH пуллтредов, вычитка часто паралельная как и GROUP BY я понимаю что это все в user mode а не в kernel mode но все таки то что вы привели, может сократить какие то сотые доли процента но вы попробуйте сравните, в принципе почему нет?

Google
Vyacheslav
21.03.2018
11:56:06
я так понимаю читать не умеем. я отвечал на вопрос "bulk r/w", а тут уже не другой профиль нагрузки

Slach
21.03.2018
11:56:52
256ГБ рам нынче стоит 200тыр
256G RAM это не несколько сотен гигабайт это пару сотен =) несколько сотен это 512 что уже по вашей же мерке 400 тыр еще шасси и все остальное тоже не бесплатно

Vyacheslav
21.03.2018
11:57:14
несколько — это больше одного.

а так шасси и все остальное не нужно, что ли?

Ivan
21.03.2018
12:00:40
Коллеги, скажите кто знает, не могу в документации найти: - Делает ли Buffer дедупликацию одинаковых строк? У меня почему-то не все батчи доходят через баффер, как только начал добавлять UUID в каждую строку - стало работать нормально

Vyacheslav
21.03.2018
12:01:24
а разве дедупликация не применяется вообще ко всем данным независимо от буффер?

по опредлению просто

Ivan
21.03.2018
12:02:17
хм

Vyacheslav а где это написано?

Vyacheslav
21.03.2018
12:03:12
так в документации по каждому табличному движку

Ivan
21.03.2018
12:03:17
но если я не хочу удалять одинаковые строки? можно ли это отключить?

Alex
21.03.2018
12:05:01
Дедупликацию делает только ReplicatedMergeTree на уровне вставляемых блоков (блок должен быть с точно теми же данными в том же порядке).

Ivan
21.03.2018
12:06:34
Спасибо @ztlpn

дело в том что у нас не так много измерений в таблице - всего 15 и нет никаких UUID

придумал как обходной путь попробывать добавлять в каждый батчь какую-нибудь рандомную строку

Alex
21.03.2018
12:07:47
Дедупликации строк нет. На самом деле один из недостатков Buffer - то, что он при ошибке вставки в следующий раз сформирует другой блок и соответственно exactly once не обеспечится.

Vyacheslav
21.03.2018
12:08:09
https://clickhouse.yandex/docs/ru/table_engines/replacingmergetree/ ReplacingMergeTree Движок таблиц отличается от MergeTree тем, что выполняет удаление дублирующихся записей с одинаковым значением первичного ключа.

Ivan
21.03.2018
12:08:49
ну я вот как раз и определил ошибку тем что сформировал 10 одинаковых батчей по миллиону строк - и в итоге дошли только 2 миллиона строк )

как только вставил в одно измерение случайно сгенерированные символы для каждой строки - нормально заработало

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