Size: a a a

ClickHouse не тормозит

2020 May 18

DC

Denny Crane (I don't... in ClickHouse не тормозит
Serhii Kholodniuk
Я хочу вынести в справочник, все что потребуется менять в будущем. И желательна строгая привязка к данным в КХ. Не понял на счёт РК.
вы попробуйте делать как я говорю, и сразу поймете
т.е. в вашем случае вам даже подходит uuid который вам уже предлагали, просто uuid еще жирнее и в словари хуже лезет
источник

S

Serj in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
будут, если у вас в справочнике миллиард, но вы их никогда не заметите
А подскажите пожалуйста насколько большие таблицы можно загружать в Dictionary? Если в таблице postgre 100 миллионов записей в каждой записи по 15 колонок, нормально все эти данные тащить в словарь?
источник

SK

Serhii Kholodniuk in ClickHouse не тормозит
Но раньше читал, что желательна связь через uint64, так как быстрее будет работать. Или я не правильно понял?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Serj
А подскажите пожалуйста насколько большие таблицы можно загружать в Dictionary? Если в таблице postgre 100 миллионов записей в каждой записи по 15 колонок, нормально все эти данные тащить в словарь?
да.
Разные layout-ы есть
hashed если устраивает загрузка в течении 15 минут и расход озу 100ГБ
caches если нет
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Serhii Kholodniuk
Но раньше читал, что желательна связь через uint64, так как быстрее будет работать. Или я не правильно понял?
какая связь? телефонная?
источник

S

Serj in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
да.
Разные layout-ы есть
hashed если устраивает загрузка в течении 15 минут и расход озу 100ГБ
caches если нет
Понял, спасибо.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
сущность - связь -- это понятия на другом уровне абстракции. Там нет джойнов и нет типов полей.
В КХ быстрее работают join по UInt64 просто потому что меньше байт перекладывать с место на место. По UInt8 еще быстрее.
Но логичнее использовать словари (вместо join)  -- они по умолчанию используют ключи UInt64
источник

SK

Serhii Kholodniuk in ClickHouse не тормозит
Мне в таблице лучше иметь ключ в виде Uint64, что-б быстрее найти эквивалент в словаре?
источник

SK

Serhii Kholodniuk in ClickHouse не тормозит
Или это не имеет значение
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Serhii Kholodniuk
Мне в таблице лучше иметь ключ в виде Uint64, что-б быстрее найти эквивалент в словаре?
да

особо выбирать не из чего, либо Uint64, либо complex, но complex всегда медленее и всегда жрет больше памяти.
источник

SK

Serhii Kholodniuk in ClickHouse не тормозит
Как лучше заполнить колонку таблицы с ключом, если нет автоинкремента и нет в таблице уникального индикатора
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
источник

SK

Serhii Kholodniuk in ClickHouse не тормозит
Понял, походу только скриптом. Спасибо, что разъяснили на счёт clickhouse
источник

A

Andrey in ClickHouse не тормозит
а почему не средствами clickhouse? Какой нибудь generateUUIDv4()
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Andrey
а почему не средствами clickhouse? Какой нибудь generateUUIDv4()
вопрос не ко мне. https://t.me/clickhouse_ru/161227
источник

A

Andrey in ClickHouse не тормозит
а, ок, понял)
источник

KN

Konstantin Nanasyan in ClickHouse не тормозит
подскажите, пожалуйста, вопрос по clickhouse-backup
источник

KN

Konstantin Nanasyan in ClickHouse не тормозит
этот тул должен обязательно запускаться с той же машины где хоститься кх?
источник

A

Andrey in ClickHouse не тормозит
Konstantin Nanasyan
этот тул должен обязательно запускаться с той же машины где хоститься кх?
Он с файлами работает, так что да.
источник

A

Arsen in ClickHouse не тормозит
А как то можно из питона писать SQL код не 1 большим многовложенным ошметком, а деля на отдельные куски? Через темповые таблицы или with, например:

with agg_table_A as (
   select ....
   from table_A
   group by ...
);

with agg_table_B as (
   select ....
   from table_B
   group by ...
);

select *
from agg_table_A
left join agg_table_B
using ...
источник