
Dmitry
22.11.2016
16:29:07
и монотоно возрастает, кстати

Alexey
22.11.2016
16:29:15
В монге хорошо сделано - id это текущее время+id машины клиента+счётчик

Roman
22.11.2016
16:29:19
UUID позволяет просто одни данные отличить от других (при условии, что он уникален на реальных объемах).
А монотонно возрастающий счетчик позволяет не только данные отличить одни от других, но и последовательность вставки отследить.

Google

Dmitry
22.11.2016
16:30:01
ну да
если нужна сортировка по времени - сойдет и по object id

Roman
22.11.2016
16:30:14
Последнее — отслеживание послеовательности вставки — ни кому кроме Алексея не надо?

Fike
22.11.2016
16:30:28

Igor
22.11.2016
16:30:31
последовательность вставки - как и зачем, в рамках MergeTree? там же группируется все по дате

Dmitry
22.11.2016
16:30:38
https://docs.mongodb.com/v3.2/reference/method/ObjectId/

Roman
22.11.2016
16:30:43

Igor
22.11.2016
16:30:46
ну хорошо, будет опциональный ключ

Dmitry
22.11.2016
16:31:07
если уж отслеживать -- то последовательность вставки в систему-источник
Вот там и отслеживайте
А если какой-нибудь SAP наплодил таблиц, так у них и так везде UUID

Fike
22.11.2016
16:37:06

Alexey
22.11.2016
16:39:04

Google

Roman
22.11.2016
16:39:12

Vladislav
22.11.2016
16:39:48

Igor
22.11.2016
16:39:58
а что с ними еще делать?

Vladislav
22.11.2016
16:39:59
вроде я видел ограничение только на запросы

Igor
22.11.2016
16:40:02
не удалять же %)))

Vladislav
22.11.2016
16:40:08
а не на вставку
можно ссылку?

Igor
22.11.2016
16:40:19
нет, там именно вставка. че-т типа большими инсертами >1000 строк

Roman
22.11.2016
16:40:20

Fike
22.11.2016
16:40:20

Alexey
22.11.2016
16:40:37
не слишком, если честно

Igor
22.11.2016
16:42:01
Производительность при вставке данных.
Данные рекомендуется вставлять пачками не менее 1000 строк или не более одного запроса в секунду.
https://clickhouse.yandex/reference_ru.html#Производительность
whatever

Evgeniy
22.11.2016
16:50:08

Vladimir
22.11.2016
16:59:57

Roman
22.11.2016
17:00:52

Evgeniy
22.11.2016
17:00:58

Vladimir
22.11.2016
17:02:40

Roman
22.11.2016
17:10:23

Google

Vladimir
22.11.2016
17:10:44
Как вариант :)

Mike
22.11.2016
17:14:56

Evgeniy
22.11.2016
17:39:57
вопрос. много узлов к одному внешнему диску . взлетит ?

Alexey
22.11.2016
17:40:33

Evgeniy
22.11.2016
18:31:38
#запрос_на_доработку
в клиенте нужно сделать настраиваемым ограничение на количество выводимых строк - по умолчанию 1000

Igor
22.11.2016
18:50:14
почему не 10к?

Alexey
22.11.2016
18:51:24

Igor
22.11.2016
18:51:43
а, я думал, кстати, что такой параметр в настройках есть

Alexey
22.11.2016
18:52:12
И в настройках тоже есть - max_result_rows.

Igor
22.11.2016
18:52:40
о, проглядел, значит :) спасибо!
не, это не то
❯ echo 'SELECT * FROM system.numbers LIMIT 100000 FORMAT PrettyCompact;' | clickhouse-client --max_result_rows=10000
Received exception from server:
Code: 158. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: Limit for result rows exceeded: read 65536 rows, maximum: 10000.
имелось в виду, именно выводимых на экран одновременно
А здесь при попытке забрать больше эксепшн
Т.е. хочется, я так понимаю, возможность изменять максимальное кол-во отображаемых Pretty-форматами в интерактивном режиме строк
А еще в идеале пейджер ))

Alexey
22.11.2016
18:56:48
Понятно.

Evgeniy
23.11.2016
05:34:34
вопрос по использованию массивов в качестве значения поля. Есть ограничения ? какие предельные размерности ?
вопрос про партиции. правильно ли я понимаю что таблицы разделяются на партиции только по дате с месячной грануляцией? т.е. нет возможности создать произвольные партиции ? и если мне вдруг нужен сабж то единственный способ это генерить таблицы ?

Google

Igor
23.11.2016
05:41:22
в доках писали, что многомерные массивы - на свой страх и риск
> Многомерные массивы не рекомендуется использовать, так как их поддержка довольно слабая (например, многомерные массивы нельзя сохранить в какую-либо таблицу кроме таблиц типа Memory).

