@clickhouse_ru

Страница 69 из 723
Alexey
14.02.2017
22:21:36
Спасибо! Будем как-нибудь распространять? Вариант минимум - можно запостить ссылки в те места, где раньше спрашивали на английском языке про первичный ключ.

Олег
14.02.2017
22:47:28
На clickhouse.yandex ссылку поставьте. Или в вики на github скопируйте. Информация-то ценная.

Alexey
15.02.2017
00:01:18
Спасибо - то что доктор прописал! а где-нибудь выкладывется собранная мастер версия?
Нет, не выкладываем. Сейчас выкладываем только stable версию, а она появляется только после выкладки на все наши кластера. При чём, последние две недели релиз задерживается из-за сложных изменений с именем пользователя и директориями.

Mo
15.02.2017
05:09:49
Hi guys, perhaps a newbie questions. Does ClickHouse do dictionary encoding for string columns, just like Druid.IO? And when querying with string column filters, how does ClickHouse handle it?

Google
Slava
15.02.2017
09:16:27
Здравствуйте. Подскажите пожалуйста в вопрос дизайна таблиц: есть пользователь(customer) и у него может быть множество покупок(orders), правильнее ли все поля которые относяться к orders сделать в виде nested структуры в таблице customers?

Alexander
15.02.2017
09:18:20
А не лучше ли просто сделать столбец в виде id пользователя и id покупки

&

?

и когда надо будет список покупок пользователя доставать, просто сделать SELECT ... WHERE customer_id = ...

Slava
15.02.2017
09:18:59
Вы уверены, что кликхаус хорошо подойдет для такой задачи?)
не на 100%, конечно но у меня append only вид данных и по ним требуется строить разную аналитику,

Igor
15.02.2017
09:19:34
информации о пользователе много? можно одну таблицу сделать (orders) и хранить инфу о кастомерах в ней

Slava
15.02.2017
09:23:22
информации о пользователе много? можно одну таблицу сделать (orders) и хранить инфу о кастомерах в ней
да, довольно много, т.е в мне на вставку сразу приходит документ(не скжу что большой полей 40-50), и в нем вся информация о пользователе, его покупке, какие-либо мета данные.

Igor
15.02.2017
09:25:39
много столбцов это ОК для кликхаусе, вы же не будете сразу по всем столбцам данные читать. да, данные на диске избыточно хранятся, но скорость запросов будет быстрее, чем джойны, имхо

Slava
15.02.2017
09:29:20
много столбцов это ОК для кликхаусе, вы же не будете сразу по всем столбцам данные читать. да, данные на диске избыточно хранятся, но скорость запросов будет быстрее, чем джойны, имхо
спасибо, я в примерно таком же ключе демал, т.е в моем случае лучше сделать плоскую структуру и не делать nested, если я верно понял?

Igor
15.02.2017
09:31:54
Да, но я могу ошибаться, надеюсь меня поправят если что)

Google
Fike
15.02.2017
09:56:57
не на 100%, конечно но у меня append only вид данных и по ним требуется строить разную аналитику,
Кликхаус обычно используют не как ssot (single source of truth, грубо можно обозначить как первичное место хранения данных), а как вторичный сервис, куда сгружаются данные из ssot. По ряду причин из-за этого кликхаус и не стоит использовать как ssot (например, внутренний движок заточен на поиск по колонкам, а не на вытаскивание целиковых записей, и доступ к конкретной записи может выражаться в N чтениях в кликхаусе, когда в row-based или k/v базе это будет одно чтение с диска), и мое личное мнение тоже состоит в том, что непосредственно хранение данных лучше оставить другому сервису.

