@clickhouse_ru

Страница 175 из 723
Alexander
20.06.2017
13:17:08
У меня продолжение вчерашнего вопроса: как при вставке в таблицу в default в середине таблицы - пропустить это значение, чтоб оно сработало из default как раз?

nikoinlove
20.06.2017
13:19:14
за 200 баксов в месяц можно кластер из трех i7 32гиговых собрать в хетзнере

Maksim
20.06.2017
13:20:24
@milovidov_an Алексей хотел бы услышать ваше мнение на счет clickhouse, почему он такой прожорливый или может мы делаем что-то не так

nikoinlove
20.06.2017
13:20:49
ну у вас в память оно явно не влезает, а хранилище у амазона по дефолту тормозное

Google
nikoinlove
20.06.2017
13:21:06
сколько иовейт-то?

Maksim
20.06.2017
13:22:10
почти 0-1% всегда

nikoinlove
20.06.2017
13:24:06
ну тогда надо знать запрос:) сожрать 100м рядами одно ядро не сложно) мы же не знаем чего ты там считаешь.

Alexander
20.06.2017
13:25:15
Как раз статья на тему - сравнение ClickHouse на AWS с физическим сервером и с Redshift: https://www.altinity.com/blog/2017/6/20/clickhouse-vs-redshift
Читаю это. И видно что люди занимаются тем же самым - нормализуют строки. все пытаются нормализовать строки :)

Andrey
20.06.2017
13:33:41
@milovidov_an Алексей хотел бы услышать ваше мнение на счет clickhouse, почему он такой прожорливый или может мы делаем что-то не так
Да потому что это OLAP. В отличие от того же PG работает в множестве потоков и максимально мобилизует ресурсы сервера для выполнения запроса.

Alexander
20.06.2017
13:36:19
Может там что-то конкретное тормозит - типа asc? Или toString?

Maksim
20.06.2017
13:39:31


load average 1.5

nikoinlove
20.06.2017
13:40:21
оно таки влезает в память судя по объему

Maksim
20.06.2017
13:41:07
эти 3 запроса выполняются каждые 5 секунд по очереди



вот запустились еще парочку запросов для показа статистики. load average 3

3 ядра забито из 4

Google
Andrey
20.06.2017
13:44:24
поле с датой используете в where?

если вам графики рисовать, то наверное можно не все вытаскивать, а только последние N минут/секунд

Maksim
20.06.2017
13:44:54
да конечно

а если я хочу посмотреть суммарное количество показателей за месяц

