одной партиции, причем если поменять порядок, сначала вставить 1 потом -1 все будет работать, но ведь это не должно ни на что менять....
а что не так?
я вставил 2 записи с одинаковым ORDER BY , которые оказываются в одной партиции, с противположными sign, по смыслу CollapsingMT данные строчки должны схлопнуться
For each resulting data part ClickHouse saves: The first “cancel” and the last “state” rows, if the number of “state” and “cancel” rows matches and the last row is a “state” row. из https://clickhouse.com/docs/en/engines/table-engines/mergetree-family/collapsingmergetree#table_engine-collapsingmergetree-collapsing-algorithm Собсна без файнала как раз показывает что остаются обе строки, т.к. sign=1 добвлена позже в любом случае вы не можете полагаться на результат даже файнала и должны писать правильный запрос с агрегатом с учетом sign
Я это понимаю, из документации же следует что FINAL или optimize table final схлопывает записи с одинаковым ключом сортировки
я привел цитату из доки - не смерживает в вашем случае
Благодаря вам узнал, что у VersionedCollapsingMT version может быть не Int'ом (в документации сказано исключительно Int8)
а в вашем примере version то одинаковые, при этом данные схлопнулись, верно?
version точно может быть int32, datetime это конечно интересно. видимо считается что за одну секунду два раза нельзя поменяться.
Мне нужно удалять строчку и желательно чтоб оно в время мерджа тоже удалялось даже если я в кривой последовательности вставляю. Получается VersionedCollapsingMT закрывает эту проблему, верно?
да, именно это и написано в описании к VCMT VersionedCollapsingMergeTree serves the same purpose as CollapsingMergeTree but uses a different collapsing algorithm that allows inserting the data in any order with multiple threads. In particular, the Version column helps to collapse the rows properly even if they are inserted in the wrong order. In contrast, CollapsingMergeTree allows only strictly consecutive insertion.
К сожалению по VersionedCollapsingMergeTree очень мало кейсов и документации, спасибо что подсказали решение 🙏
Обсуждают сегодня