
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

Kirill
21.03.2018
09:08:46

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 это функция в коде :) А в чём баг?

Anton
21.03.2018
09:38:31

Dmitry
21.03.2018
09:38:42
если указать несколько значений в скобках, то всё ок

prll
21.03.2018
09:39:32
Freebsd?

papa
21.03.2018
09:42:11

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]


Александр
21.03.2018
10:11:40


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
сможете проверить или написать на гитхабе тикет?

Slach
21.03.2018
10:24:53

prll
21.03.2018
10:31:54
какие именно ошибки ловите ?

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
я не уверен, что эта ошибка в бд. может быть виноват клиент для php (smi2/phpClickHouse)

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

Vyacheslav
21.03.2018
11:26:27

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

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

Renat
21.03.2018
11:33:29

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

Vyacheslav
21.03.2018
11:37:02
почему у меня нет никаких проблем с большим количеством файлов?
ну и без полтерабайта оперативы у меня мускуль нормально на zfs работает. впрочем, надо определиться что значит "нормально"
любая база нормально работает когда её ws влезает в её кеш. и это очень мало зависит от fs

Dmitry
21.03.2018
11:42:11

Slach
21.03.2018
11:52:45

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

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

Vyacheslav
21.03.2018
11:54:54

Slach
21.03.2018
11:55:02

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 миллиона строк )
как только вставил в одно измерение случайно сгенерированные символы для каждой строки - нормально заработало