@clickhouse_ru

Страница 160 из 723
Pika
02.06.2017
16:56:49
Как в CH устроенно хранение вложенных стурктур данных?

Alex
02.06.2017
17:00:45
Вложенная структура почти эквивалентна нескольким массивам с одинаковой длиной

И хранится также

Массивы хранятся как столбец с размерами + столбец с самими значениями, записанными подряд.

Google
Pika
02.06.2017
17:10:56
А столбец с размерами содержит смещения относительно головы массива?

А как хранятся строки переменной длинны? Длинна + последовательность байт или как с массивами?

Alex
02.06.2017
17:14:23
Столбец с размерами хранит размер массива в каждой строке.

Строки хранятся в одном столбце - длина + последовательность байт

Igor
02.06.2017
18:24:15
Andrey
02.06.2017
18:36:24
Друзья, хочется страшного. Группировать выборку по некоторым полям, а остальные поля выводить любые, желательно первые попавшиеся. Это возможно?

Igor
02.06.2017
18:36:42
Any ?

anyLast()

Andrey
02.06.2017
18:37:16
Any ?
Ооо, да, кажись оно.

сек, попробую)

Да, то что нужно! Спасибо!

Andrey
02.06.2017
19:37:10
Это не страшное даже. Тут выше обсуждение как без такого не выжить по памяти
Ну это просто обычно поведение MySQL ) на сколько я знаю только он так умеет.

Google
Maksim
02.06.2017
19:49:49
Мускль делает any по умолчанию. Постгрес очень жесткий тут

Pika
02.06.2017
21:11:50
Имеет смысл в CH делать схему звезда с таблицей фактов и измерений или одна таблица-простыня наше всё?

Igor
02.06.2017
21:16:55
+1 за простыню со словарями

Pika
02.06.2017
21:27:23
@garikanet используешь словари только как справочник?

Igor
02.06.2017
21:30:26
да, userAgent, location_id, и другие систем. обьекты через id

Так же, мы используем "хитро" таблицы Summing, допустим у нас есть список рекламных компаний(сайтов/товаров...) которые, есть словарь. Мы инсертим в таблицу каждую минуту все активные компании/товары и делаем +1, тогда можно достать все ключи словаря - через запрос в эту таблицу)) ( в ожидании ф-ционала в самом CH ))

papa
02.06.2017
21:44:35
а старые удаляете?

Igor
02.06.2017
21:47:36
нет, у нас объекты insert only, у них статус = active|stop тут тонкость в виде race condition - но мы списываем на мат.погрешность в наших задачах

Maksim
03.06.2017
16:15:32
ок, у меня теперь назрел следующий вопрос: а как вы тестируете проекты, которые используют кликхаус?

мокаете запросы к кликхаусу или гоняете всё на тестовом сервере?

f1yegor
03.06.2017
22:01:52
часть мокаем, для интеграции - в gitlab можно удобно подкючать докер-образы

Maksim
04.06.2017
08:19:41
а как посоветуете быть с геолокацией. Это то, что лучше писать в базу или это вычислимые данные? Кажется, что это надо писать в базу, потому что данные то меняются.

Yury
04.06.2017
08:22:15
у нас событиям добавляется локация пользователя в момент события. А то они любят ее менять произвольно.

Maksim
04.06.2017
13:15:13
IP -> координаты

я про это

Igor
04.06.2017
13:15:42
базы geoip меняются, айпишники не меняются

Pavel
04.06.2017
13:17:06
Для геолокации были патчи на префикс лакапы по айпи

Google
papa
04.06.2017
13:18:13
IP -> координаты
т.к. эта связь меняется со временем, то если нужно знать где было событие, то либо надо помнить всю историю геопривязки и джойнить при чтении, либо джойнить в момент записи. второе по-моему проще.

Maksim
04.06.2017
13:18:21
ок

разумно

хотя я так понимаю, что как раз для этого есть словари с временем?

papa
04.06.2017
13:20:51
да, кейс примерно этот. по-моему там сейчас гранулярность времени по датам, он только увеличивается в размерах, и при чтении он работает при каждом чтении, а при записи один раз. зато его можно апдейтить, если что-то пошло не так.

Vadim
04.06.2017
14:29:55
/stat@combot

Combot
04.06.2017
14:29:56
combot.org/chat/-1001080295593

Андрей Михайлович
04.06.2017
18:25:31
чо там чо там про геолокацию?

тыкдом научился работать с геоданными?

papa
04.06.2017
18:30:25
смотря что считать "научился"

Александр
04.06.2017
20:05:32
Всем привет! Кто-то сталкивался с багами оптимизации запросов самим КХ? Когда он выкидывает данные из подзапроса?

Вот тут более детальное описание https://groups.google.com/d/msg/clickhouse/tzLZG-FWbvE/siX-Df9tBAAJ Если кто-то ловил такое, то получилось как то обойти или нет?

Андрей Михайлович
04.06.2017
20:48:19
смотря что считать "научился"
ну там считать пересечения, полигоны, линии, расстояния и прочие плюшки

papa
04.06.2017
20:48:50
расстояния - да, все остальное - нет.

так что скорее нет, чем да.