Slava
15.02.2017
10:02:01
Кликхаус обычно используют не как ssot (single source of truth, грубо можно обозначить как первичное место хранения данных), а как вторичный сервис, куда сгружаются данные из ssot. По ряду причин из-за этого кликхаус и не стоит использовать как ssot (например, внутренний движок заточен на поиск по колонкам, а не на вытаскивание целиковых записей, и доступ к конкретной записи может выражаться в N чтениях в кликхаусе, когда в row-based или k/v базе это будет одно чтение с диска), и мое личное мнение тоже состоит в том, что непосредственно хранение данных лучше оставить другому сервису.
спасибо, стало более понятнее. У меня похожий кейс, кажется, вствляется большой документ, а читать требуется не большое количество колонок(в сравнении вставкой), вернее даже не читать, а строить некую аналитику. И данные только добавляются, без изменений и удалений их в будущем

f1yegor
15.02.2017
12:44:15
возможно баг. у меня 2 колонки UInt8. первая является default для второй. когда пытаешься alter table drop column <первая> -DB::Exception: Unknown identifier: <первая>. если удалить вторую(with default) - все удаляется

version 1.1.54140. docker 1.1.54159.

Oleg
15.02.2017
14:57:33
В руководстве написано, что разрешено добавление значений в Enum столбец, указанный в первичном ключе, а CH выдаёт Code: 44. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: trying to ALTER key column upstream_addr. Версия 1.1.54140. Я что-то не так делаю, или документация опережает события?

Alexey
15.02.2017
15:01:56
Опережает.

возможно баг. у меня 2 колонки UInt8. первая является default для второй. когда пытаешься alter table drop column <первая> -DB::Exception: Unknown identifier: <первая>. если удалить вторую(with default) - все удаляется
Неправильное сообщение об ошибке? То есть, так или иначе, должно не разрешать удалять столбец, на которого ссылаются DEFAULT выражения других столбцов.

f1yegor
15.02.2017
16:11:08
Неправильное сообщение об ошибке. занести на github?

Alexey
15.02.2017
16:11:28
Давай.

Sergey
15.02.2017
16:22:48
Привет всем! Есть 440к уникальных строк (выгрузка из БД), вставляю ее в КХ, и проверяю кол-во уникальных, а он отображает, что их только 230к. Как я могу создавать дубликаты из уникальных строк?

Andrey
15.02.2017
16:24:20
так реально уникальных 440к или 230к?

вставка работает корректно?

Sergey
15.02.2017
16:25:40
Выгрузка идет через механизм репликации и до этого работала корректно, поэтому сейчас и ищу причины этого

Работала корректно с другими данными и в другую бд

Andrey
15.02.2017
16:26:56
Если где-то есть записи с null, то они могут не проходить при вставке

вот и получатется потом 230 вместо 440

Sergey
15.02.2017
16:29:33
В базе он подобные отмечает как NULL в текстовом поле, а для числовых у меня 0 вставлен, если данных нет

Andrey
15.02.2017
16:56:35
Если выражение для значения по умолчанию не указано, то в качестве значений по умолчанию будут использоваться нули для чисел, пустые строки для строк, пустые массивы для массивов, а также 0000-00-00 для дат и 0000-00-00 00:00:00 для дат с временем. NULL-ы не поддерживаются.

Текстовые поля должны иметь пустые строки вместо null

Andrey
15.02.2017
17:43:40
а подскажите плз бенчмарки на офф. сайте вцелом корректны и отражают реальность? почему-то не увидел ни одного запроса с джойном

Google
Alexey
15.02.2017
18:10:46
а подскажите плз бенчмарки на офф. сайте вцелом корректны и отражают реальность? почему-то не увидел ни одного запроса с джойном
Бенчмарки на официальном сайте корректны и соответствуют реальности, но в наборе запросов нет ни одного запроса с JOIN. Причина в том, что во время создания бенчмарков несколько лет назад (2013), ClickHouse ещё не поддерживал JOIN. С тех пор набор запросов не меняли. Результаты периодически обновляются для части систем - для ClickHouse, Vertica, недавно добавили Greenplum. Но для некоторых систем так и остались старые результаты - например, для Hive, MonetDB. В бенчмарке указана версия, которая тестировалась. Также можно обратить внимание на независимые бенчмарки, например, https://www.percona.com/blog/2017/02/13/clickhouse-new-opensource-columnar-database/ http://tech.marksblogg.com/benchmarks.html хотя они ещё менее подробные, чем официальные.