Alexey
20.06.2017
13:49:58
Спотнкулись со словарями. Переопределил dictionaries_config через отдельный файл <yandex> <dictionaries_config>dictionaries.d/*.xml</dictionaries_config> </yandex> По данному пути положил словарь, но он не подхватывается, хотя [root@xdray-3 clickhouse-server]# grep dictionaries_config config-preprocessed.xml <dictionaries_config>dictionaries.d/*.xml</dictionaries_config> Перезапуск сервера не помогает

если положить словарь в /etc/clickhouse-server то все подхватывает

т.е. работает дефолтный патерн <dictionaries_config>*_dictionary.xml</dictionaries_config>

в чем подвох?

prll
20.06.2017
13:58:34
а если /etc/clickhouse-server/dictionaries.d/*.xml ?

Ivan
20.06.2017
13:59:07
Максим, попробуй кэшировать эти запросы. У меня разработчики накосячили чуть чуть с демонами и тим вот всем

и не заметили, сервер две недели был в 100% утилизации

f1yegor
20.06.2017
13:59:33
кто может подсказать, нормальный синтаксис с join пранировали на Q3?

Ivan
20.06.2017
13:59:37
накинул кэширование - сразу в 0 стало

Alexey
20.06.2017
14:00:27
показать содержимое чтоль?

и еще попутно. Видел тут много про "DB::NetException: I/O error: Broken pipe:" Какая сейчас ситуация?

есть релиз с фиксом?

Maksim
20.06.2017
14:01:38
Ivan
20.06.2017
14:01:51
да вроде не кэшируется

я просто нгинксом в кэш кидаю, очень годно и удобно

Google
Maksim
20.06.2017
14:02:15
я что-то пригрустил. вначале небыло предела моему счастью когда мы слезли с mysql, а теперь это какой нужен сервер чтобы обслужить хотябы 500 реал тайм человек..

Ivan
20.06.2017
14:02:35
мне кажется вы используете кликхаус как-то не так :)

это не замена mysql, это аналитическая базка

где малое количество юзеров делают какое-то количество запросов на огромных наборах данных

и кх в этом великолепен

Maksim
20.06.2017
14:03:24
мы только для статистики её используем

но на основе почти 1 млрд записей мы строит пользователю графики и отчеты

а админу свои отчеты более показательные

про nginx не понял. как ты его связал с кх запросы ведь летят на порт кх

Ivan
20.06.2017
14:04:26
мы используем веб интерфейс кх для запросов

Maksim
20.06.2017
14:04:41
smi2 ?

Ivan
20.06.2017
14:04:45
да

Maksim
20.06.2017
14:05:13
а мы шлем запросы напрямую на порт сервера через драйвер сми2

Ivan
20.06.2017
14:05:24
но та статистика, которая отрисовывается юзерам - предаггрегированная

нам оказалось проще на стороне загрузки раскидывать по разным базам статистику

и с нее делать запросы

Maksim
20.06.2017
14:07:00
если я захочу посмотреть график посекундно мне агрегация не подходит

Ivan
20.06.2017
14:07:30
аггрегируй по секундам :)

Maksim
20.06.2017
14:07:33
схлопнуть 1 млрд в 50 млн не проблема. но это будет по минутам или часам

а при достижении большей нагрузки 50 млн когда нибудь снова привратяться в 1 млрд

Google
Maksim
20.06.2017
14:08:18
я думаю за пол года спокойно

Ivan
20.06.2017
14:09:00
мне кажется ты ожидаешь от кх чего-то невозможного в рамках инсталляции на c2.xlarge

Maksim
20.06.2017
14:09:05
вот интересно как яндекс построил свои метрики. у них ведь и кеша никакого нету. прямые запросы. я конечно понимаю что у них сервера реактивные, но я думаю в чем-то есть принципиальная разница архитектурная в хранении данных может

Kirill
20.06.2017
14:10:19
скорее всего там в индекс юзерайди добавлен и не нужно лопатить все данные

Pavel
20.06.2017
14:10:36
я очень сомневаюсь, что у яндекса нету "кэша" который копит свежие данные и мгновенно выдает их в метрике

Maksim
20.06.2017
14:10:56
ну так писал миловидов их начальник по clickhouse

Pavel
20.06.2017
14:10:56
в веб интерфейсе я имею в виду

Ivan
20.06.2017
14:11:00
дорого на их объеме такой кэш содержать

я думаю выезжают за счет распределенных запросов

Maksim
20.06.2017
14:11:50
ну user_id это хорошо. решает много проблем

но если нужно построить отчет по всем пользователям суммарный

такой запрос просто повалит сервер на бочок

Kirill
20.06.2017
14:13:40
ну, агрегируйте такой отчет отдельно, в любом случае подобные вещи дико считать по сырой статистике

nikoinlove
20.06.2017
14:13:49
построить расчет по всем это задача мапредьюса и не реалтаймовая

Maksim
20.06.2017
14:16:44
вернее не такой же. а с тем набором полей который необходим в отчете. просто пусть суммирует для каждого пользователя

Kirill
20.06.2017
14:19:57
зачем для каждого если у вас проблема с отчетом по всем ?

Ivan
20.06.2017
14:20:14
а вдруг понадобится :)

надо все-все предусмотреть

Google
Ivan
20.06.2017
14:20:20
посекундно

prll
20.06.2017
14:20:30
показать содержимое чтоль?
нет, прописать <dictionaries_config>/etc/clickhouse-server/dictionaries.d/*.xml</dictionaries_config>

Andrey
20.06.2017
14:20:48
есть релиз с фиксом?
А он уже в репах?

Alexey
20.06.2017
14:21:47
А он уже в репах?
Это я как бы спрашиваю

Andrey
20.06.2017
14:22:35
Это я как бы спрашиваю
А) ну на прошлой неделе тут в чате говорили что в течение нелели примерно будет. Так что надеемся на этой неделе )

Maksim
20.06.2017
14:23:45
зачем для каждого если у вас проблема с отчетом по всем ?
я имею ввиду что вместо 1 большой таблицы. делать несколько таблиц по секундно, по минутно, по часам, дням, месяцам. Соответственно по секундно можно выбрать диапазаон только час. по часам день. Ну и агрегировать в разные таблицы данные

или как

Kirill
20.06.2017
14:26:57
храните сырую стату столько сколько она вам реально нужна, а для отчетов используйте уже схлопнутую по минутам или по 15 минут (не знаю какая вам точность нужна)

Alexander
20.06.2017
14:31:08
+1. Даже кдб такого не выдержит. Из-за этого много статсов. Без этого никуда.

papa
20.06.2017
14:53:29
я очень сомневаюсь, что у яндекса нету "кэша" который копит свежие данные и мгновенно выдает их в метрике
метрика выдает отчеты из кх. но у нас 400+ машин и при необходимости используется семплирование.

Maksim
20.06.2017
15:24:29
что представляет из себя это сэмплирование?
Грубо говоря по индексу читается только часть данных в надежде на то, что получится достаточно репрезентативная выборка

papa
20.06.2017
15:25:58
что представляет из себя это сэмплирование?
в некоторых случаях клиенту все равно, пришло к нему на сайт 1000 человек или 1001. тогда можно строить отчет по части данных, который показывает примерные числа, но работает быстрее.

Maksim
20.06.2017
15:29:51
а если важно

Pavel
20.06.2017
15:30:11
тогда кликхаус не используют

а тащут ACID базу

Maksim
20.06.2017
15:30:36
а если важно
Тогда и модели данных другие используют

Maksim
20.06.2017
15:35:46
в общем из большой базы сырых данных надо делать подготовленные агрегейтмердж таблицы а лучше summerge. но проблема потом добавлять новое поле, ведь update нету и добавить данные из сырой в подготовленную не получится

Alexey
20.06.2017
15:35:57
нет, прописать <dictionaries_config>/etc/clickhouse-server/dictionaries.d/*.xml</dictionaries_config>
Вроде помогло. Правда я еще одновременно откатился на чуть раньшую версию CH. Но думаю именно абсолютный путь тут помог. Спасибо!

prll
20.06.2017
15:39:03
там разная логика для путей начинающихся с / и просто name*.xml

papa
20.06.2017
15:46:48
в общем из большой базы сырых данных надо делать подготовленные агрегейтмердж таблицы а лучше summerge. но проблема потом добавлять новое поле, ведь update нету и добавить данные из сырой в подготовленную не получится
то что нужно делать зависит от того, скольк у вас данных пишется, сколько у вас данных читается, какой сервис с какими отчетами вы делаете, какие у вас требования к нему по времени ответа, количеству запросов, точности ответа, а также сколько у вас есть на это денег.

может быть несколько summing merge tree подойдут.

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