@clickhouse_ru

Страница 188 из 723
Andrey
29.06.2017
17:48:17
А что в лог ClickHouse приходит при запросе с одной версии и с другой? Одинаковые ?

Tatiana
29.06.2017
17:49:42
что одинаковые? запросы одинаковые? select today() ?

Andrey
29.06.2017
17:53:42
что одинаковые? запросы одинаковые? select today() ?
В сам ClickHouse сервер такие же запросы приходят? Может драйвер что генерит не то

Sergey
29.06.2017
17:54:07
какой объект берете из resultSet? Если java.sql.Date, то в нем все равно хранится время. Считаем что это YYYY-MM-DD 00:00:00 по таймзоне сервера. Если таймзона приложения отличается, то милисекунды будут те же, но дата по таймзоне приложения может быть другая.

Google
Tatiana
29.06.2017
17:56:40
а с 0.1.14 select today() = 2017-06-29

в том же приложении

с того же сервера

Sergey
29.06.2017
17:58:03
учет таймзоны сервера добавлен в 0.1.18

Tatiana
29.06.2017
18:06:48
время в таймзоне сервера на 3 часа больше, чем в таймзоне приложения. Везде 29 июня

Sergey
29.06.2017
18:10:51
Допустим приложение в UTC, сервер в UTC+3. today() в сервере - 2017-06-29, т.е. 2016-06-29 00:00:00 UTC+3 = 2016-06-28 21:00:00 UTC, соответственно в приложении дата будет выглядеть как 2016-06-28.

Tatiana
29.06.2017
18:11:59
спасибо

Alexander
29.06.2017
18:19:45
Вопрос очередной.

У КХ свой кеш приложения (не дисковый)?

=> как понять по какому алгоритму там содержатся данные.

+ может можно в нём держать придудительного последние данные ну или типа того?

+ вопрос: в нём данные запакованные хранятся или нет? => Так как от этого зависит 100гб или 10гб памяти надо например.

Alexey
29.06.2017
20:42:54
ClickHouse, в основном, использует кэш файловой системы (не свой). В нём - сжатые данные. Отдельно есть возможность включить кэш разжатых блоков внутри ClickHouse. По-умолчанию, выключено. См. use_uncomressed_cache: https://clickhouse.yandex/docs/en/operations/settings/settings.html#use-uncompressed-cache

Google
Alexander
29.06.2017
20:46:47
Если я поставлю use_uncompressed в 0 и дисковые кеше сброшу - я могу быть уверен что это холодные тест?

Dmitry
29.06.2017
20:47:32
ну, тогда уж для дисков и read ahead отключать нужно

Alexey
29.06.2017
20:47:32
Да.

Alexander
29.06.2017
20:48:09
+ вопрос как use_uncompressed выкидывает данные => задача - очень быстрый доступ к последним данным. => т.е. как-то бы зафиксировать их в кеше.

На сервере, например, 1тб рам - чего простаивать.

Alexey
29.06.2017
20:49:09
Ещё есть вариант для теста такой: SET min_bytes_to_use_direct_io = 1, merge_tree_uniform_read_distribution = 0; Тогда данные будут читаться с O_DIRECT (без кэша). Это стоит использовать только для теста.

Alexey
29.06.2017
20:50:43
> + вопрос как use_uncompressed выкидывает данные LRU > - очень быстрый доступ к последним данным. => т.е. как-то бы зафиксировать их в кеше. Тут не уверен, как лучше. Вообще, недавно вставляемые данные находятся в page cache. Но при чтении будет тратиться время на разжатие. Если включить uncompressed_cache, то будет тратиться при первом запросе, а затем использоваться готовые, пока кэш не вымоется.

Alexander
29.06.2017
20:53:28
Ага, получается немного длинноватая цепочка. Видимо параллельная запись в memory только это решило бы. Но тут я опять к индексам скатываюсь. Тогда получается на данный момент лучший вариант по этой длинной цепочке - запись => чтение в кеш

Alexey
29.06.2017
20:55:39
MergeTree с хранением части данных в оперативке без сжатия - разумная идея. От реализации ограничивает несколько вещей: - низкая потребность в этой функциональности; - трудность указания табличных настроек (опций для таблиц); сложности при репликации.

Alexander
29.06.2017
20:56:57
А может кто-то из Яндекса попросил бы лицензию на kx .com для внесения в бенчмарк? Думаю это было бы огромным мотиватором :)

