одной партиции, причем если поменять порядок, сначала вставить 1 потом -1 все будет работать, но ведь это не должно ни на что менять....
                  
                  
                
а что не так?
 Stranger
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Stranger
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  я вставил 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
 Stranger
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Stranger
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Я это понимаю, из документации же следует что FINAL или optimize table final схлопывает записи с одинаковым ключом сортировки
я привел цитату из доки - не смерживает в вашем случае
 Stranger
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Stranger
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Благодаря вам узнал, что у VersionedCollapsingMT version может быть не Int'ом (в документации сказано исключительно Int8)
 Stranger
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Stranger
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  а в вашем примере version то одинаковые, при этом данные схлопнулись, верно?
version точно может быть int32, datetime это конечно интересно. видимо считается что за одну секунду два раза нельзя поменяться.
 Stranger
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Stranger
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Мне нужно удалять строчку и желательно чтоб оно в время мерджа тоже удалялось даже если я в кривой последовательности вставляю. Получается 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.
 Stranger
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Stranger
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  К сожалению по VersionedCollapsingMergeTree очень мало кейсов и документации, спасибо что подсказали решение 🙏
Обсуждают сегодня