Vitaliy
15.02.2017
19:43:29
здесь есть автор библиотеки на go?

Sergey
15.02.2017
20:13:36


Александр
15.02.2017
20:15:38
Скажите, пожалуйста, можно ли как-то проверить лаг для Distributed таблицы? То есть я вставляю данные на одном сервере и хочу убедиться, что все они отправились на остальные шарды.

Alexey
15.02.2017
20:16:05
По-умолчанию count(distict ...) работает так же как функция uniq - используя приближённый расчёт. Поменять можно настройкой count_distinct_implementation. Например, SET count_distinct_implementation = 'uniqExact'

Sergey
15.02.2017
20:21:25
Похоже, что в документации не хватает раздела популярных ошибок) Я же не первый))

Alexey
15.02.2017
22:10:57
Похоже, что в документации не хватает раздела популярных ошибок) Я же не первый))
Да, несколько раз спрашивали. Может быть просто сменить умолчание для count_distinct_implementation и перестать беспокоиться.

Evgeniy
15.02.2017
22:14:17
принцип наименьшего удивления да

Kirill
16.02.2017
07:49:13
здесь есть автор библиотеки на go?
их там 2-е, какой именно ?

Константин
16.02.2017
08:41:12
Добрый деень! Скажите, можно как-то подключить какую-либо geo ip базу, чтобы можно было посмотреть города в исторических данных? дело в том, что мы пишем в поле страну, а город - нет.

Alibek
16.02.2017
08:53:20
Бенчмарки на официальном сайте корректны и соответствуют реальности, но в наборе запросов нет ни одного запроса с JOIN. Причина в том, что во время создания бенчмарков несколько лет назад (2013), ClickHouse ещё не поддерживал JOIN. С тех пор набор запросов не меняли. Результаты периодически обновляются для части систем - для ClickHouse, Vertica, недавно добавили Greenplum. Но для некоторых систем так и остались старые результаты - например, для Hive, MonetDB. В бенчмарке указана версия, которая тестировалась. Также можно обратить внимание на независимые бенчмарки, например, https://www.percona.com/blog/2017/02/13/clickhouse-new-opensource-columnar-database/ http://tech.marksblogg.com/benchmarks.html хотя они ещё менее подробные, чем официальные.
В официальных бенмарках не приведены тестовые конфигурации, нет инфы о том какие схемы применялись, каким образом создавалась нагрузка... Или может есть, но не очевидно где именно.

Alibek
16.02.2017
09:00:25
ок пусть без данных (хотя схему немного "обфусцировав" можно и привести), но описаний стендов нет - так какая-то пузомерка, с предложением верить, как в гомеопатию ?

Anatoly
16.02.2017
09:07:16
ок пусть без данных (хотя схему немного "обфусцировав" можно и привести), но описаний стендов нет - так какая-то пузомерка, с предложением верить, как в гомеопатию ?
не нравится, не верьте. зачем им врать - непонятно. любой, у кого есть сравнимые по объёму данных легко покажет, что всё плохо, если там всё плохо

Alibek
16.02.2017
09:11:36
Вот тест (overall): mysql = 1, clickhouse = 0 - чистая правда! А объективен-ли он?

