Size: a a a

ClickHouse не тормозит

2020 September 15

DC

Denny Crane [not a Y... in ClickHouse не тормозит
No1
Спасибо большое за информацию, можно было бы, если бы не проект, который уже не поддерживается 🙂
не надо тогда менять что-либо в проекте , который уже не поддерживается.
и что самое веселое почему вы думаете что ваш индекс поможет? Это особые skip индексы, у которых очень крохотная область применения. Они вообще ни разу не те индексы к которым вы привыкли в обычных бд
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Алексей Мартыненко
спасибо а где прочитать про такую конфигурацию в офф доке только

   policy_name_N — название политики. Названия политик должны быть уникальны.
   volume_name_N — название тома. Названия томов должны быть уникальны.
   disk — диск, находящийся внутри тома.
   max_data_part_size_bytes — максимальный размер куска данных, который может находится на любом из дисков этого тома.
   move_factor — доля свободного места, при превышении которого данные начинают перемещаться на следующий том, если он есть (по умолчанию 0.1).
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
https://altinity.com/blog/2020/3/23/putting-things-where-they-belong-using-new-ttl-moves

TTL FlightDate TO VOLUME 'fast',
  FlightDate + INTERVAL 3 YEAR TO VOLUME 'med',
  FlightDate + INTERVAL 5 YEAR TO VOLUME 'slow',
  FlightDate + INTERVAL 7 YEAR DELETE
источник

АМ

Алексей Мартыненко... in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
https://altinity.com/blog/2020/3/23/putting-things-where-they-belong-using-new-ttl-moves

TTL FlightDate TO VOLUME 'fast',
  FlightDate + INTERVAL 3 YEAR TO VOLUME 'med',
  FlightDate + INTERVAL 5 YEAR TO VOLUME 'slow',
  FlightDate + INTERVAL 7 YEAR DELETE
спасибо!
понял что для этого надо будет обновиться
источник

SM

Sergey M in ClickHouse не тормозит
Hello, guys

Вопрос у меня такой
Я пользуюсь CH 20.3
и хочу достать "номер заказа"
SELECT extractAll('order=12412535', 'order.*?(\d+)');
а мне выдаёт d
как мне достать что нужно?

regex работает
https://regex101.com/r/hF1xvg/1
источник

D

Dmitry Koreckiy in ClickHouse не тормозит
Sergey M
Hello, guys

Вопрос у меня такой
Я пользуюсь CH 20.3
и хочу достать "номер заказа"
SELECT extractAll('order=12412535', 'order.*?(\d+)');
а мне выдаёт d
как мне достать что нужно?

regex работает
https://regex101.com/r/hF1xvg/1
SELECT extractAll('order=12412535', 'order.*?(\\d+)')
источник

SM

Sergey M in ClickHouse не тормозит
Dmitry Koreckiy
SELECT extractAll('order=12412535', 'order.*?(\\d+)')
Оооо
Спасибо!
Оказывается это было проще чем я думал)
источник

Э

Эмил in ClickHouse не тормозит
Попытка номер один задать вопрос по человечиски



CREATE TABLE IF NOT EXISTS logs_extended
   (
     created_datetime DateTime DEFAULT now(),
     event_datetime DateTime,
     lac UInt32,
     sac UInt32,
     msisdn LowCardinality(String)
   )
   ENGINE = MergeTree
   PARTITION BY toYYYYMM(event_datetime)
   ORDER BY (event_datetime,msisdn)
   TTL event_datetime + INTERVAL 1 WEEK DELETE



У  меня будет оптимизированный select по event_datetime и msisdn?
источник

P

Pavel in ClickHouse не тормозит
CHProxy если кто-то использовал, у вас получилось на TCP (9000) порт КХ проксировать?
источник

l

lnuynxa in ClickHouse не тормозит
Pavel
CHProxy если кто-то использовал, у вас получилось на TCP (9000) порт КХ проксировать?
Нет, это http прокси, для tcp я бы посоветовал haproxy
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Эмил
Попытка номер один задать вопрос по человечиски