... посмотреть возможно на основного ?серьёзного? конкурента.

Alexey
29.06.2017
21:01:41
Вроде бы у них с сайта можно скачать kdb+ для тестирования. По крайней мере я скачивал из любопытства, но не дошёл до создания таблиц.

Alexander
29.06.2017
21:02:43
Вроде бы у них с сайта можно скачать kdb+ для тестирования. По крайней мере я скачивал из любопытства, но не дошёл до создания таблиц.
Если будут какие вопросы - спрашивайте. Если я помню последнее - то там для свободного доступа только 32 версия - она смысла почти не имеет.



Я думаю все и так знают что за сайт.

Alexey
29.06.2017
21:05:02
Ага. Как раз там хороший пример по загрузке данных. Предлагал коллегам попробовать. Пока цели такой нет, но если будет энтузиазм, то сделаем.

Александр
29.06.2017
21:36:10
А кто подскажет, выкладывали презентацию с митапа в Минске или нет?

Alexey
29.06.2017
21:36:37
Как раз сейчас собираюсь загрузить.

Google
Александр
29.06.2017
21:36:49
Супер! Спасибо большое!

f1yegor
29.06.2017
21:36:53
?

Alexey
29.06.2017
21:37:44
Но там три штуки. Сейчас выложу свою, а остальные завтра.

https://github.com/yandex/clickhouse-presentations/tree/master/meetup7 На сайт ещё не выложили.

Хотя я понял, что у меня есть все презентации и я их сейчас выложу тоже :)

Александр
29.06.2017
21:42:52
Спасибо! Сейчас сяду смотреть :)

Alexey
29.06.2017
21:44:41
https://github.com/yandex/clickhouse-presentations/raw/master/meetup7/netmon.pdf https://github.com/yandex/clickhouse-presentations/raw/master/meetup7/internals.pdf

Maksim
29.06.2017
23:25:57
Доброй ночи кто не спит) Скажите плиз как быть когда количество данных переваливает за 50 гигабайт и это дело мы архивируем и заливаем на s3. что делают в ситуациях когда есть продакшен сервер и надо его зеркальную копию, с условием если потеряется кусок данных на проде то можно быстро восстановить?

Maksim
30.06.2017
00:05:33
Есть реплики, с них можно взять бекапы. По остальному, не понял вопрос.
что будет если у мастера отвалился кусок данных что будет на слейве ?

Igor
30.06.2017
00:06:06
в смысле - отвалился? как отвалился?

Maksim
30.06.2017
00:06:24
ну зашел джун на сервер и случайно удалил партицию

(как пример)

или диск сдох

Andrey
30.06.2017
00:06:49
На сколько помню на реплике оно останется

Особенно если случай со сдохшим диском.

Maksim
30.06.2017
00:07:06
он зеркалит на основе прямых запросов?

Andrey
30.06.2017
00:07:32
Он зеркалит данные

Maksim
30.06.2017
00:08:05
вот я и боюсь что он прозеркалит удаленные данные

Igor
30.06.2017
00:08:11
https://clickhouse.yandex/docs/en/query_language/queries.html#manipulations-with-partitions-and-parts > DETACH PARTITION > DROP PARTITION > The query is replicated

Google
Andrey
30.06.2017
00:10:22
Andrey
30.06.2017
00:11:56
Мне кажется это будет не штатная операция для CH. Если rm

Igor
30.06.2017
00:12:04
https://clickhouse.yandex/docs/ru/table_engines/replication.html https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_(%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B0) у кликхауса асинхронная мастер-мастер репликация емнип т.е. слейвов нет как таковых

Maksim
30.06.2017
00:12:49
то есть получится две копии

Igor
30.06.2017
00:13:14
две. три. сколько угодно.

Maksim
30.06.2017
00:13:21
это больше для распределенной нагрузки подойдет а не для варианта резервного бэкап сервера

Igor
30.06.2017
00:13:57
лучше нечетное количество серваков. кажется, в таком случае зукипер, если увидит на одном из них фигню, то двое оставшихся забьют. но я не шарю, могу ошибаться.

Andrey
30.06.2017
00:14:20
это больше для распределенной нагрузки подойдет а не для варианта резервного бэкап сервера
Для бекапа в метрике отдельный серв под реплики, который не участвует в расчётах.