Aleksandr
16.02.2017
09:19:44
Имхо достаточно странно сравнивать CH vs spark. Вроде сильно разные вещи. Было бы круто увидеть CH vs Kudu (https://kudu.apache.org/). Делал кто-нибудь интересно?

Google
Alibek
16.02.2017
09:23:37
Они есть в комментариях к статье на хабре
Спасибо за тайное знание! Но очень жаль, что не там же где официальный тест.

Vladimir
16.02.2017
09:24:03
Цитата оттуда "Железо такое: двухсокетный E5-2650 v2, 128 GiB RAM, RAID-5 из 8 дисков SATA 7200 RPM на 6 ТБ. ОС — Ubuntu 14.04."

ок пусть без данных (хотя схему немного "обфусцировав" можно и привести), но описаний стендов нет - так какая-то пузомерка, с предложением верить, как в гомеопатию ?
Насколько я помню, тут кто то говорил что описание теста не меняют потому что готовят новый похожий на оригинальный но с фейковыми данными

Или как то так

А так в общем любое тестирование субъективно

Vladimir
16.02.2017
09:31:16
Это крупица мелкая.
Есть база тестовая с миллиардов поездок такси и перелетами

Можно на ней простые тесты гонять

Чтобы проверить самому

Fike
16.02.2017
09:31:43
Я думаю, мейнтейнеры понимают проблему, но пока не имели времени привести все в порядок. Насколько помню, этот вопрос уже поднимался пару раз.

Alibek
16.02.2017
09:32:15
Ну ок будем ждать

Vladimir
16.02.2017
09:33:22
Ну ок будем ждать
Можешь свои тесты пока на тех данных что публичные сделать

Или еще лучше - загрузить часть реальных что будут в продакшене

И самостоятельно проверить

Kirill
16.02.2017
09:33:23
не надо ждать, нужно пробовать самим ;)

Vladimir
16.02.2017
09:36:19
Все равно данные будут другими, структура другая и цели вероятно другие

Alibek
16.02.2017
09:37:17
ну у нас и свои объемы не маленькие и тесты свои и пробуем. Но вопрос был не про это а про продукт. Я так понимаю - яндекс позиционирует ch как один из своих продуктов, под своим брендом, и просто указал на косяк в продвижении продукта. Но если он уже исправляется - то вопрос снят.

Alex
16.02.2017
11:22:26
Добрый день. Решили рассмотреть ClickHouse для хранения части данных для аналитики. Скажите - есть ли для него дрова или что-то подобное на c#?

Google
Nick
16.02.2017
11:23:42
Коллеги, кто-нибудь сталкивался с задачей репликации из оракла в кликхаус больших объемов данных?

Anatoly
16.02.2017
11:35:59
Renat
16.02.2017
11:41:49
как защитить себя от дубликатов в базе? Например, во время выполнения вставки соединение обрывается (http), но кликхаус продолжает выполнять этот запрос и соответсвенно данные будут сохранены в базе. Но мы об этом достоверно не знаем и пытаемся выполнить вставку повторно. Как можно решить данную проблему?

Anatoly
16.02.2017
12:03:06
Нету там ODBC )
там это где?

Рулон
16.02.2017
12:07:49
Если С# то это виндовс. Виндовых дров, чтобы создать odbc конекш, нет.

Pavel
16.02.2017
12:09:00
а вдруг Mono!

Рулон
16.02.2017
12:09:55
Ну если моно, есть родной jdbc )

Anatoly
16.02.2017
12:13:37
Если С# то это виндовс. Виндовых дров, чтобы создать odbc конекш, нет.
что-то у меня C# и не моно, и не виндовс. Что я делаю не так?

Pavel
16.02.2017
12:14:05
это вопрос религии :) Тут такое не приветствуется :)

если не виндовс и не моно, то стоит упомянуть платформу, я считаю

Anatoly
16.02.2017
12:14:28
Linux/Mac + .net core.

Pavel
16.02.2017
12:14:34
разработчики они не пифия, им все заранее не известно :)

Vitaliy
16.02.2017
12:24:07
ок пусть без данных (хотя схему немного "обфусцировав" можно и привести), но описаний стендов нет - так какая-то пузомерка, с предложением верить, как в гомеопатию ?
У нас как раз есть в планах выложить все тестовые данные из бэнчмарка в "обфусцированном" виде. Смысл в том чтобы на основе реальных данных сгенрировать синтетические с похожими статистическими характеристиками.

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