CREATE TABLE IF NOT EXISTS logs_extended
   (
     created_datetime DateTime DEFAULT now(),
     event_datetime DateTime,
     lac UInt32,
     sac UInt32,
     msisdn LowCardinality(String)
   )
   ENGINE = MergeTree
   PARTITION BY toYYYYMM(event_datetime)
   ORDER BY (event_datetime,msisdn)
   TTL event_datetime + INTERVAL 1 WEEK DELETE



У  меня будет оптимизированный select по event_datetime и msisdn?
>select по event_datetime и msisdn
что такое по event_datetime и msisdn? фильтровать?  сортировать?  группировать?

для запроса типа
where msisdn = ? and event_datetime between
Нужно поменять местами ORDER BY (msisdn, event_datetime)
источник

Э

Эмил in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
>select по event_datetime и msisdn
что такое по event_datetime и msisdn? фильтровать?  сортировать?  группировать?

для запроса типа
where msisdn = ? and event_datetime between
Нужно поменять местами ORDER BY (msisdn, event_datetime)
фильтровать


Мне нужно следующие запросы

1)where msisdn = ?
2
)event_datetime between
3
)where msisdn = ? and event_datetime between
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Эмил
фильтровать


Мне нужно следующие запросы

1)where msisdn = ?
2
)event_datetime between
3
)where msisdn = ? and event_datetime between
я бы начал с ORDER BY (msisdn, event_datetime)

еще другой вопрос
PARTITION BY toYYYYMM(event_datetime)
TTL event_datetime + INTERVAL 1 WEEK DELETE

т.е. партиции по месяцу но через неделю удалить?
логичнее в этом случае сделать партиции по дням

PARTITION BY toYYYYMMDD(event_datetime)
TTL event_datetime + INTERVAL 1 WEEK DELETE
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
в общем варианты

a). быстрые 1,3 медленный 2

PARTITION BY toYYYYMMDD(event_datetime)
ORDER BY (msisdn, event_datetime)
TTL event_datetime + INTERVAL 1 WEEK DELETE

б). все средне (1,2,3)

PARTITION BY toYYYYMMDD(event_datetime)
ORDER BY (toStartOfHour(event_datetime), msisdn)
TTL event_datetime + INTERVAL 1 WEEK DELETE
источник

SM

Sergey M in ClickHouse не тормозит
Ребят не подскажете
каким образом можно сделать типо
join on startsWith(tb1.big_str, tb2.litl_str)

Cross join не подходит - слишком много данных
источник

D

Dj in ClickHouse не тормозит
Эмил
Попытка номер один задать вопрос по человечиски



CREATE TABLE IF NOT EXISTS logs_extended
   (
     created_datetime DateTime DEFAULT now(),
     event_datetime DateTime,
     lac UInt32,
     sac UInt32,
     msisdn LowCardinality(String)
   )
   ENGINE = MergeTree
   PARTITION BY toYYYYMM(event_datetime)
   ORDER BY (event_datetime,msisdn)
   TTL event_datetime + INTERVAL 1 WEEK DELETE



У  меня будет оптимизированный select по event_datetime и msisdn?
msisdn по всем абонентам? если да тогда у вас там очень высокая кардинальность. ваш вариант лучше чем у Денни.

а Лучше всего так:

PARTITION BY (toYYYYMMDD(event_datetime), toHour(event_datetime))
ORDER BY (msisdn, event_datetime)
TTL event_datetime + INTERVAL 1 WEEK DELETE

если по ЛАКам будете искать, можете накинуть ЛАК перед номером тоже
источник

SM

Sergey M in ClickHouse не тормозит
/stat@combot
источник

C

Combot in ClickHouse не тормозит
Total messages: 181663
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Sergey M
Ребят не подскажете
каким образом можно сделать типо
join on startsWith(tb1.big_str, tb2.litl_str)

Cross join не подходит - слишком много данных
ну никак. И Деда Мороза тоже нет.
источник

SM

Sergey M in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
ну никак. И Деда Мороза тоже нет.
😭
А Оле Лукойе существует?))
источник