
Anatoly
07.12.2016
09:22:09

Dmitry
07.12.2016
09:22:19
я как пример привел
что в виртуалках, что в докере -- состояние базы надо скидывать на shared storage

Anatoly
07.12.2016
09:22:40
1. если репликация не синхронная, автоматом перезапускать нельзя. Потому что ты кладёшь на оркестратор бизнес-решение - ок или не ок потерять данные

Google

Dmitry
07.12.2016
09:22:45
тут не в докере дело

Anatoly
07.12.2016
09:22:52

Dmitry
07.12.2016
09:23:12
для докера volume - внешнее состояние

Anatoly
07.12.2016
09:23:21

Dmitry
07.12.2016
09:24:15
тогда при чем тут докер
:)
этак и ESXi может сдуру на другой хост все потянуть

Anatoly
07.12.2016
09:25:06
тогда при чем тут докер
ну, если читать всю дискуссию, то есть мнение (не моё), что докер без оркестраторов не нужен. И, в принципе, оно не то, чтобы безосновательное

Dmitry
07.12.2016
09:25:58
пакетный менеджер - тоже не нужен

Andrew
07.12.2016
09:37:03
Вот что точно не нужно - так это использование докера как пакетного менеджера

Dmitry
07.12.2016
09:38:51
пакет - более мелкий элемент
вот не хочется право же с ним работать
иначе потом для инсталляции приходится адские playbook'и городить

Google

Dmitry
07.12.2016
09:39:59
когда своих сервисов с пару десятков, и еще чужих десяток нужен
и все это должно работать на основных дистрах линукса и на фре до кучи
docker image можно собирать из пакетов, если хочется

Vladimir
07.12.2016
09:47:22
фрю в 2016 году пора бы уже закопать

Алексей
07.12.2016
09:47:46
пользователям это раскажите :)

Dmitry
07.12.2016
09:48:08
пакетные менеджеры пора бы закопать
во всем их многообразии

Andrew
07.12.2016
09:49:29
Будущее - за менеджерами пакетов контейнеров

Konstantin
07.12.2016
11:29:58
подскажите, почему count может вызывать ошибку?
SELECT COUNT(date) FROM test
Received exception from server:
Code: 42. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: Passed 1 arguments to nullary aggregate function count.

Igor
07.12.2016
11:30:12
count() вызывается без аргументов
если надо посчитать уникальное кол-во дат, есть, например, uniqExact(date) и более быстрая/менее точная uniq(date)

Slach
07.12.2016
11:31:26
а чего? есть в чатеге те кто юзают nutanix активно?

Konstantin
07.12.2016
11:32:00

Igor
07.12.2016
11:33:57
кстати, интересно, а после того, как добавят NULLы, появится count(expr)?
наверное, оно не надо, если все равно есть countIf()

Arthur
07.12.2016
14:28:40
А есть какой-нибудь механизм сделать бекап на уровне бд аналогично alter table freeze partition, но чтобы в одном каталоге в shadow получить бекап всех таблиц сразу, а не по одной на каталог?

Alexey
07.12.2016
16:45:21
Для всех таблиц сразу такого нет.

f1yegor
07.12.2016
16:47:07
Мы уже месяцев 5 используем без проблем
коллеги, привет. У наших админов возник вопрос - является ли хорошей практикой запускать кликхаус в докере?
Это было про докер

Google

Renat
07.12.2016
20:48:58
кто-нибудь юзает кликхауз на google cloud?
я тут делаю бенчмарк и получаю странные результаты:
селекты с сервера, на который не идут инсерты - X queries per second
селекты с сервера, на который идут инсерты пачками по 5к строк (3-4 в секунду) - X + 20% queries per second
с чем это может быть связанно?

Igor
07.12.2016
20:51:16
c удачными последовательными чтением-записью на жесткий диск?

Renat
07.12.2016
20:55:58
но ведь логично предположить, что сервер, на который нет записи будет выдавать как минимум ту же производительность?
ох, сории
> селекты с сервера, на который идут селекты пачками по 5к строк (3-4 в секунду) - X + 20% queries per second
*на который идут инсерты
тот же самый бенчмарк на выделенном сервере дает ожидаемый результат - производительность селектов при инсертах падает

Andrew
08.12.2016
07:56:25
Там есть задержка во времени между сбросом данных на диск и последующей их компрессией - возможно в этом все дело. Если лить гигабайты и следить за объемом базы - это очень хорошо заметно.

Vladimir
08.12.2016
13:52:22
А скажите, есть ли в CH возможность делать массивы, например, Array(String) внутри Nested-структур?

Igor
08.12.2016
13:58:44
:) CREATE TABLE arrstr (arrays Nested(s1 Array(String), s2 Array(FixedString(8)))) ENGINE = Memory;
Ok. 0 rows in set. Elapsed: 0.114 sec.
:) INSERT INTO arrstr (arrays.s1, arrays.s2) VALUES ([['s1n11', 's1n12'], ['s1n21', 's1n22']], [['s2n11', 's2n12'], [
's2n21', 's2n22']]);
Ok. 0 rows in set. Elapsed: 0.007 sec.
:) SELECT * FROM arrstr;
┌─arrays.s1─────────────────────────────┬─arrays.s2─────────────────────────────────────────────────────┐
│ [['s1n11','s1n12'],['s1n21','s1n22']] │ [['s2n11\0\0\0','s2n12\0\0\0'],['s2n21\0\0\0','s2n22\0\0\0']] │
└───────────────────────────────────────┴───────────────────────────────────────────────────────────────┘
Ok. 1 row in set. Elapsed: 0.009 sec.