Ilya
05.06.2017
05:52:06
Коллеги, так может подскажете, можно ли доступиться из tabix.io (открываю с сайта, без инсталляции) к серверу CH в локальной сети с другой машины? Консоль хрома дает такую ошибку: XMLHttpRequest cannot load http://10.0.0.234:8123/s1/query. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://ui.tabix.io' is therefore not allowed access. The response had HTTP status code 501.

просто в браузере проверку ok пройти могу

да и запрос тоже получается... если самому query в строке написать

Vladimir
05.06.2017
05:58:15
да и запрос тоже получается... если самому query в строке написать
Проще в докерер табих запустить. Примерно минут 10 на все про все. Из сообщения неясно - если 10.* сетка до примера тогда приведите лог нормальный. Если сетка не пример - тогда как минимум 8123 порт должен быть выставлен наружу (PAT). и такое ощущение что нужен CORS но это скорее всего уже в настройках самого tabix.io не думаю что под вас будут править. Воспользуйтесь лучше докером + табих. Либо если в локалке поднят nginx or apache тогда скопируйте архив табих с офф страницы и запустить ещё один виртуальный хост

Ilya
05.06.2017
06:00:29
локалка, в одном сегменте. у меня машина 10.0.0.53, CH - 10.0.0.234. никаких проксей, ничего. В принципе можно с веб-based версии tabix достучаться до локального CH или нет?

Google
Ilya
05.06.2017
06:01:19
где лог взять? это единственная ошибка в консоли хрома. информ. сообщения про отсутствие перевода я вырезал

Vladimir
05.06.2017
06:01:54
Ilya
05.06.2017
06:01:55
просто из браузера я могу вбить строчку и получит select по таблице

а где можно прочитать про необходимые настройки? на сайте пусто

я же не знаю, как табикс устроен. может он все js скрипты к себе затаскивает

Ilya
05.06.2017
06:03:37
локалка — винда

CH - ubuntu

Vladimir
05.06.2017
06:04:47
CH - ubuntu
Могу в личку написать чтобы не разводить флуд

Ilya
05.06.2017
06:05:10
буду благодарен

Vladimir
05.06.2017
06:21:11
Для безопасности уже давно браузеры не умеют делать cross site запросы если у сервера не выставлен хедер cors

Можно искать в гугле по запросам clickhouse cors

https://github.com/yandex/ClickHouse/pull/83 - кажется вот pr который добавил поддержку этого в кх и там же указано как пользоваться.

Александр
05.06.2017
07:49:17
https://github.com/yandex/ClickHouse/pull/83 - кажется вот pr который добавил поддержку этого в кх и там же указано как пользоваться.
У меня без проблем все работает внутри локалки. Сервер на другой тачке, табикс локально поднят

Главное кх на этот хост повесить, что бы не 127.0.0.1 слушал

Mikhail
05.06.2017
11:13:59
Говорит, Method dropPartition is not supported by storage MaterializedView.
Нужно использовать обратные кавычки: alter table DatabaseName.`.inner.TableName`

Sergey
05.06.2017
13:55:01
Кто-нибудь использовал Clickhouse в Laravel5? Как поступили с миграциями?

Igor
05.06.2017
13:55:10
так в пхп же инструмент был от сми2

Google
Igor
05.06.2017
13:55:28
https://github.com/smi2/phpMigrationsClickhouse не?

Sergey
05.06.2017
13:59:31
Igor, спасибо не видел, планировал немного модифицировать стандартные миграции в Laravel, может кто уже это проходил.

Aleksey
05.06.2017
14:40:41
в yii2 в одну строчку заработало если что - http://joxi.ru/4vAWKbKhpjDWAW

evervoid
05.06.2017
16:22:20
Ребята, такой вопрос. Есть какие-то минимальные и рекомендуемые требования по железу на одну ноду КХ? И насколько хорошей/плохой практикой может быть расположение нескольких нод на одной физической машине?

Alexey
05.06.2017
16:48:00
Немного информации про железо есть здесь: https://github.com/yandex/ClickHouse/blob/master/doc/administration/tips.txt

Dmitry
05.06.2017
16:58:07
помогите разобраться, делаю три запроса: 1. `SELECT uniqExact(managed_object) AS qty FROM alarms WHERE ts BETWEEN toDateTime('2017-06-01T01:00:00') AND toDateTime('2017-06-01T07:00:00') or ts BETWEEN toDateTime('2017-05-30T15:00:00') AND toDateTime('2017-05-30T16:00:00')` результат = 87238 2. `SELECT uniqExact(managed_object) AS qty FROM alarms WHERE ts BETWEEN toDateTime('2017-06-01T01:00:00') AND toDateTime('2017-06-01T07:00:00')` результат = 35941 3. `SELECT uniqExact(managed_object) AS qty FROM alarms WHERE ts BETWEEN toDateTime('2017-05-30T15:00:00') AND toDateTime('2017-05-30T16:00:00')` результат = 52729 почему 87,238 <> 35,941 + 52,729 (88,670)

Nikita
05.06.2017
17:00:29
потому что один и тот же managed_object появился и в мае и июне?

Dmitry
05.06.2017
17:01:36
да, это возможно, спасибо

Виктор
05.06.2017
17:02:59
У нас в Яндекс.Метрике это главный вопрос на собеседовании

Ожидаем что люди понимают что уников складывать нельзя

Dmitry
05.06.2017
17:04:08
ну почему а если primary key?

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