@clickhouse_ru

Страница 565 из 723
Maxoid
22.06.2018
11:27:43
мы фризим все партишны раз в сутки (см. FREEZE в доках по кликхаусу) - это делается очень быстро, т.к. данные не копируются, а просто создаются hard link'и на файлы с кусками данных из MergeTree таблиц. Такой "бэкап"-снэпшот работает нормально, т.к. кликхаус никогда не меняет созданные файлы - он может только мержить их в более крупные файлы. Такой бэкап также не занимает дополнительное место до тех пор, пока кликхаус не смержил файлы, присутствующие в бэкапе. Такие снэпшоты позволяют быстро откатиться на рабочую версию данных, если они как-нибудь повредились - неправильно сделали неправильный alter table, залили неправильные данные, обновили кликхаус и он почему-то испортил данные :). После создания снэпшота можно спокойно в любое время скопировать его в дешевый бэкап-сторейдж вроде amazon s3 или google cloud storage. Если этого не делать, то данные из снэпшота могут испортиться по двум причинам: 1) при выходе из строя хранилища, на котором лежат данные кликхауса 2) если кто-то случайно или специально удалит / испортит эти данные
Если я правильно понимаю то нельзя одним alter table freeze заыризить сразу все таблицы? Он на каждый новый фриз создаст свою директорию 1,2,3... в /shadow вопрос в том, как это грамотно автоматизировать. Что бы например фриз всех таблиц за сегодня лежал в директории 1

Aliaksandr
22.06.2018
11:28:50
мы написали собственную утилитку, облегчающую бэкап / восстановление из бэкапа, а также архивирование на google cloud storage. Но она только для внутреннего пользования - в опенсорс не собираемся выкладывать (

там ничего сложного - четыре режима работы - бэкап / восстановление из бэкапа / архивирование в cloud storage / листинг имеющихся бэкапов. Для каждого режима минимальный набор дополнительных настроек вроде имени таблицы, пути к бэкапу, имени партишна или пути к архиву в cloud storage

Google
Vladimir
22.06.2018
12:29:19
Скажите а как то можно приоритет запросам выставлять?

Ну например есть 2 источника запросов, один суперважный а второй может подождать

Michal
22.06.2018
12:50:41
Ну например есть 2 источника запросов, один суперважный а второй может подождать
Насколько мне известно - внутри КХ нет. В голову приходит только max_threads, https://clickhouse.yandex/docs/en/operations/settings/settings/#max_threads Можно снаружи как-то пробовать планировать когда и какие запросы можно отправлять. Можно убивать работающие не нужные запросы. НО имхо самый правильный на сегодняшний день способ: просто поставить один дохлый сервер в репликацию для неторопливых запросов и мощный для быстрых.

Vladimir
22.06.2018
12:51:47
Спсб Придется делать на нашей стороне.

Vladimir
22.06.2018
13:21:23
Оно? https://github.com/yandex/ClickHouse/blob/master/dbms/src/Interpreters/Settings.h#L115

Нигде маленького примерчика не завалялось?

Kirill
22.06.2018
13:37:02
Скажите пожалуйста кто как мониторит Кликхаус. Возможно у кликхауса есть какой-то порт, при обращении к которому можно собирать метрики? Может быть кто-то использует datadog для мониторинга и написан вотчер соответствующий.

?
22.06.2018
13:37:51
grafana

Konstantin
22.06.2018
13:38:49
кстати подскажите, к графане алерты еще не подвезли для КХ?

Michal
22.06.2018
13:39:41
Нигде маленького примерчика не завалялось?
Как и остальные настройки можно 1) в профиле пользователя указать 2) если используете сессии и пользователь не readonly, то можно просто выполнить set priority=1 перед запросом 3) если используете протокол http - можно просто в урл передать как параметр (снова если пользователь не readonly).

Vladimir
22.06.2018
13:40:33
Спсб Используем JDBC Настроим 2 пользователя

Google
Vladimir
22.06.2018
13:40:35
Уря!

?
22.06.2018
13:40:40
кстати подскажите, к графане алерты еще не подвезли для КХ?
а их же самому можно делать или там проблемы в чем-то?

vladimir
22.06.2018
13:41:06
Скажите пожалуйста кто как мониторит Кликхаус. Возможно у кликхауса есть какой-то порт, при обращении к которому можно собирать метрики? Может быть кто-то использует datadog для мониторинга и написан вотчер соответствующий.
КХ из коробки умеет отправлять метрики по своей работе в Графит. Эти же метрики вы можете получить запросом из таблиц : 'system.asynchronous_metrics', 'system.metrics', 'system.events'

