Size: a a a

ClickHouse не тормозит

2021 February 10

DG

Denis Glazachev in ClickHouse не тормозит
Dj
у меня точно такая же структура в АД, нельзя построить фильтр который идет по референсам
кстати, можно
источник

S

Slach in ClickHouse не тормозит
Denis Dorozhkin
Всем привет! Есть широкая таблица с несколькмим колонками String в которую уже неколько лет пишутся данные. Данные - разные, но значения в этих колонках из ограниченного множества.
Насколько больно преобразовывать из обычной колонки в LowCardinality и стоит ли оно того?

ALTER TABLE table
   MODIFY COLUMN column LowCardinality(String),
достаточно больно, но это того стоит. выигрыш может быть весьма значительный особенно если кардинальность в пределах блоках действительно небольшая
сколько у вас там данных в байтах на диске по колонкам из system.columns?
фактически у вас по объему чтения \ записи на диск это будет равносильно OPTIMIZE TABLE FINAL
источник

A

Arsen in ClickHouse не тормозит
Dmitry Titov
Для 100гб и одного  сервера слишком много геммора бдует
источник

DG

Denis Glazachev in ClickHouse не тормозит
Denis Glazachev
кстати, можно
Может не в нашей текущей имплементации, но это вопрос флага в API.
источник

СД

Стас Донцов... in ClickHouse не тормозит
Стас Донцов
Привет!

как проверить значение столбца на несколько паттернов чтобы не писать много условий в стиле:

select
   field
where
   field not like '%pattern1%'
   and field not like '%pattern2%'
   .....
   and field not like '%pattern3%'
я так понял чатик с вопросами это не этот чатик?
источник

D

Dj in ClickHouse не тормозит
Denis Glazachev
Может не в нашей текущей имплементации, но это вопрос флага в API.
можете пример фильтра?
userdn: CN=FirstName LastName,OU=RU-Users,OU=USERS,OU=DOMAIN,DC=LOCAL
имя пользователя: firstname.lastname (from samAccountName of user)

GroupDN: CN=DevelopmentOnTestServers,OU=GROUPS,OU=DOMAIN,DC=LOCAL
member: CN=FirstName LastName,OU=RU-Users,OU=USERS,OU=DOMAIN,DC=LOCAL
источник

DD

Denis Dorozhkin in ClickHouse не тормозит
Slach
достаточно больно, но это того стоит. выигрыш может быть весьма значительный особенно если кардинальность в пределах блоках действительно небольшая
сколько у вас там данных в байтах на диске по колонкам из system.columns?
фактически у вас по объему чтения \ записи на диск это будет равносильно OPTIMIZE TABLE FINAL
На одном шарде так
compressed 485,166,083,254
uncomressed 5,669,734,195,840

Ну сжатие ориентировочно на порядок идет
источник

M

Mishanya in ClickHouse не тормозит
Mihail F
Не в словаре замечательно, а вот со словарем уже проблемы пошли
вообще поискал в истории чата, пишут что массивы в словарях не работают.
источник

DT

Dmitry Titov in ClickHouse не тормозит
Mishanya
вообще поискал в истории чата, пишут что массивы в словарях не работают.
Да, но есть варианты, например через запятую можно
источник

MF

Mihail F in ClickHouse не тормозит
Mishanya
вообще поискал в истории чата, пишут что массивы в словарях не работают.
Подозревал. Спасибо за Ваше время!
источник

M

Mishanya in ClickHouse не тормозит
Mihail F
Подозревал. Спасибо за Ваше время!
вон там сверху подсказывают, что можно как-то через запятые)
источник

S

Slach in ClickHouse не тормозит
Denis Dorozhkin
На одном шарде так
compressed 485,166,083,254
uncomressed 5,669,734,195,840

Ну сжатие ориентировочно на порядок идет
То есть пол терабайта на шард
диски сколько последовательное чтение выдают?
место есть свободное?

как вариант можно попробовать протестировать
INSERT INTO table_with_low_cardinality_schema SELECT FROM table WHERE ...
и сравнить что будет на выходе и как влияет

