@clickhouse_ru

Страница 396 из 723
Сергей
22.01.2018
06:22:43
А зачем кластер на одном сервере собирать?

Кролику становится не по себе если 1) у вас ооооооочень много очередей 2) если вы его превращается в CDN, то есть гоняете кучу лишних данных

Maksim
22.01.2018
06:57:11
кластер на одном сервере, в docker-compose развернут, там точно с сетью нет проблем
мне кажется, что фраза «docker-compose, с сетью нет проблем» сама по себе несет зерна самоотрицания, но можно посмотреть чем именно занят кролик внутри

Google
Олег Иванович
22.01.2018
07:15:37
NATS не подходит по 2 критериям производительность подходит

спокойно держит при каком проценте потерь сообщений ?
когда тестил, и 7.5к держало без проблем пока не понятна причина, того что сейчас происходит

Dmitry
22.01.2018
07:18:19
nsq еще есть

Yury
22.01.2018
07:18:41
Kafka? )
Это очень специфичная очередь

Олег Иванович
22.01.2018
07:18:48
уже советовали NSQ смотрим

Dmitry
22.01.2018
07:18:59
специфики в нем своей много, конечно

но из хорошего -- по отсечке начинает писать на диск

Andrey
22.01.2018
07:19:17
Dmitry
22.01.2018
07:19:30
в том, что там клиенту нужно найти писателей

и для этого отдельный сервис есть

nsqlookupd

Google
Dmitry
22.01.2018
07:20:21
первые сообщения могут задерживаться до 15 секунд

пока он их не найдет

и второе -- гарантия доставки at least once

Dmitry
22.01.2018
07:20:45
возможны дубликаты

и не гарантирован порядок сообщений

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

но нужно понимать, что там нет какого-то кластера с сервисом

Slach
22.01.2018
07:27:52
create table нет, но есть create table ... on cluster
я в курсе, вот только что будет с этим create table on cluster при подключении новой ноды в новый шард? как оно работает?

Vladimir
22.01.2018
07:29:44
Это очень специфичная очередь
Которую очередью назвать сложно :)

Yury
22.01.2018
07:29:54
ну да

Felixoid
22.01.2018
07:32:56
Далее ClickHouse сам найдет, что надо стянуть

Stanislav
22.01.2018
07:34:30
Каталоги в data создавать надо при этом?

Dmitry
22.01.2018
07:35:00
Которую очередью назвать сложно :)
Смотря что считать очередью

если AMQP какой-нибудь, то да, не очередь

Slach
22.01.2018
07:35:25
Мы это всегда решали копированием нужных /var/lib/clickhouse/metadata
согласитесь что это все таки костыль? вообще конечно для clickhouse не хватает какой то CLI утилиты для менеджмента кластеров

Felixoid
22.01.2018
07:36:35
Каталоги в data создавать надо при этом?
Не надо, в любом случае. Если это реплика новая, то всё потянет. Если шард, то на нём и данных новых быть не должно. Копировать мету надо в оффлайне, конечно

Slach
22.01.2018
07:39:41
А Вы mysql новую реплику как-нибудь инициируете первый раз?
да инициализирую, через xtrabackup streaming но точно не копированием... но мысль хорошая, спасибо, я подумаю и новая реплика mysql это все таки вообще не тоже самое что новый "шард" в clickhouse ;)

Google
Александр
22.01.2018
08:45:22
Здравствуйте. Нам необходимо "поиграться" с CH на тестовых данных. В статье http://clickhouse.readthedocs.io/en/latest/reference_ru.html есть ссылка на тестовые данные, но она не актуальная. Есть у кого архив?

Александр
22.01.2018
09:08:39
@Slach, @rheinx спасибо!

ilyatru
22.01.2018
10:40:28
Всём привет. Необходимо сделать "connect by prior" селект из кх. Почитал документацию, не нашёл как. Может кто знает?

Подозреваю, что можно сделать через массивы

arrayJoin

Ivan
22.01.2018
11:59:42
Подскажите, кто сталкивался <Error> Application: DB::Exception: Cannot lock file /var/lib/clickhouse/status. Another server instance in same directory is already running. Как пофиксить?

Появилась после не корректного завершениния работы, процесса clickhouse-server

Рестартовать пробовал

Проблем в записии и чтении не вызывает

Stanislav
22.01.2018
12:01:54
прибить/переименовать файл перед рестартом пробовал?

prll
22.01.2018
12:02:54
это после обновления ?

Vladimir
22.01.2018
12:03:05
всем привет. получаем ошибку Method dropPartition is not supported by storage MaterializedView - получается, что удалить партиции в мат.вьюхе невозможно? а так же детачнуть и т.п.? не нахожу об этом в документации

Kirill
22.01.2018
12:08:44
Посмотрите список таблиц SHOW TABLES и найдете по названию вьюхи, но с .inner., а лучше их создавать на уже существующие, дальше проще жить будет

Vladimir
22.01.2018
12:10:01
спасибо

papa
22.01.2018
12:25:23
Всём привет. Необходимо сделать "connect by prior" селект из кх. Почитал документацию, не нашёл как. Может кто знает?
иерархические запросы в лоб работать не будут, но если вы сохраните транзитивное замыкание иерархии в массив, то дальше действительно можно arrayJoin, джойн на себя и попробовать выбрать какое-то подходящее множество объектов.

Ivan
22.01.2018
12:32:29
Google
Юрий
22.01.2018
12:38:05
Привет! есть способ в запросе внутри IN передать внешний фаил?

нашёл, спасибо)

ilyatru
22.01.2018
13:48:46
В таблице есть колонки parent, child, other data

В колонке child хранятся имена парентов

papa
22.01.2018
13:50:16
ilyatru
22.01.2018
13:50:35
Надо найти все строки у которых конкретный парент