Konstantin
22.06.2018
13:42:38
а их же самому можно делать или там проблемы в чем-то?
Когда я последний раз пробовал графана ругалась что не поддерживает алерты для этого источника

vladimir
22.06.2018
13:42:45
из таблицы 'system.metrics': QueryThread

?
22.06.2018
13:43:46
аа, у меня же данные из прометеуса туда тянутся

vladimir
22.06.2018
13:44:12
так себе дашборды

Roman
22.06.2018
13:44:20
кстати подскажите, к графане алерты еще не подвезли для КХ?
нужно подождать пока графана зарелизит подключение плагинов

так себе дашборды
поделитесь с комьюнити своими наработками

vladimir
22.06.2018
13:47:53
поделитесь с комьюнити своими наработками
могу принтскрин дашборда скинуть, по аналогии можете свой построить. смысла скидывать JOSN из графаны, особого не вижу - так как метрики у всех одни и теже а TSDB разные.

для себя я отметил 2 самые важные метрики по которым видна деградация КХ: MemoryTracking и QueryThread проблемы с репликацией хорошо отображает : ZooKeeperTransactions

vladimir
22.06.2018
13:51:45
@milovidov_an недавно говорил что "Нет"

но по-моему оно и так интуитивно понятно

''Это же ОЧЕВИДНО" ©

Гаврилов
22.06.2018
14:30:14
''Это же ОЧЕВИДНО" ©
Преподаватель мат анализа в универе говорил "Очевидно? А кому?"

Petr
23.06.2018
16:41:41
Привет всем, как такой запрос выполнить SELECT count() as c, vendor FROM storage WHERE c > 100000 GROUP BY vendor?

Google
Petr
23.06.2018
16:42:04
Получаю Aggregate function count() is found in WHERE

Антон
23.06.2018
16:43:35
Привет всем, как такой запрос выполнить SELECT count() as c, vendor FROM storage WHERE c > 100000 GROUP BY vendor?
Использовать HAVING: ```SELECT count() as c, vendor FROM storage GROUP BY vendor HAVING c > 100000```

Petr
23.06.2018
16:45:16
Спасибо

Klara
24.06.2018
07:53:00
Добрый день, в ch есть возможность писать kafka с avro?

Судя по интернету и документации - такой возможности нет, возможно, это стоит в недалеких планах?

Victor
24.06.2018
08:10:39
кафка же коммьюнити реализовывалась, так что наверно у самого КХ планов нет

Kirill
24.06.2018
08:54:49
Sergey
24.06.2018
10:35:14
Всем привет. У меня проблема с подключением внешних словарей, чтобы здесь не дублировать см. на SO: https://stackoverflow.com/questions/51008445/clickhouse-doesnt-see-external-dictionary-config Понимаю, что где-то есть очевидный косяк, но не понимаю где. Есть идеи?

Sergey
24.06.2018
12:38:05
Может в конфиге параметр dictionaries_config изменён?
Нет, более того, я суффикс файла копипастил из него

Ivan
24.06.2018
13:39:05
Нет, более того, я суффикс файла копипастил из него
попробуй заменить внешний тег yandex на dictionaries

mold
24.06.2018
13:45:12
Доброго врмени суток! Ребят можете подсказать с бэкапами уже неделю с хвостом бьюсь. Интересует организация суточного бэкапа, но по манам чет бредятина получается, они снимают только полный бэкап партиций из таблици и бд.

Wolf
24.06.2018
13:46:59
сделайте посуточные партиции и делайте фриз

mold
24.06.2018
13:48:13
сделайте посуточные партиции и делайте фриз
До разрабов тяжело достучаться.

Wolf
24.06.2018
13:50:12
что значит тяжело , они все тут )

Sergey
24.06.2018
13:50:17
mold
24.06.2018
13:50:49
что значит тяжело , они все тут )
До разрабов с которыми я работаю) К этим ребятам я не имею ничего плохого=)

Wolf
24.06.2018
13:53:38
До разрабов с которыми я работаю) К этим ребятам я не имею ничего плохого=)
ну тут либо нужен бекап либо нет , особо достукиваться нет смысла

Google
Daniel
24.06.2018
13:59:31
сделайте посуточные партиции и делайте фриз
А что, это настраиваемая опция? Помесячные же создаются по умолчанию, как это можно изменить?

Что-то не помню такого в доках

Wolf
24.06.2018
14:00:46
полистайте в чате тут это обсуждали

Yuran
24.06.2018
14:10:30
А у меня посылка для вас. Но я вам её не дам... Кто ещё что для себя написал?
Мы написали пару проксей для КХ. Завтра расскажу :)

