@clickhouse_ru

Страница 7 из 723
Alexey
11.11.2016
18:45:21
Да.

Darafei
11.11.2016
18:47:43
а зачем так?

Alexey
11.11.2016
18:47:57
Как иначе ты предлагаешь?

Darafei
11.11.2016
18:48:34
в смысле, это не аналог char(n) в SQL?

Google
Darafei
11.11.2016
18:49:02
gis=> select length(10::char(100)); length —------ 2 (1 row)

Alexey
11.11.2016
18:49:04
char(n) всё-таки по-другому себя ведёт. Скорее binary(n).

Darafei
11.11.2016
18:49:40
ERROR: type "binary" does not exist

Alexey
11.11.2016
18:49:58
Задумано, чтобы хранить хэши, UUID-ы, IPv6 и т. п. Там брать длину вообще бессмысленно.

Darafei
11.11.2016
18:50:19
а, кастомных типов нет?

Alexey
11.11.2016
18:50:31
UDT?

Darafei
11.11.2016
18:52:39
хотя бы я избалован ::uuid, md5(), ::inet из постгреса :)

от стринга я всё же ожидаю кодировок и прочих проверок валидности UTF

у него, кстати, длина в байтах или в кодпоинтах? :)

Alexey
11.11.2016
18:55:12
В документации написано.

Darafei
11.11.2016
18:59:00
в документации прочитал

принцип наименьшего удивления не соблюдается. :)

Kirill
11.11.2016
19:01:37
Не совсем по теме, кто-нибудь знает какие-нибудь несложные OLAP веб-GUI с возможность использования в качестве стораджа КХ или ту же Vertica?

Google
Kirill
11.11.2016
19:11:10
Caravel смотрел?

https://github.com/airbnb/superset

Vladislav
11.11.2016
19:12:47
https://github.com/airbnb/superset
Ооо, спасибо, протестирую

Kirill
11.11.2016
19:12:55
Еще такая вот есть http://www.cubesviewer.com/studio.html

Igor
12.11.2016
05:38:21
Задумано, чтобы хранить хэши, UUID-ы, IPv6 и т. п. Там брать длину вообще бессмысленно.
да, но ведь вероятность того, что UUID будет - осознанно - равен "00000000-0000-0000-0000-000000000000", очень мала. такое может случиться, например, при LEFT JOIN'е, если строка с UUIDом не сматчилась из второй таблицы.

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

Alexey
12.11.2016
15:21:18
В качестве компромиссного варианта можно предусмотреть функцию emptyOrZero.

Darafei
12.11.2016
16:34:19
жуть какая а потом EmptyOrZeroOrNull?

Alexey
12.11.2016
16:35:58
Зачем. Если будешь пользоваться NULL-ами, тебе будет специальный синтаксис IS NULL, IS NOT NULL и соответствующие функции. И конечно, это никак не связано и не должно быть связано с пустыми строками и нулями.

Darafei
12.11.2016
16:38:28
окей, а length() - это размер контейнера в байтах или семантическая длина данных?

Alexey
12.11.2016
16:39:29
Для строк - в байтах, для массивов - в элементах массива.

Darafei
12.11.2016
16:41:48
понятно, тогда тут подмена понятий length / octet_length aka sizeof

Alexey
12.11.2016
16:43:05
Могу согласиться частично. https://clickhouse.yandex/reference_ru.html#%D0%9A%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8

Darafei
12.11.2016
16:46:04
задокументировать-то можно что угодно :)

Alexey
12.11.2016
16:46:51
Есть смысл, почему сделано именно так.

Darafei
12.11.2016
16:47:41
смысл тоже понятен, sizeof() дёшев, итерирование по utf дорогое

вопрос в именовании и оглядке на другие системы

если определить length() как длину нулл-терминированной строки в байтах, а octet_length - как длину объекта в байтах, то length(fixedString) = 0 <=> empty(fixedString) <=> fixedString = \00000000000, например можно подумать, как в это вписать ещё и lengthUTF8 по-человечески

Google
Igor
13.11.2016
06:33:10
Согласен, так и есть. Но рассогласованность с функцией length беспокоит.
имхо, length для fixed string можно учитывать так же, как работает toStringCutToZero, т.е. strip'ать все NUL-байты справа и считать оставшуюся длину. но я так, диванный аналитик.

Darafei
13.11.2016
15:22:40
я смог сформулировать, что неожиданно в этой системе для меня тут функции - это по названиям императивные действия, а не декларативные свойства

Nataliya
14.11.2016
12:56:20
Напоминаем, что 21 ноября проводим мероприятие в Яндексе про ClickHouse. Если еще не зарегистрировались, поторопитесь. Мест немного, можем закрыть регистрацию раньше. https://events.yandex.ru/events/yagosti/21-november-2016/

Mike
14.11.2016
12:56:31
Вау, да ладно!

