Вопросов: 1360
Ответов: 9622
name String, ts UInt4, type Int8 DEFAULT -1, value Int8 DEFAULT -1 ENGINE = ReplacingMergeTreets PRIMARY KEYname ORDER BY name,type SETTINGS index_granularity = 1024; Делаю запрос select name,minvalue from xxx group by name order by name limit 10; почему CH 21.1.10.3 сканирует всю таблицу и отменяет запрос по памяти? Ведь name - это primary key и все данные лежат в одной/соседних гранулах достаточно только прочитать первые несколько гранул и выдать результат
не могу понять с индексами все-таки в КХ они по типу btree или нет ? потмоу-что при сортировке есть упоминания что в начало ORDER BY надо ставить то поле которое максимально изменчивое .... но если это работает по btree с поиском остальных полей по которым идет основное отсечение данных будут проблемы .... все-таки чем руководствоваться ? а то в документация я так и не нашел полного объяснения
в system.parts в одинаковых партициях? Сори, пока не владею терминами клика, в истории чата не смог найти такого вопроса
Стоит ли использовать кликхаус как базу для хранения постов для сайтов по типу объявлений с категориями? авито, юла - для примера или проще идти с PG и MySQL?
можно забирать только двумя способами * подставляя в правую часть join условия в запросе * через joinGet функцию Но по факту удаётся делать любые select запросы из неё. Хочу понять в чем профит использования движка в таком случае. Только то что все хранится в Ram?
Есть Кафка табличка, в которой подключено около 20 топиков. Каждый топик через свою матвью пишется в соответвующую табличку. Сегодня в эти таблички перестали пиисаться данные. В кафке растет лаг. Ошибок не сыпет вообще. Но если рестартовать кликхаус — получаю по каждой таблице, в которые идет запись из кафка-таблички такую вот ошибку: Couldn't start replication: Replica appears to be already /clickhouse/tables/0/s_usergeo_state_id/replicas/srv2704 active If you're sure it's not, try again in a minute or remove znode /clickhouse/tables/0/s_usergeo_state_id/replicas/srv2704 manually Пробовал для одной из таблиц удалять is_active из зукипера - результатов не дало. Подскажите, куда дальше можно копать?
индекс отличный от order by? Пытаюсь сделать, пишет Primary key must be a prefix of the sorting key, but its length: 5 is greater than the sorting key length: 1 version 20.9.2.20 official build
по какой-то колонке name допустим?
на ReplicatedReplacingMergeTree какие могут быть подводные камни ? .... возможно что-то надо подготовить к данному процессу ?
в них нулами?
POPULATE AS .... Запрос отпал с сообщением DB::Exception: Too many partitions for single INSERT block more than 100 ....... В итоге материалка есть, но в ней не все данные. И что можно сделать, чтобы не ловить эту ошибку? Ключ партицирования вроде адекватный
use 14.08 GiB attempt to allocate chunk of 338518331 bytes, maximum: 14.08 GiB - кроме увеличения оперативной памяти, выделенной инстансу?
почему это не работает? и должно ли? местами cpm = null, из за этого avg возвращает тоже null как игнорировать null ?
сейчас добавляю новые как attach from <tmp_partition>, но это грозит дублями если ретраить В доке не вижу ничего насчет if not exists или чего-то подобного. Только создавать, а в случае фэйла проверять на каждом хосте, не создалось ли или есть способ проще и надежнее?
надо разложить по глобальным таблицам отдельная категория, хочу сделать через MATERIALIZED VIEW. Да вот UNION is not supported for MATERIALIZED VIEW. Куда читать?
в функции `Digest::SipHash? Если это раунды компресии `c и d, то где ключ? Можете подсказать?
налету усредненных данных за 4, 15, 60 секунд. Нашел в документации, что задача решается при помощи мат вью и дополнительных таблиц. Проэкспериментировал, Мат вью + MergeTree решают задачу, в графане графики одинаковые при выборке данных из оригинальной таблицы с аггрегацией налету и при выборе данных из аггрегированной таблицы Вью выглядит так: CREATE MATERIALIZED VIEW graphite_mv_avg15 TO graphite_avg15 AS SELECT Path, avgValue AS Value, Date, Time, toStartOfIntervaltoDateTimeTimestamp, toIntervalSecond15 AS Timestamp FROM carbon_metrics.graphite GROUP BY Path, Date, Time, Timestamp Таблица с аггрегированным представлением: CREATE TABLE graphite_avg15 Path LowCardinalityString CODECZSTD, Value Float64 CODECZSTD, Time UInt32 CODECDelta, LZ4, Date Date CODECZSTD, Timestamp UInt32 CODECDelta, LZ4 ENGINE = MergeTree PARTITION BY toYYYYMMDate ORDER BY Path, Time SETTINGS index_granularity = '8192' Вопрос актуален в том плане, что если AggregatingMergeTree не нужен, то аггрегированные таблицы можно будет сделать на базе ReplicatedMergeTree. Что я упускаю?
что-то типа usert?
который покажет в какое время суток в среднем было больше всего действий. Подскажите какой запрос сделать, чтобы получить данные примерно в таком формате за указанный период времени например неделю, месяц...: Час1=Количество за 1 час Час2=Количество за 2 час ... Час24=Количество за 24 час ?
Select sessionTimestamp, groupArrayeventName as gEventName, arrayExistsx->x='bOrder',gEventName AS bOrder