Daniel
24.06.2018
14:10:32
полистайте в чате тут это обсуждали
@stufently вы про это? так здесь человек просто фризит месячные партиции каждый день, а у меня был вопрос как сделать партиции не месячными, а суточными)

мы фризим все партишны раз в сутки (см. FREEZE в доках по кликхаусу) - это делается очень быстро, т.к. данные не копируются, а просто создаются hard link'и на файлы с кусками данных из MergeTree таблиц. Такой "бэкап"-снэпшот работает нормально, т.к. кликхаус никогда не меняет созданные файлы - он может только мержить их в более крупные файлы. Такой бэкап также не занимает дополнительное место до тех пор, пока кликхаус не смержил файлы, присутствующие в бэкапе. Такие снэпшоты позволяют быстро откатиться на рабочую версию данных, если они как-нибудь повредились - неправильно сделали неправильный alter table, залили неправильные данные, обновили кликхаус и он почему-то испортил данные :). После создания снэпшота можно спокойно в любое время скопировать его в дешевый бэкап-сторейдж вроде amazon s3 или google cloud storage. Если этого не делать, то данные из снэпшота могут испортиться по двум причинам: 1) при выходе из строя хранилища, на котором лежат данные кликхауса 2) если кто-то случайно или специально удалит / испортит эти данные

Yuran
24.06.2018
14:11:16
В доке это есть, но не подскажу, где :). По словам PARTITION BY должно находиться

Daniel
24.06.2018
14:12:11
ага нашёл. https://clickhouse.yandex/docs/en/table_engines/custom_partitioning_key/ спасибо

Daniel
24.06.2018
14:13:30
а как изменение временной длительности партиции скажется на производительности селектов? если изменить с месяца до суток. сильно просядет?

Daniel
24.06.2018
14:15:50
как правило наши аналитики интересуются датами от недели и больше. я предполагаю, что в таком случае просядет сильно...

Wolf
24.06.2018
14:16:59
Ну сделайте партицию по дням и проверьте

Yuran
24.06.2018
14:21:42
как правило наши аналитики интересуются датами от недели и больше. я предполагаю, что в таком случае просядет сильно...
Если запросы делаются не из веба пользователями, то у вас там наверняка итак уже сотни мс на запрос :). В интервале в неделю дневные партиции должны быть норм. Плохо будет, если, скажем, за год будете запрашивать.

Daniel
24.06.2018
14:25:02
Понятно, тогда имеет смысл и потестировать. Насчёт альтернативного варианта, предложенного выше Aliaksandr - фризить месячные партиции каждые сутки. В таком случае как определять, где в папке shadow хардлинки сделанные именно в определённый день? Ещё не понятно, как такие фризы могут быть бесплатные для дискового пространства, ведь КХ в реальном времени выполняет слияния и оптимизации на протяжении всего времени записи в партицию. Получится, что будет несколько хардлинков на ещё не до конца оптимизированные данные, и по окончанию месяца записи все фризы будут занимать больше места, чем оригинальная партиция, так же получается?

Дату создания можно пожалуй по modify папки смотреть, но в таком случае имхо будут какие-то дополнительные оверхеды на хранение неоптимизированной разницы промежуточных суточных фризов с финальной месячной партицией

Aliaksandr
24.06.2018
14:54:17
> Получится, что будет несколько хардлинков на ещё не до конца оптимизированные данные, и по окончанию месяца записи все фризы будут занимать больше места, чем оригинальная партиция, так же получается? да, поэтому мы удаляем старые фризы

Google
Vladimir
24.06.2018
16:45:32
Kirill
24.06.2018
17:21:49
сделайте посуточные партиции и делайте фриз
Не нужно делать суточные партиции только ради бекапов, можно фризить каждый день и все фризы что старше N дней удалять

Kirill
24.06.2018
17:27:53
Кстати, выложили видео где подробно объясняется как работает MergeTree, по моему скромному мнению одно из лучших о КХ https://www.youtube.com/watch?v=C17XU8JXdcU

Max
24.06.2018
18:25:32
Коллеги, привет; Столкнулись с зависаниями КХ в интеграционных автотестах приложения. Для интеграции используем docker-compose. Между тесткейсам происходит DROP таблиц и создание новых. Столкнулись с проблемой, при которй после некоторого количества тестов КХ перестает обрабатывать запросы. Новые коннекшены отваливаются по таймауту, при этом внутри заранее подключенного clickhose client кх не отвечает на примитивный запрос выборки из system.config. strace -p показывает что КХ висит в futex. Исключили все что могли, подскажите, куда можно копнуть? версия КХ 1.1.54304

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