
Vasiliy
20.04.2017
20:35:02

Dennis
20.04.2017
20:35:07

Alexander
20.04.2017
20:35:58
Я опять же про kdb. Данные с диска всасываются через mmap. По сути они такие же как и в памяти.

Google

Vasiliy
20.04.2017
20:37:10
будут корапты

Roman
20.04.2017
20:37:18
Денис, я чуток запутался :) Какой для вас целевой сценарий? Тарантул -- как слой виртуализации над КХ? Или Тарантул -- как сторадж под КХ, чтобы тот сразу агрегировал данные напрямую из тарантула?

Alexander
20.04.2017
20:37:54

Vasiliy
20.04.2017
20:38:25
А зачем, если я правильно понял, то вы обсуждаете инсерт пачками
с разделением на холодную и горячую часть
:)

Dennis
20.04.2017
20:38:52

Vasiliy
20.04.2017
20:38:55
Т.е. update и delete по сути нет
Т.е. in-mem + WAL-лог, WAL-лог сбрасывается в клик
собственно я его буду +/- использовать именно так :)
Ну и сквозной LSN между кликом и демоном (тут надо подумать)

Roman
20.04.2017
20:40:37

Google

Dennis
20.04.2017
20:41:53
В мейле у нас в одном из кейсов вью берет данные из хауса. Смысл такой, что хаус делает агрегации и груп баи быстрее чем вью

Roman
20.04.2017
20:42:52

Dennis
20.04.2017
20:43:32
Звучит фантастически, но да

Roman
20.04.2017
20:43:36
а почему? потому что "ClickHouse не тормозит" (с)

Dennis
20.04.2017
20:44:35

Alexander
20.04.2017
20:47:21
Единственное сравнение с kdb, которое удалось обнаружить: http://tech.marksblogg.com/benchmarks.html

Vasiliy
20.04.2017
20:49:51
2 + 2 * 2 = 8 - язык Q

Alexander
20.04.2017
20:51:16
Ну про язык Q я бы поспорил, так как это моя основная работа :) Про админить - тут тоже вопросы. Но я смотрю на CH как раз как на альтернативу kdb, ну и просто из интереса насколько его можно применить на стандартных для kdb задачах.

Vasiliy
20.04.2017
20:52:17
Прикольно :) Я за год так и не привык к Q - не мое

Alexander
20.04.2017
20:52:22

Vasiliy
20.04.2017
20:52:27
угу
скобочки ...
Вспомнил аж переклинило

Alexander
20.04.2017
20:53:27
Тем не менее мне он кажется намного проще и даже эффективнее sql'я. Но это уже в оффтоп уходит.

Vasiliy
20.04.2017
20:53:27
А если хочешь kdb заменить
то советую tarantool
те же яйца
только в профиль
Но Free to use

Google

Vasiliy
20.04.2017
20:54:00
и фич больше
а клик для историчиских данных
чтобы роботов обучать

Vladimir
20.04.2017
20:59:14
Батчер нужен.
Все говорят про батчер и прочее. Многие говорят что делать http к кх и т.д. но хотелось бы как то оффиц батчер. А то получается как про блоху типа вот вам блоха а шкатулку под неё как хотите так и делайте....ну и или том подобное. Тем более http это не dbc и общение идёт не по оригинальному кх протоколу.
Все говорят о море (с)

Pavel
20.04.2017
21:01:01
я наоборот склонен говорить с CH в макисимально френдли ему форамте
чтобы по сто раз не делать sscanf/sprintf со всеми вытекающими

Vladimir
20.04.2017
21:04:51
Так вот я про это. Если есть батчер как прослойка. То почему бы и нет. Входные json или sql неважно. Приспособимся. А выходные - CH.

Pavel
20.04.2017
21:05:15
capnp :')

Рулон
21.04.2017
05:40:51
Доброе утро ! Можно уточнить: есть таблица mergetree в ней 5 полей : дата , поле1,2,3 (поля 1,2,3 - это ключ) Вопрос: если мне надо искать по дате и полю2, нужно ли дату включать в ключ?
т.е. сейчас так mergetree date, (поле1,2,3) надо ли переделать на date, (date, поле1,2,3 )?

Andrey
21.04.2017
05:43:23
Как мне кажется нет. CH эффективно фильтрует по дате и так.

Dmitry
21.04.2017
07:11:25
нужно

f1yegor
21.04.2017
08:42:42

Roman
21.04.2017
08:53:16
за этим можно сходить на канал татарнтула )

Aloneibreak
21.04.2017
09:11:45
добрый день.
подскажите пожалуйста по такой ошибке "Cannot drain connections: cancel first"
возникает при простом селекте, в where первичный ключ, лимит 1
запрос делается со стороны бэкенда (go)
с чем может быть связана эта ошибка?

Andrew
21.04.2017
09:12:04
господа, подскажите, пожалуйста, неофиту - каким образом быстрее всего можно залить в CH данных от 100 Гб?