Igor
30.06.2017
00:15:58
ну в зукипере-то какая-то информация ж должна храниться

зря он что ли для репликации используется но я опять же не претендую на знание. просто это кажется логичным правда, один фиг это все будет актуально только в случае использования Replicated*MergeTree

> Количество реплик одних и тех же данных может быть произвольным. В Яндекс.Метрике в продакшене используется двухкратная репликация. На каждом сервере используется RAID-5 или RAID-6, в некоторых случаях RAID-10. Это является сравнительно надёжным и удобным для эксплуатации решением. > Система следит за синхронностью данных на репликах и умеет восстанавливаться после сбоя. Восстановление после сбоя автоматическое (в случае небольших различий в данных) или полуавтоматическое (когда данные отличаются слишком сильно, что может свидетельствовать об ошибке конфигурации). вот еще из документации

Maksim
30.06.2017
00:19:33
Для бекапа в метрике отдельный серв под реплики, который не участвует в расчётах.
а что делать если партиция удалилась случайно где брать то состояние до удаления?

Igor
30.06.2017
00:20:56
если репликация есть - будет докачивать файлы с реплик там раздел есть, "восстановление после сбоя"

Andrey
30.06.2017
00:21:03
а что делать если партиция удалилась случайно где брать то состояние до удаления?
Что то судя по характеру вопросов ты похоже не просто на будущее интересуешься))

Igor
30.06.2017
00:21:40
это если DROP PARTITION не делали если делали - руки оторвать джуну и уволить, ну очевидно же!

Google
Andrey
30.06.2017
00:21:57
а что делать если партиция удалилась случайно где брать то состояние до удаления?
Есть ключик force_четотам, который указывает ноде на то что надо посинкаться

Igor
30.06.2017
00:22:24
а readonly и допуск только опытным админам от человеческого фактора не спасет?)

Maksim
30.06.2017
00:22:43
это если DROP PARTITION не делали если делали - руки оторвать джуну и уволить, ну очевидно же!
увольнение джуна это меньшее что будет дальше - расторгнутые контракты, куча слез и убытков

Andrey
30.06.2017
00:23:24
И я вот что-то не вспомню кейса когда бы мне пришлось шариться по data директории с rm в зубах

Igor
30.06.2017
00:23:30
ну тем более, раз цена так высока судя по документации, rm на партицию скорее всего пройдет безболезненно - в зукипере партиция на обоих серваках есть, по факту на одном из них нету. чо надо сделать? долить партицию со второго сервака, где она есть

Maksim
30.06.2017
00:23:52
а там она не удалится тоже?

или удалится только запросом?

Igor
30.06.2017
00:24:14
там это где? в зукипере? нет, не удалится, если rm делали. удалится только запросом опять же, я может не прав, я просто почитал щас документацию и сложилось именно такое впечатление

Maksim
30.06.2017
00:24:57
не совсем понимаю про зоокипер. ты имеешь ввиду 2 сервера мастер мастер?

Andrey
30.06.2017
00:25:02
Запросом удалится. Но вот ща вспомнил ещё про ограничение в сколько то гигов, после которых кликхаус будет просить особого ключика для разрешения удалять

Igor
30.06.2017
00:25:10
дадада, 50 гигов кажется, офигел когда недавно увидел

Maksim
30.06.2017
00:25:15
на одном удалили физически, на втором данные останутся т.к. реплицируются только запросы

Igor
30.06.2017
00:25:50
не совсем понимаю про зоокипер. ты имеешь ввиду 2 сервера мастер мастер?
почитайте доку, там вроде норм объясняется, я в субд не разбираюсь совсем и то вроде понял зукипер - отдельный сервак (или несколько), через который обмениваются метаданными все реплики КХ

Maksim
30.06.2017
00:26:20
надо настроить второй сервак и поиграться

поудалять ))

Andrey
30.06.2017
00:27:07
Как по мне так самое правильное решение. Дока + тестовый стенд

Igor
30.06.2017
00:27:24
дадада чего гадать можно хоть в виртуалках/докере поднять на одной машине всё

Maksim
30.06.2017
00:28:03
ну просто очевидно что яндекс не создает архивы по 100 петабайт ))

или сколько там

Andrey
30.06.2017
00:30:35
ну просто очевидно что яндекс не создает архивы по 100 петабайт ))
23 триллиона строк. Алексей предпочитает выражаться так :))

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