Evgeniy
23.11.2016
05:42:05
вопрос про view и union all . поддерживает ли оптимизатор чтение выделенных секционированных данных через по след . признаку
seleсt '1' as e, bb.* from ff_1 where e='1' union all
select '2' as e, bb.* from ff_2 where e='2'
..
т.е. если я обращусь к view c условием
e='2'
прочитаются все или только таблица ff_2 ?
вопрос про поддерживаемые периоды . например я в апп буду синтетически мапить свои справочники в хеш а потом в код месяца , что бы использовать это как ключ партиции.
так вот какая минимальная и максимальная дата поддерживается в системе ?


Igor
23.11.2016
06:01:48
минимальная - 1970-01-01 (которая может быть видна как 0000-00-00)
максимальная - 2038-01-19 (toDate(24855))
при попытке сделать SELECT toDate(24855) + 1; получится 0000-00-00
кстати, документация, похоже, неактуальна
> В качестве исключения, если делается преобразование из числа типа UInt32, Int32, UInt64, Int64 в Date, и если число больше или равно 65536, то число рассматривается как unix timestamp
:) select toDate(toInt64(24856));
0000-00-00
это баг или лучше исправить документацию?)
казалось бы, можно использовать даты до 32768

Dmitry
23.11.2016
06:48:32
Всем привет! А где можно прочитать про внутреннюю архитектуру click house в сравнении с другими аналогами такими как impala, drill и так далее?

Dekin
23.11.2016
08:23:04

Dmitry
23.11.2016
08:39:34
Impala не надстройка, а отдельный инструмент. Там не используется парадигма map reduce
Ссылку за архитектуру спасибо

Dekin
23.11.2016
08:43:24
А, интересно. Просто определение "native database for Hadoop", видимо, сбило с толку в свое время. Почитаю тогда о ней побольше. Спасибо.

Dmitry
23.11.2016
08:53:46
Чуть позже скину хорошую статью про неё

Dekin
23.11.2016
09:19:13
Спасибо. Пока нашел вот это:
http://www.cidrdb.org/cidr2015/Papers/CIDR15_Paper28.pdf

Dmitry
23.11.2016
09:21:04
Да, это именно она
Классно было бы иметь подобную статью по CH в каком-нибудь цитируемом журнале

Evgeniy
23.11.2016
09:40:26

Dekin
23.11.2016
10:14:56
Это вопрос лишь денег . Задайте вопрос своим маркетологам
Нормальные научно-технические журналы печатают за просто так, главное, чтобы статья была по тематике. Как говорил @milovidov_an на встрече в понедельник, главное "совершить насилие над собой и потратить на это драгоценное время" (за точность цитаты не ручаюсь).

Alexey
23.11.2016
12:41:04

Google

Evgeniy
23.11.2016
13:39:33

Arthur
23.11.2016
14:06:22
А что делает all right join? Его нет в документации, а результат отличается от all left join со сменой таблиц местами

Evgeniy
23.11.2016
14:50:52

Darafei
23.11.2016
14:51:25
iotop?

Марк ☢
23.11.2016
14:52:07
atop

Valeriy
23.11.2016
14:53:01
Скажите, пожалуйста, совсем дурацкая идея использовать rand() как выражение для сэмплирования? Учитывая, что он еще и в ключе должен содержаться. Наверное вопрос можно даже так сформулировать: обязано ли выражение для сэмплирования выдавать для одной и той же строки один и тот же результат? Что-то подсказывает, что должно, но вдруг. В документации сказано лишь: "Выражение для сэмплирования (использовать не обязательно) - произвольное выражение."

Evgeniy
23.11.2016
14:54:22

Марк ☢
23.11.2016
14:54:52
хз. atop просто лучше показывает инфу чем iotop
я тут просто мимо проходил

Evgeniy
23.11.2016
14:55:56

Марк ☢
23.11.2016
14:56:20
ээээ. я не следил за темой...

Dekin
23.11.2016
15:04:02

Evgeniy
23.11.2016
15:05:55


Alexey
23.11.2016
15:05:58
А что делает all right join? Его нет в документации, а результат отличается от all left join со сменой таблиц местами
Да, это RIGHT JOIN. Результат такой же, как если таблицы для LEFT поменять местами. Но способ выполнения не симметричен. Рассмотрим подробнее:
LEFT JOIN выполняется так:
- результат правого подзапроса засовываем в хэш-таблицу в оперативке;
- сканируем левую таблицу и делаем лукапы.
RIGHT JOIN выполняется так:
- результат правого подзапроса засовываем в хэш-таблицу в оперативке;
- сканируем левую таблицу и делаем лукапы; при этом отмечаем флажками, какие строки справа были использованы;
- добавляем в результат то, что не было использовано справа.
То есть, в обеих случаях, левая таблица читается потоково, а по правой формируется хэш-таблица в оперативке. Независимо от того, LEFT или RIGHT JOIN.


Arthur
23.11.2016
15:07:22
Алексей, спасибо! Теперь понятно)