
Виктор
10.11.2016
14:58:08
ClickHouse это база данных, не визуализация.
Посмотрите доклад, например, или почитайте описание на сайте.

Александр
10.11.2016
14:58:46

Виктор
10.11.2016
14:59:00
Ну, или не надо.

Google

Александр
10.11.2016
14:59:07

Vladislav
10.11.2016
14:59:07

Александр
10.11.2016
14:59:37
Ну пусть будет можно

Vladislav
10.11.2016
15:00:00
визуализировать можно почти все, БД на это не влияет...

yopp
10.11.2016
15:00:33
Я так понимаю что CH это eventually consistent хранилище, без каких либо гарантий чего либо?
ну тоесть я туда пишу данные и я не знаю что с ними будет

Igor
10.11.2016
15:01:15
Всем привет :3

Aleksandr
10.11.2016
15:01:34

Igor
10.11.2016
15:04:08
Имеет смысл добавить этот чатик в раздел документации "если возникли вопросы" или здесь и так слишком много народу? )

Виктор
10.11.2016
15:04:19
Я уже добавил
https://clickhouse.yandex/#feedback

Igor
10.11.2016
15:04:43
Спасибо ) А то я случайно в #176 наткнулся

Alexey
10.11.2016
15:06:29
ну тоесть я туда пишу данные и я не знаю что с ними будет
Если INSERT вернул Ok - значит данные записаны на файловую систему (не на диск) одной реплики.
Это значит:
- если kill -9, то с данными всё Ок;
- если грубый рестарт сервера, то небольшой кусок последних данных будет потерян.
При этом, данные которые были записаны не только что, не теряются, при условии выживания хотя бы одной реплики.

Google

Evgeniy
10.11.2016
15:07:59
>- если kill -9, то с данными всё Ок;
>- если грубый рестарт сервера, то небольшой кусок последних данных будет потерян.
противоречивые параграфы

yopp
10.11.2016
15:08:28

Alexey
10.11.2016
15:08:38
Первое - это убийство процесса clickhouse-server.
Второе - это ресет на сервере (железо) нажали.

Evgeniy
10.11.2016
15:09:52
а, ты имеешь ввиду что фсинка нет

Alexey
10.11.2016
15:09:55
Из документации:
"Кворумная запись отсутствует. То есть, вы не можете записать данные с подтверждением их получения более одной репликой. Если вы записали пачку данных на одну реплику, и данные ещё не успели разъехаться по остальным репликам, после чего сервер с этими данными перестал существовать, то эта пачка данных будет потеряна."

yopp
10.11.2016
15:10:08
получается никаких гарантий нет
OK это чисто «ну окей, приняли»

Alexey
10.11.2016
15:10:48
Есть гарантия - например, те данные, которые уже реплицировались (см. SELECT * FROM system.replicas, SELECT * FROM system.replication_queue) никуда не исчезнут.

yopp
10.11.2016
15:11:10
Это не гарантия

Stanislav
10.11.2016
15:11:28

Виктор
10.11.2016
15:12:10
Не очень понятно, каких гарантий вы ожидаете. Синхронная репликация, если речь про это, дорогая вещь и не работает на больших потоках данных.
Надёжную вставку (exactly once) сделать можно без проблем.

Igor
10.11.2016
15:12:49
О, кстати, как?

yopp
10.11.2016
15:12:56

Stanislav
10.11.2016
15:13:01