papa
08.12.2016
13:59:40
memory не всегда работает так же, как Log/Merge*

Vladimir
08.12.2016
14:00:10
Кажется, что да. Но в моём лично кейсе вставка завершается успешно, и всё дальше хорошо, пока не пытаешься сделать select этого поля со вложенным массивом. Вот тогда сервер падает
Я использую CollapsingMergeTree
*сделать select этого поля

Igor
08.12.2016
14:00:58
и правда. на mergetree воспроизводится.
прии селекте эксепшн
Received exception from server:
Cannot read all marks from file /local/clickhouse/data/default/arrstr/19700101_19700101_2_2_0/arrays.size1.mrk

Vladimir
08.12.2016
14:01:05
ЮХУ!
Только у меня он просто подвисает, а потом падает, без таких трейсов

Igor
08.12.2016
14:02:10
а, я дурак, date забыл вставить

Vladimir
08.12.2016
14:02:41
Короче, инсерт успешный, а селект из этого поля рушит сервер

Igor
08.12.2016
14:05:51
где-то в доке было написано, что вложенные массивы работают только в Memory
может nested работает так же, как массив

Vladimir
08.12.2016
14:12:25
А у вас воспроизводится на не-in-memory таблице?

Google

Igor
08.12.2016
14:14:28
у меня только эксепшн выше вопроизводится
а можно как-нибудь bar'у скормить максимальное значение через агрегатную функцию max() хотя бы через подзапрос?
SELECT date, type, count() cnt, bar(cnt, 0, max(cnt), 50) FROM event GROUP BY date, type;
думал как-то через массивы сделать, но туплю что-то
а, нет, похоже нельзя, раз оно константное должно быть :(

Валерка :)
08.12.2016
17:30:27
никто еще не делал сравнения с эластиком случайно? интересно скорость и объемы сравнить

Vladimir
08.12.2016
17:33:14

Валерка :)
08.12.2016
17:33:37
мы делаем аналитику по кликам на еластике щас
вполне себе очень хорошо
объемы ~ярд за месяц

Roman
08.12.2016
17:39:06
Разработчикам КХ на заметку — пора уже использовать в качестве основной характеристики их продукта "цену запроса", имеется в виду цену в $$$ :) Потому что про "scales to petabytes" и про "queries in milliseconds" пишет разработчик любой современной базы и поискового движка. Поэтому выбирать наверное уже нужно не просто по производительности, а по цене которой эта производительность достигается.
Кстати, из чистого любопытства — этого зверька кто-нибудь пробовал https://eventql.io/?

Vladimir
08.12.2016
17:52:30
@roman_kolchin я думаю посмотреть на него если кликхаус под графит будет слишком сложен.
но под графит
меня смущает в первую очередь что у них нет биндингов для бинарного протокола под какие либо языки
только описалово
и протокол сложнее чем у кликхауса

Roman
08.12.2016
17:53:26
Интересно на ком ребята его обкатывали или обкатывают.

Vladimir
08.12.2016
17:53:28
А насколько надежен сам КХ и стабилен по сравнению с тем же эвент кью эль?

Vladimir
08.12.2016
17:53:51
то есть тот сабсет что используется в метрике очень стабилен должен быть

Roman
08.12.2016
17:54:29

Alexey
08.12.2016
17:54:54
а если вернуться к CH и TSDB. Кто какую схему бы можно было замутить в CH для того, чтоб хранить там метрики в стиле http://metrics20.org/?

Google

Let Eat
08.12.2016
17:55:17

Vladimir
08.12.2016
17:55:41

Alexey
08.12.2016
17:56:08
что-то вроде Nested в Array обернуть? Как хорошо в этом случае будет фильтрация и поиск осуществляться?

nikoinlove
08.12.2016
17:56:15
а вы их умышленно в секунды перевели или вы правда их раз в секунду шлете?

Vladimir
08.12.2016
17:56:27
потому что я не представляю как посчитать отдельно по каждому ретеншену

Let Eat
08.12.2016
17:57:15

Vladimir
08.12.2016
17:57:54

Let Eat
08.12.2016
17:58:12
мы пишем 2 миллиона в _минуту_ на ноду, но оно в page cache сыплется, так что это мухлеж

Alexey
08.12.2016
17:58:14
а в виспере с какой детализацией храниться? секунда?
и на каком кластере у вас такое крутится?

Vladimir
08.12.2016
17:59:02

Let Eat
08.12.2016
17:59:38
если виспер подкрутить чтобы оно не читал хидер перед каджой записью - вообще хорошо жить можно
но не на 2М в секунду :)

Vladimir
08.12.2016
18:00:18
и на каком кластере у вас такое крутится?
м... ну мы написали маленькую софтинку на Го которая файлики читает и отает по протобуфу, еще одну софтинку на Го, которая спрашивает сервера и склеивает метрики со всех серверов в один ответ и еще на Го есть переписанный graphite-api