@clickhouse_ru

Страница 8 из 723
Виктор
15.11.2016
15:16:02
Только через group by

f1yegor
15.11.2016
15:16:24
Exception: Storage ReplicatedMergeTree doesn't support FINAL.

Igor
15.11.2016
15:16:26
а в ReplicatedCollapsing ОК? круто

Виктор
15.11.2016
15:17:08
Ну да, для Collapsing работает FINAL

Google
Виктор
15.11.2016
15:17:10
для любого

f1yegor
15.11.2016
15:17:11
ну да, у меня раньше было ReplacingMergeTree, я для HA мигрировал в ReplicatedMergeTree, и дедупликацию по неосторожности потерял

т.е. в ReplicatedReplacingMergeTree будет все работать?

Виктор
15.11.2016
15:20:40
ReplicatedReplacingMergeTree о_О

Я не особо знаю про Replacing честно говоря

f1yegor
15.11.2016
15:21:10
да, он не документирован

Виктор
15.11.2016
15:21:58
Тогда лучше Лёшу спрашивать

@milovidov_an

Roman
15.11.2016
15:24:24
попробовал. работает FINAL в ReplicatedReplacingMergeTree

f1yegor
15.11.2016
15:24:43
да, я уже тоже попробовал)

Виктор
15.11.2016
15:25:56
А он работает в смысле не падает или работает в смысле работает?

Ключи то схлопывает?

f1yegor
15.11.2016
15:26:19
схлапываются

Google
f1yegor
15.11.2016
15:28:00
еще глупый вопрос - когда начал команду вводить, и еще не запустил, как ее отменить и начать ввод новой? т.е. получить пустую строку

Igor
15.11.2016
15:35:14
никак, похоже. Ctrl+D игнорируется, если текущая строка не пуста, Ctrl+C выходит из CLI

Alexey
15.11.2016
15:35:49
Ctrl-A Ctrl-K ?

Igor
15.11.2016
15:36:27
кстати да, как вариант, если всего одна строка

если много - проще ctrl+c up enter :))

Виктор
15.11.2016
15:42:30
я обычно ставлю ; и жму enter

ругается на ошибку и даёт писать заново =)

ну или если не -m то можно и без ;

Igor
15.11.2016
15:42:57
с другой стороны, history засоряется :(

Виктор
15.11.2016
15:43:06
Кстати, всем рекомендую clickhouse-client -m

Igor
15.11.2016
15:43:12
да, multiline прекрасен

Виктор
15.11.2016
15:43:19
у меня alias прописан cm = clickhouse-client -m

Igor
15.11.2016
15:43:39
у меня еще -f PrettyCompactMonoBlock (который мне, конечно, лень добавить в конфиг)

А то prettycompact как-то стремно делит результаты на отдельные таблицы :)

f1yegor
15.11.2016
15:44:26
писали почему моноблок может работать плохо, потому что ему надо дожидаться всех данных

Igor
15.11.2016
15:44:40
дада ну, это меня не смущает, лишь бы КРАСИВО :)

Виктор
15.11.2016
15:53:59
Если делается group by, то это не важно

f1yegor
15.11.2016
15:58:48
но было бы хорошо сделать обработку Ctrl^C

Виктор
15.11.2016
16:23:08
Когда запрос выполняется, оно работает нормально.

В смысле - отменяет запрос

Google
Виктор
15.11.2016
16:23:32
А когда запрос не дописан, действительно можно просто enter нажать же

f1yegor
15.11.2016
16:23:48
нужно отменять когда еще не выполняется, как в консоли

Виктор
15.11.2016
16:24:09
Наверное, да.

Сделаешь pull request? =)

f1yegor
15.11.2016
16:24:38
у меня с C++ не очень

Виктор
15.11.2016
16:26:22
Можешь поставить issue в гитхабе, кто-нибудь сделает, я думаю.

Задача для новичка самое то.

f1yegor
15.11.2016
16:26:52
это сделаю

Виктор
15.11.2016
16:28:23
Отлично, спасибо!

f1yegor
15.11.2016
16:39:15
так вот, если у меня таблица events = ReplicatedMergeTree(.../events), и мне надо перелить ее в другую Replicated таблицу, т.е. я хочу сделать events = Replicated....MergeTree(../events), то как это сделать без даунтайма? т.е. проблема в том что я не смогу потом у таблицы изменить пути зукипера

Виктор
15.11.2016
17:07:21
Не отвечу, лучше письмом на рассылку или в гугл групс

Kirill
15.11.2016
18:54:28
Допустим у нас есть таблица со столбцами: key version value key + version = уникальный ключ key = индексный столбец version = версия данных value = сами данные Как делать запрос с WHERE ... GROUP BY key, но чтобы в результатах учавствовали только строки с максимальными значениями поля version в пределах ключа key с учетом WHERE? Например, если взять вот такие данные для примера: 1 1 10 1 2 20 1 3 30 #строка с максимальной версией для key=1 2 1 100 2 2 200 #строка с максимальной версией для key=2 то такой запрос должен выдать: 1 30 2 200

Mike
15.11.2016
18:56:16
Это попытка реализовать апдейт данных на "неограниченном" жёстком диске? :)