Igor
10.11.2016
15:13:12
Я делаю через промежуточную таблицу и INSERT INTO table SELECT FROM temp_table WHERE id NOT IN (SELECT id FROM table);
т.к. записей со временем становится дофига, заодно делаю фильтр по экстремумам (min/max от timestamp'а, например)

Fike
10.11.2016
15:14:01
вам точно нужна CP-система для аналитики?

Виктор
10.11.2016
15:16:08
Повторными вставками, да

Evgeniy
10.11.2016
15:16:19
вообще это неплохо иметь гарантию вставки батча на сервер + 1 реплику

Google

yopp
10.11.2016
15:16:37
CH судя по документации это очень большое количество компромиссов и «tradeoffs» для обеспечения высокой производительности на ряде специфичных нагрузок.
И хайп который из всех утюгов, звучит как «CH серебрянная пуля для аналитики», хотя есть куча подводных камней. Q&A на HL показателен
Меня очень сильно беспокоит что про подводные камни почти нигде никакой информации нет

Fike
10.11.2016
15:21:25
я, в общем, не знаю даже как ответить, кроме повтора "вам точно нужна система с невероятными гарантиями для аналитики"?
я понимаю, что приятно иметь кворумную запись и записывать данные однократно

yopp
10.11.2016
15:21:46
мне нужна гарантия что после OK данные рано или поздно появятся
всё

Fike
10.11.2016
15:22:01
но это вообще не нужно таким продуктам

yopp
10.11.2016
15:22:10
мне не нужно гарантии что они появятся сразу после OK
как не нужно?

Fike
10.11.2016
15:22:54
это нужно хранилищам данных. вы же не будете в CH хранить сами данные?

yopp
10.11.2016
15:22:54
если я деньги считаю, то как не нужно?

Fike
10.11.2016
15:23:15
вы не будете иметь аккаунт с балансом в CH

yopp
10.11.2016
15:23:29
я не собираюсь хранить данные в CH

Fike
10.11.2016
15:23:37
ну вот

Vladislav
10.11.2016
15:23:40

yopp
10.11.2016
15:23:52
что «ну вот»?
аналитка по деньгам, вы не поверите, это частный юзкейс

Google

Fike
10.11.2016
15:24:30
и там ничего страшного не произойдет, если 1% данных потеряется

yopp
10.11.2016
15:24:34
я хочу посчитать сколько денег мне надо выплатить за некоторые виды событий партнёрам

Fike
10.11.2016
15:24:42
эт не аналитика

yopp
10.11.2016
15:24:42
окей

Vladislav
10.11.2016
15:24:48
CH - это аналитика по логам, ни больше, ни меньше...

yopp
10.11.2016
15:24:50
всем спасибо :)
короче CH это не аналитика, это игрушка для сбора «метрик на глазок»

Vladislav
10.11.2016
15:25:28
или так, да

yopp
10.11.2016
15:25:50
как long term сторадж для прометея покатит

Fike
10.11.2016
15:25:55
ну я все-таки скажу еще раз, что с CH не сидел, но описываемые требования - это требования к хранилищу и бизнес-логике

yopp
10.11.2016
15:26:48
я пойду пожалуй

Vladislav
10.11.2016
15:26:49

yopp
10.11.2016
15:26:51
спасибо

Fike
10.11.2016
15:27:46
окей, давайте от обратного
какой плохой кейс представляется вам, когда мы обсуждаем этот аспект?

Evgeniy
10.11.2016
15:30:22
Залили данные и не знаем залили ли
Какой тут ещё кейс

Igor
10.11.2016
15:30:44
почему не знаем?
сервак же ответил "ОК"

Fike
10.11.2016
15:30:45
Ага, а чт опроизойдет для условного бизнеса?

Google

Evgeniy
10.11.2016
15:31:06
Так пишут что ок это не факт что ок

Fike
10.11.2016
15:31:27
А для бизнеса что?

Igor
10.11.2016
15:31:31
ну, я может неправильно понял, но "не факт что ок" относилось к репликам, разве нет?

Fike
10.11.2016
15:31:54
Ну и опять же, вся штука про распределенные системы - это building reliable things out of unreliable blocks. Если у вас бизнес-требование, что запись должна быть добавлена - то та самая eventual consistency просто достигается оберткой-приемником, который повторяет вставку раз в минуту, если не видит добавленной записи.

Vladislav
10.11.2016
15:33:03

Fike
10.11.2016
15:33:16
(с придыханием) микросервис

Vladislav
10.11.2016
15:33:24
обертка падает, вслед за железкой БД?
хотя тут наверно я не прав

Fike
10.11.2016
15:33:55
все, мне бежать надо, но ей-богу вы завышенные требования к продукту предъявляете. это как пинать php за отсутствие асинхронности.

Vladislav
10.11.2016
15:34:24
наверно потому что продукт возвышенно назвался БД с аналитикой