Обсуждаем ClickHouse
я написал на клиенте
на сервере таймзону менять не надо, если не хотите проблем
Вы где то видели в клике упоминание таймзоны, как в ПГ?
Читать полностью…Перепутал, byteSize
:
https://clickhouse.com/docs/sql-reference/functions/other-functions#bytesize
А почему тогда bytesSize()
от значения типа LowCardinality
возвращает 16?
Этому не стоит верить, или это значит, что там много уникальных значений, раз оно такое большое?
Low cardinality занимает от одного байта. Это индекс словаря плюс словарь. Если в словаре 255 элементов индекс будет 1 байт
https://youtu.be/rqf-ILRgBdY?si=DVBVwvse1ZJPY_dm
Всем привет
У меня возникла проблема: при записи времени в clickhouse записывается UTC, можно ли как-то сделать , чтобы clickhouse автоматически при select выводил в установленной таймзоне ?
Подскажите пожалуйста, сколько весит LowCardinality(String)?byteSize
от строки из 4 символов - 13
Профитно ли для такой короткой строки использовать LowCardinality(String)?
Для другой колонки LowCardinality(String) результат byteSize - 16.
Я правильно понимаю, что LowCardinality занимает 16 байт, и использовать его в таблицах, для колонок, где avg(byteSize(column_name))
< 16, нет смысла?
Дедуп работает внутри партиции. Мержи слияют парты только в партиции. Каждая партиция живёт своей отдельной жизнью. У вас оптимизация которая приводит к неверной логике и неверным результатам
Читать полностью…https://pastila.nl/?002928f6/fb65885fd5a16188acb2103d15b9d991#vZ7D6Og2K91re/NkqwuCeQ==
Читать полностью…так а КХ не запускается или что?
там можно киперу сказать rcvr
типа echo rcvr | nc ...
в общем у вас маленькие партиции, скорее всего нет смысла морочится
Читать полностью…replicated базы поддерживают структуру таблиц, т.е. не нужен on cluster, таблицы сами создаются на всех нодах, алтерятся, etc.
replicated database был какое-то время экспериментальным, но потом его допилили, наверное в clickhouse.cloud он только и используется.
там рассчитано что оно будет создано в replicated database
и видимо надо создавать эту database где все ноды КХ реплики, тогда RVM выполнится только на одной
Как это можно задать на серверной части ?
Читать полностью…задайте для клиента таймзону и ее приоритет
Читать полностью…Ну это да, но хотелось бы что-бы автоматически бралась таймзона из UTC без явного перевода
Читать полностью…Это как раз не проблема, а хорошо. Лучше хранить все в UTC и на клиентах рулить отображением, чем хранить хз в какой таймзоне и хапнуть кучу проблем на клиентах из разных часовых поясов.
выводите toDateTime64(field, 0, 'Europe/Moscow'), если нужно в МСК и т.д.
Добрый день. Подскажите, по возможности, мануал хороший по установке кластера и первичной настройке.
Читать полностью…Я про дедуп при мержах в первую очередь.
У вас же проблема даже в том что partition pruning работает самым первым и в final уже приходят неверные записи.
Если дедубликация работает внутри партиции, 2 эти записи в разных партициях, то после дедубликации должно 2 записи остаться
Читать полностью…Это было сделано для оптимизации запросов к таблице wide_order, т.к часто запросы к этой таблице могут содержать фильтрацию по partner_name, при этом partner_name может меняться, поэтому он не содержится в ORDER BY:
https://clickhouse.com/docs/ru/partitions#query-optimization
Разве PARTITION BY влияет на дедубликацию? В поле partner_name различных значений не более 300, в перспективе не более 3 тыс.
забавно, только сейчас я понял
PARTITION BY partner_name
Ну в этом смысле в конечно, КХ не может определить какой инсерт последний. И такое не описано в документации.
Это экстремально необычно.
Теперь конечно вообще непонятно что вы хотели от такой таблицы.
Такое ощущение что PARTITION BY partner_name в таблице по ошибке
именно primary key ?
В кх проблема есть https://github.com/ClickHouse/ClickHouse/issues/33056
надо делать вот так
order by toDate(timestamp), kind, timestamp primary key toDate(timestamp), kind
покажите в следующий раз select *, _part from wide_order
т.е. иначе непонятно как вы узнаете какой инсерт был последним
https://pastila.nl/?01b5c534/faa110d40ba6fb90aa61a26d4a3fcf6c#VS+8pI2Eiq58o9cqzV6knQ==
Читать полностью…Спасибо! Не знал что бывает Replicated движок для баз данных, думал только для таблиц
Читать полностью…Так у вас реплейсинг, он и уберет. Однажды
Читать полностью…