Size: a a a

ClickHouse не тормозит

2020 June 21

D

Dj in ClickHouse не тормозит
да, я почему то подумал что он что-то не то возвращает, но нет логика одинаковая и правильная везде... а то что вместо групинг() всякие слова параметры, так это "наследие"
источник

IG

Ilona Gladysheva in ClickHouse не тормозит
Спасибо большое за примеры и дискуссию!🙂 я понимаю логику, порядок выполнения операторов, но я не согласна с тем, что она правильная) точнее не представляю usecase для данных, полученных комбинацией rollup и having в текущей логике. По отдельности все понятно: есть таблица с суммами, есть having, есть отфильтрованный результат. Опять же есть таблица с суммами, есть rollup, есть результат с промежуточными итогами. А вот зачем брать этот результат с промежуточными итогами и часть записей из него выкидывать? В этом случае итоги перестают быть итогами, не?
источник

IG

Ilona Gladysheva in ClickHouse не тормозит
В любом случае спасибо еще раз!! Дискуссия не для вечера воскресенья, сорри😀
источник

D

Dj in ClickHouse не тормозит
Ilona Gladysheva
Спасибо большое за примеры и дискуссию!🙂 я понимаю логику, порядок выполнения операторов, но я не согласна с тем, что она правильная) точнее не представляю usecase для данных, полученных комбинацией rollup и having в текущей логике. По отдельности все понятно: есть таблица с суммами, есть having, есть отфильтрованный результат. Опять же есть таблица с суммами, есть rollup, есть результат с промежуточными итогами. А вот зачем брать этот результат с промежуточными итогами и часть записей из него выкидывать? В этом случае итоги перестают быть итогами, не?
Да, давайте переделаем sql стандарт! Viva la revolucion
источник

IG

Ilona Gladysheva in ClickHouse не тормозит
Да ну ладно!😀
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Нене. давайте сделаем warp drive слетаем в 1998 и расскажем им как надо
источник

D

Dj in ClickHouse не тормозит
Ilona Gladysheva
Да ну ладно!😀
>А вот зачем брать этот результат с промежуточными итогами и часть записей из него выкидывать?

чтобы можно было выкидывать по сложным условиям
например (grouping(a) and grouping(b)) and having(sum(c))>100
источник

IG

Ilona Gladysheva in ClickHouse не тормозит
Dj
>А вот зачем брать этот результат с промежуточными итогами и часть записей из него выкидывать?

чтобы можно было выкидывать по сложным условиям
например (grouping(a) and grouping(b)) and having(sum(c))>100
Убедили!!
источник

D

Dj in ClickHouse не тормозит
Ilona Gladysheva
Убедили!!
серьезно, вот мы такое используем, причем генерирует приложение, а вы говорите уберем это )
источник

IG

Ilona Gladysheva in ClickHouse не тормозит
Беру свои слова обратно! Я серьезно
источник

IG

Ilona Gladysheva in ClickHouse не тормозит
Я ограниченно мыслю😬
источник

D

Dj in ClickHouse не тормозит
Ilona Gladysheva
Беру свои слова обратно! Я серьезно
поздно, мой сарказмохейтеромет расчехлен =)
источник

IG

Ilona Gladysheva in ClickHouse не тормозит
Да ладно! Вы добрый😀
источник

D

Dj in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
Нене. давайте сделаем warp drive слетаем в 1998 и расскажем им как надо
сделайте уже ишшю на warp drive =) может можно будет слетать и хотя бы передать им технологии памяти и у нас будет достаточно, чтобы мы могли хешджойнить по человечески )))
источник

D

Dj in ClickHouse не тормозит
а то у меня уже partition-wise join issue готовился =)
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Я реально не понимаю почему хеш таблицы столько памяти жрут и в словарях и в джойнах и я спрашивал неоднократно в дев чатике. Так вот разразбы кх не понимают почему хеш таблицы должны жрать меньше.
источник

D

Dj in ClickHouse не тормозит
руки дойдут, попрошу сделать  пример хеш джойна в оракле, просто сравнить... там все очень плохо на стороне КХ

просто мы джойним две таблицы фактов хешами и оно ну вообще жрет мизер поверх реально самих данных

ну и партишнwise hash-join - это must-have
источник

AP

Abi Palagashvili in ClickHouse не тормозит
Dj
руки дойдут, попрошу сделать  пример хеш джойна в оракле, просто сравнить... там все очень плохо на стороне КХ

просто мы джойним две таблицы фактов хешами и оно ну вообще жрет мизер поверх реально самих данных

ну и партишнwise hash-join - это must-have
Тип данные из одной партиции считываются в хеш-таблицу,а другая партиция к этой таблице джойнится?
источник

D

Dj in ClickHouse не тормозит
Abi Palagashvili
Тип данные из одной партиции считываются в хеш-таблицу,а другая партиция к этой таблице джойнится?
да, например таблицы
table1: partitionkey(date) pk datetime, customer
table2: partitionkey(date) pk datetime, customer, order


table2 join table1 using
(date, customer)

будет браться первый сет партишнов из table1 -> hash build -> hash probe из первого партишн table2 в зависимости от памяти (доступной и требуемой)
источник

DT

Dmitry Titov in ClickHouse не тормозит
Dj
да, например таблицы
table1: partitionkey(date) pk datetime, customer
table2: partitionkey(date) pk datetime, customer, order


table2 join table1 using
(date, customer)

будет браться первый сет партишнов из table1 -> hash build -> hash probe из первого партишн table2 в зависимости от памяти (доступной и требуемой)
А UNION интересно как работает по очереди?
источник