papa
22.01.2018
13:50:38
вам нужен parents, который равен parent.parents + parent, при создании (перед вставкой) его возможно можно вычислить.

ilyatru
22.01.2018
13:51:09
чтоб никто не догадался?
К сожалению данные уже лежат в кх

Алексей
22.01.2018
13:52:54
господа вот этот https://github.com/yandex/ClickHouse/pull/1806/files будет только в новой версии ?

1.1.54337 с точки зрения докера сломана получается ?

Vahram
22.01.2018
14:01:16
Привет! Кто нибудь знает в какой момент обновляются внешние словари? У меня HTTP источник дал ошибку и ClickHouse больше не пытается получить данные. Есть вариант ручного запуска обновления словаря?

Ololo
22.01.2018
14:11:59
Скажите, пожалуйста, если я использую summing merge tree, смогу ли я потом извлечь сырые записи? И как, если это возможно?

Vahram
22.01.2018
14:12:08
SYSTEM RELOAD DICTIONARY;
Спасибо Владимир!

Ololo
22.01.2018
14:12:31
То же самое про replacing merge tree, там определённо поддерживается версионность. Но я так и не понял как вытаскивать оттуда старые значения.

papa
22.01.2018
14:16:55
То же самое про replacing merge tree, там определённо поддерживается версионность. Но я так и не понял как вытаскивать оттуда старые значения.
основной смысл этих движков - фоновый мерж данных по ключам, который уменьшает количество хранимых данных и отличается только алгоритмом сворачивания нескольких строк в одну.

исходные данные при этом не сохраняются.

Ololo
22.01.2018
14:21:38
Спасибо.

R-omk
22.01.2018
14:47:20
1.1.54337 с точки зрения докера сломана получается ?
привет, не хочешь заняться созданием образа который собирает из исходников? я тут чето начал

Google
Алексей
22.01.2018
14:47:50
Мне оверкил

R-omk
22.01.2018
14:48:28
а кому не оверкил? я думаю многим бы понравилосб если бы контейнер собирался с нуля, это было бы гораздо гибче

Ololo
22.01.2018
14:51:31
Какими порциями оптимально даннные сажать? В таблице 60 столбиков. Попробовал 3 ляма одной котлетой пихнуть, что-то мне не нравится результат (озушка)

Slach
22.01.2018
14:52:37
а кому не оверкил? я думаю многим бы понравилосб если бы контейнер собирался с нуля, это было бы гораздо гибче
ну тогда контейнер еще и под все платформы собирать а-ля postgresql только не думаю что оно на alpine каком нибудь взлетит зависимостей слишком много

текущий контейнер нормально работает я правда всегда прокидываю через volume собственный config.xml , users.xml и macros.xml

Slach
22.01.2018
14:55:00
зависимостей слишком много?? так написано что вообще нет зависимостей кроме libc
;))) насколько я смотрел пулл реквесты просто остальное как git submodules выкачивают перед тем как в cmake собрать

R-omk
22.01.2018
14:55:34
;))) насколько я смотрел пулл реквесты просто остальное как git submodules выкачивают перед тем как в cmake собрать
ну так это обычный процесс сборки все тут написано https://clickhouse.yandex/docs/en/development/build.html

Alexey
22.01.2018
14:56:48
Какими порциями оптимально даннные сажать? В таблице 60 столбиков. Попробовал 3 ляма одной котлетой пихнуть, что-то мне не нравится результат (озушка)
наверное, имеет смысл котлету до фрикадельки уменьшить. у меня, например, вообще по 100-200к чипсинки, залетают нормально, раз в несколько сек

Ololo
22.01.2018
14:58:43
Спасибо. Попробую по 100к. Или даже меньше. Таблица больно широкая.

Max
22.01.2018
16:51:23
Коллеги, мб кто-нибудь знает, нет ли способа сделать чтобы КХ ходил за словарями в через ODBC без prepared_statement? Это взывает проблемы при работе через pgbouncer не в режиме сессионного пулинга соединений.

Max
22.01.2018
17:28:55
Пока нет. Честно сказать, я не обращал внимания на то, что там внутри используются prepared statements.
Понятно. Видимо внутри метрики либо никаких словарей в постгресе, либо они совсем ненагруженные)

Alexey
22.01.2018
17:29:30
Да, у нас нет словарей в Постгресе.

Max
22.01.2018
17:47:35
Эта задача назначена, но по ней ещё не было работы.
Алексей, пользуясь случаем, нет ли новостей по этой проблеме? мб можно где то ее потречить?

Alexey
22.01.2018
17:48:51
Этой задачей занимается @proller

Max
22.01.2018
17:50:23
Спасибо. Будем ждать.

Пока нет. Честно сказать, я не обращал внимания на то, что там внутри используются prepared statements.
По поводу баунсер уточню кейс. В случае когда нужно тащить словари из нагруженной БД, на ней 99% случаев есть пулер соединений. Если пулер в режиме транзакций или стейтментов то возникают ошибки вида >ERROR: prepared statement "_PLAN0x88c8580" does not exist При этом в логе постгреса подряд идущие записи >ERROR: prepared statement "_PLAN0x88c8580" does not exist >ERROR: prepared statement "_PLAN0x88c8580" already exists >ERROR: prepared statement "_PLAN0x88c8580" does not exist Такое чувство, что odbc драйвер в кликхаусе одинаково именует prepared statement'ы для разных словарей и стейтмент застревает в рандомной сессии пуллера.

Проблема не критичная, конечно, но добавляет сложностей в эксплуатации нагруженного постгреса, тк надо помнить что есть пользователи напрямую. Просто так не поставишь пулер на паузу и не перезапустишь постгрес.

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