в общем достаточно больно будет, но прососать должно
можно поиграться с background_schedule_pool_size чтобы оно не сильно много потоков одновременно запустило. но это замедлит конвертацию...
по идее чтение при этом не должно прерываться...
и таблица вроде бы не блокируется
источник

DD

Denis Dorozhkin in ClickHouse не тормозит
Slach
То есть пол терабайта на шард
диски сколько последовательное чтение выдают?
место есть свободное?

как вариант можно попробовать протестировать
INSERT INTO table_with_low_cardinality_schema SELECT FROM table WHERE ...
и сравнить что будет на выходе и как влияет

в общем достаточно больно будет, но прососать должно
можно поиграться с background_schedule_pool_size чтобы оно не сильно много потоков одновременно запустило. но это замедлит конвертацию...
по идее чтение при этом не должно прерываться...
и таблица вроде бы не блокируется
Спасибо большое! Будем тестить
источник

VB

Vladimir Bunchuk in ClickHouse не тормозит
Ребят, привет!
Подвисла одна нода в кластере. Перезагрузил ее. Теперь начало валить куча ошибок и растет system.replication_queue

ошибки типа:


2021.02.10 15:42:48.196712 [ 6355 ] {} <Warning> db_name.user_device_id_shard (ReplicatedMergeTreePartCheckThread): Found parts with the same min block and with the same max block as the missing part 202102_228260_228514_39. Hoping that it will eventually appear as a result of a merge.


куда копать, как исправить?
источник

VB

Vladimir Bunchuk in ClickHouse не тормозит
клиент к этой ноде не подключается
источник

DG

Denis Glazachev in ClickHouse не тормозит
Dj
можете пример фильтра?
userdn: CN=FirstName LastName,OU=RU-Users,OU=USERS,OU=DOMAIN,DC=LOCAL
имя пользователя: firstname.lastname (from samAccountName of user)

GroupDN: CN=DevelopmentOnTestServers,OU=GROUPS,OU=DOMAIN,DC=LOCAL
member: CN=FirstName LastName,OU=RU-Users,OU=USERS,OU=DOMAIN,DC=LOCAL
нет, походу, это было про Referrals и не одним флагом а спец. хендлингом
источник

D

Dj in ClickHouse не тормозит
Denis Glazachev
нет, походу, это было про Referrals и не одним флагом а спец. хендлингом
аха, вам по любому надо отделить юзернейм, и получать DN для него отдельно

https://t.me/clickhouse_ru/203596


# returns DN of a user
ldapsearch -H "ldap://ldapserver:389" -D 'PW\firstname.lastname' -w 'password' -b 'OU=USERS,DC=DOMAIN,DC=LOCAL' '(&(objectClass=person)(samAccountName=firstname.lastname))' dn

# finds group of user
ldapsearch -H "ldap://ldapserver:389" -D 'PW\firstname.lastname' -w 'password' -b 'OU=GROUPS,DC=DOMAIN,DC=LOCAL' '(&(objectClass=group)(member=CN=Firstname Lastname,OU=RU-Users,OU=USERS,DC=DOMAIN,DC=LOCAL))' name
источник

AS

Alexey Shcherbakov in ClickHouse не тормозит
Denis Glazachev
если на это будет полочжительный ответ, то все решается элементарно:
bind_dn - как раньше
search base_dn: DC=domain,DC=tld
search filter: <all nodes that have sAMAccountName={user_name} nested inside>
attribute: OU
так не работает, нужно только с CN=
источник

MV

Max Vikharev in ClickHouse не тормозит
Dj
тогда вам велосипедить с CollapsingMergeTree и слать все обновления в КХ... на mysql уже есть engine под это (materializemysql). Для ПГ пока нет.
Итого для инкрементальной заливки измерений SCD из постгреса выбрали  ODBC вытаскивание по updated + Collapsing Merge Tree. Если все таки есть более правильный и/или простой спасибо - дайте знать)
источник

D

Dj in ClickHouse не тормозит
Denis Glazachev
нет, походу, это было про Referrals и не одним флагом а спец. хендлингом
т.е. вместо bind_dn лучше иметь
<username>DOMAIN\{user_name}</username>
<userdn_filter>(&(objectClass=person)(samAccountName={user_name}))</>
источник