Andrey
21.04.2017
09:22:48
Если данные рядом с clickhouse - clickhouse-client, если далеко - то через http-post на порт 8123(или какой у тебя указан в конфиге)
Есть вопрос про внешние словари.
Подключаю по odbc постгрю. Как мне описать атрибуты для форматов postgres boolean и jsonи ?
Кто сталкивался с использованием постгри как внешнего словаря?

Andrew
21.04.2017
09:26:20

Google

Andrey
21.04.2017
09:29:42
JDBC работает нормально. Нареканий к нему нет. Просто чтобы загрузить много файлов многопоточно в clickhouse - не обязательно использовать jdbc.
Если данные рядом - то ls | xargs -P 20 | cat | clickhouse-client (ну это приблизительно на bash) и вот вам в 20 потоков загрузка

Igor
21.04.2017
09:29:45

Andrey
21.04.2017
09:30:49
Игорь, спасибо! Главный вопрос как это в конфиге описать? могу ли я прям в конфиге преобразование типов делать или мне это нужно сделать на стороне postgres?

Andrew
21.04.2017
09:31:00
просто пока что кейс следующий - в спарке генерятся пачками фейковые данные, которые потом через JDBC засовываются в СН.

Andrey
21.04.2017
09:32:05
<attribute>
<name>bool_val</name>
<type>????????</type>
<null_value>0</null_value>
</attribute>

Igor
21.04.2017
09:33:09
UInt8
<!-- Тип столбца. (Как столбец понимается при загрузке.
В случае MySQL, в таблице может быть TEXT, VARCHAR, BLOB, но загружается всё как String) -->
<type>String</type>
если не заработает - то на стороне постгри приводить, видимо

Andrey
21.04.2017
09:33:55

Dennis
21.04.2017
09:36:31

Bob
21.04.2017
09:39:20
@DennisAnikin, а где почитать и как попробовать репликацию из oracle в tarantool?

Andrew
21.04.2017
09:39:22

Vitaliy
21.04.2017
09:48:36
Здравствуйте! Такой вопрос: к примеру, движок AggregatingMergeTree агрегирует записи не сразу, а по достижению какого-то лимита не сагрегированных записей, как я понимаю (заполнения куска). Как указывается величина куска для агрегирования?

Andrey
21.04.2017
09:53:00
агрегация происходит при слиянии
Нет гарантии о каком то точном времени слияния. По этому данные при запросе из такого движка нужно доагрегировать

Vitaliy
21.04.2017
09:54:01
а когда происходит слияние?

Vladimir
21.04.2017
11:00:29
Добрый день! А есть ли какие-то советы, как данные быстрее всего перелить из таблицы_1 в таблицу_2 (поменялись первичный ключ и ключ сэмплирования)?
Есть примерно такой запрос:
INSERT INTO table_v2 SELECT * from table_v1 where dt = '2017-02-15';
. Как его сделать побыстрее? Лучше делать через CLI или через HTTP-запрос? Какие переменные установить, чтобы ускорить процесс? Нужно перелить значительный объем данных за многие десятки дней.
Скорость по мере переливки, кстати, почему-то медленно линейно падает в течение всего процесса (page cache не виноват, скорость всё падает и падает и при достижении его размера) (боюсь, она вообще в ноль упадет в какой-то момент)

Mike
21.04.2017
14:41:38
Результат тестирования Jasper Reports Server с ClickHouse:
1. строит неверные запросы при построении AdHoc View (похоже на баг самого сервера)
2. при любых джойнах использует алиасы для таблиц
Непонятно, как заставить работать =(

Vladislav
21.04.2017
15:11:23
А есть ли способ сделать Auto_Increment в Clickhouse?

Google

Pavel
21.04.2017
15:13:46
только на промежуточном демоне
это крайне порочная практика, в самом CH она реализована не будет

Vladislav
21.04.2017
15:14:18
А всяческие варианты типа default count(*) это совсем извращения, да?)

Pavel
21.04.2017
15:14:43
ну это будет иметь соответствующий ужасающий penalty по скорости :)

Vladislav
21.04.2017
15:15:00
Ага, понятно, спасибо :)

Aloneibreak
21.04.2017
15:15:41
может ли кто-то подсказать по ошибке?
[49] DB::Exception: Cannot drain connections: cancel first

Pavel
21.04.2017
15:15:48
поидее, вы можете копить батч и когда он готов к вставке делать запрос в CH на тему последнего добавленного ранее элемента, брать его как последний и ренумеровать батч и вставлять данные блоком.

Mike
21.04.2017
15:21:00
Второй раз за день всплывает тема батчилок :) А кто что использует? У нас всё руками, но чуйка говорит, что это как-то странно.

Fike
21.04.2017
15:27:45

Vladislav
21.04.2017
15:29:02
Ну я подумываю использовать ReplacingMergeEngine, чтобы заменять некоторые записи. Для этого думал сделать Auto_Increment, а иногда пихать строки с новой версией и нужным id, чтобы строчку заменить