Конечно надо :)

Renat
14.11.2016
13:44:00
@NataMakarova, трансляция будет?

Maxim
14.11.2016
13:48:22
Опять DC :(

nikoinlove
14.11.2016
13:53:05
а разве где-то еще жизнь есть?

Darafei
14.11.2016
13:55:20
Maxim
14.11.2016
14:51:09
а разве где-то еще жизнь есть?
да нет конечно, шучу прост

Alexey
14.11.2016
16:15:58
Опять DC :(
В каком городе рекомендуете провести митап в следующий раз?

Maxim
14.11.2016
16:16:14
ну в DC2 же ;)

Alexey
14.11.2016
16:16:27
Принято.

Maxim
14.11.2016
16:16:35
спасибо :)

Konstantin
14.11.2016
16:31:12
Maxim
14.11.2016
16:31:46
у нас тут и яндексовый офис не меньше московского ;)

Grigory
14.11.2016
16:57:33
надо голосовалку прикручивать. там, где количество голосов будет > критического, можно попыаться устраивать

Alex
14.11.2016
17:06:25
+1 к DC2

Google
Алексей
14.11.2016
17:07:31
тоже бы в питере с удовольствием сходил

Denys ??
14.11.2016
17:07:55
Доброго, народ! Вопрос по перекрестной репликации - https://groups.google.com/forum/#!topic/clickhouse/GFl04GsTNZg Реализовано ли уже такое? В смысле указание дефолной БД для кластера?

Dmitry
14.11.2016
17:08:35
меня пока больше выгрузка справочников с replica set монги беспокоит

Kirill
14.11.2016
17:10:05
меня пока больше выгрузка справочников с replica set монги беспокоит
А в чем проблема, очень большие справочники?

Часто обновляются или нет?

Maxim
14.11.2016
17:13:22
Ну я уже лет пять в яндексе не работаю

Может подрос ;)

Alexey
14.11.2016
17:37:21
Да, как раз для этого человека делал.

Итоговая реализация такая: 1. В описании кластера, для replica или node, можно указать необязательный элемент <default_database>. Смысл такой: если для Distributed таблицы не указана база данных, то использовать default_database. 2. При создании Distributed-таблицы, можно указать пустую строку вместо базы данных, что означает, что база данных не указана. Пример: ENGINE = Distributed(different_databases, '', test) Смысл такой: использовать default_database из описания кластера. Таким образом, можно будет создавать Distributed таблицы, у которых разные реплики смотрят на таблицы в разных базах данных.

Denys ??
14.11.2016
17:59:31
Спасибо за ответ, Алексей! Не совсем понятно как будет обстоять дело с перебалансировкой кластера в таком случае, скажем при добавлении нового сервера. Я так понимаю, шарды придётся вручную копировать?

Alexey
14.11.2016
18:04:48
Да, перебалансировать вручную. Можно целиком перемещать реплики так: создать реплику (Replicated-таблицу) на новом сервере, удалить на старом.

Mike
14.11.2016
18:06:27
меня пока больше выгрузка справочников с replica set монги беспокоит
У кого-то получилось с mongo связаться? :) Я пробовал, да перестал, ни слова в доках не было в тот момент, кроме того, что оно есть. Поделитесь опытом?

Виктор
14.11.2016
18:42:54
А где написано что можно?

Alexey
14.11.2016
18:43:52
В документации не написано, но можно. https://github.com/yandex/ClickHouse/issues/112

Dmitry
14.11.2016
18:53:19
с монго сцепились нормально

но у нас repliceset, хост, указанный в конфиге может и выйти покурить

Mike
14.11.2016
18:58:07
Это я спрашивал, и у меня ничего не вышло :)

Alexey
14.11.2016
18:59:21
Ага, указание реплик не сделали.

Google
Kirill
14.11.2016
19:11:40
но у нас repliceset, хост, указанный в конфиге может и выйти покурить
Если речь только про чтение можно через tcp балансировщик - разницы никакой.

Alexey
14.11.2016
19:12:40
Да, словари - только чтение. Ещё, насколько я знаю, можно поставить пустую Mongo на localhost, и настроить как балансировщик.

Vladimir
14.11.2016
21:53:06
Ну я уже лет пять в яндексе не работаю
Пару лет назад был маленьким совсем, три этажа в бц. А в Москве три здания и еще немножко

Maxim
14.11.2016
21:54:10
А, ну я бывал в московском только на льва толстого в каком-то одном здании

Возможно поэтому осталось впечатление о его небольших размерах

f1yegor
15.11.2016
15:15:09
если у меня данные живут в ReplicatedMergeTree, я дедубликацию или FINAL уже никак не могу сделать?

Виктор
15.11.2016
15:15:24
FINAL нормально работает и в RMT

Не пересекающиеся вещи

А, стой, где слово Collapsing

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