Kirill
15.11.2016
18:56:20
Сase использования: допустим, мы забираем статистику по API у какого-то сервиса. Ключи остаются теми же, а цифры всегда растут каждый час и при очередной вставке мы увеличиваем version. А при выборке гарантией самых свежих данных из API будет то, что мы всегда выбираем строки с максимальным version в пределах ключа.

Это попытка реализовать апдейт данных на "неограниченном" жёстком диске? :)
:) Что-то типа этого. Кейс использования я привел выше. В реляционных СУБД с этим замечательно справляется INSERT ON DUPLICATE KEY UPDATE

Roman
15.11.2016
19:00:21
replacingmergetree смотрел? или materialized view на основе replacingmergetree?

Kirill
15.11.2016
19:02:42
replacingmergetree смотрел? или materialized view на основе replacingmergetree?
Читал, но поверхностно - еще почитаю.

Google
Kirill
15.11.2016
19:04:38
я бы просто уникальный ключ даунгрейднул до просто key и обновлял по мере обновления самих данных
Да, согласен - если мы выбираем максимальную версию, то version в уникальном ключе нам вообще не нужен.

Vladislav
15.11.2016
19:04:52
Roman
15.11.2016
19:08:44
Читал, но поверхностно - еще почитаю.
документации к replacing нет. вот тут пара строк в комментах https://github.com/yandex/ClickHouse/blob/master/dbms/src/Storages/StorageFactory.cpp#L524

Kirill
15.11.2016
19:08:49
Ого

papa
15.11.2016
19:09:02
в последней строке опечатка, должно быть 2,2,200, тогда отдается 2 200.

Kirill
15.11.2016
19:12:11
Всем огромное спасибо, поизучаю!

f1yegor
15.11.2016
19:20:48
по ReplacingMergeTree просто посмотри тесты в репозитории

Vladimir
16.11.2016
09:52:01
джва года ждал (с)

Vladislav
16.11.2016
10:19:54
еще бы адаптировать CH под Anchor model и цены ему не будет...

Evgeniy
16.11.2016
10:20:20
что за модель

Dmitrii
16.11.2016
10:21:03
Да-да, мы когда на кликхаус пересели, я долго не мог поверить, что это не закешированные данные, а посчитанные на лету.

Vladislav
16.11.2016
10:38:25
что за модель
http://www.anchormodeling.com/

Evgeniy
16.11.2016
10:43:11
http://www.anchormodeling.com/
Я бы тоже в булушную на Самосвале ездил бы , а че , колеса есть ) Руль то же круглый и мтотор мощный.. - Я правильно понимаю что Anchor создавался для ERP шек ?

Vladislav
16.11.2016
10:45:01
Я бы тоже в булушную на Самосвале ездил бы , а че , колеса есть ) Руль то же круглый и мтотор мощный.. - Я правильно понимаю что Anchor создавался для ERP шек ?
Сравнение скорее пойти пешком на другой конец мира, вместо того, чтобы полететь... И Anchor не совсем для ERP, на его основе отлично строится гибкий DWH

Roman
16.11.2016
10:45:33
Я бы тоже в булушную на Самосвале ездил бы , а че , колеса есть ) Руль то же круглый и мтотор мощный.. - Я правильно понимаю что Anchor создавался для ERP шек ?
Про сравнение разных подходов к моделированию, в приложении к Вертике, https://habrahabr.ru/post/227111/ Про анкор там тоже есть.

Vladislav
16.11.2016
10:46:32
Про сравнение разных подходов к моделированию, в приложении к Вертике, https://habrahabr.ru/post/227111/ Про анкор там тоже есть.
Да да, Николай Голов очень много про это рассказывает на примере внедрения Vertica в Avito

Вот еще до кучи: http://synthesis.ipi.ac.ru/sigmod/seminar/s20151126

Roman
16.11.2016
10:49:35
еще бы адаптировать CH под Anchor model и цены ему не будет...
Анкор же можно представить снежинкой с огромным количеством "лучиков"?

Google
Roman
16.11.2016
10:49:55
Или даже звездой?

Набором звезд.

Vladislav
16.11.2016
10:50:14
не совсем

у Anchor три сущности, а не две

там 6NF, идет избыточность таблиц, но это дает полную гибкость в плавном подключение новых сущностей, без затрагивания существующих

сделать это на CH можно, но проблема состоит потом собрать это JOIN'ами

Roman
16.11.2016
10:52:25
там 6NF, идет избыточность таблиц, но это дает полную гибкость в плавном подключение новых сущностей, без затрагивания существующих
Я поэтому и провел аналогию с набором звезд. Таблица фактов, вокруг 100500 таблиц с отдельными атрибутами. Какая третья сущность нужна?

Таблицы атрибутов = словари в КХ

Evgeniy
16.11.2016
10:54:01
Ознакомьтесь внимательнее, хотя бы с презентацией
Чтение одних и теже книг редко приводит к одним и тем же выводам ))

Roman
16.11.2016
10:54:32
Ознакомьтесь внимательнее, хотя бы с презентацией
Я знакомился. Только давно. На пальцах поясните, плиз, почему сущности анкор-модели не получится смоделировать через небольшое кол-во таблиц фактов и словарей.

Vladislav
16.11.2016
10:54:49
я не сказал, что не получится

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