блока невозможна
                  
                  
                  НО возможна частичная вставка инсерта. 
                  
                  
                  Инсерт может разбиться на несколько блоков, это зависит от ключа партиционирования, т.е. инсерт должен покрывать только одну партицию. Плюс зависит от max_insert_block_size.
                  
                  
                  
                  
                  
                  атомарность insert ... select зависит от max_block_size и от того откуда select (от движка таблицы).
                  
                  
                  У MV нет атомарности, вставка может пройти в таблицу и не пройти в MV.
                  
                  
                  
                  
                  
                  >2) В этом случае всё ещё можно полагаться на идемпотентность? 
                  
                  
                  только для replicated таблиц, для последних 100 инсертов и только если блок абсолютно идентичен, теже строки в том же порядке.
                  
                  
                  
                  
                  
                  
                  
                  
                  >3) А если при повторной попытке в таком случае запись пойдет в другую реплику?
                  
                  
                  если для insert используются distributed то нужен ключ шардирования, чтобы блок попал в тот же самый шард что и предыдущая попытка
                  
                  
                
Вооот, ещё детали... Спасибо! Вообще выглядит так, что можно уже делать страничку вроде best practices and pitfalls of writing into clickhouse )
Обсуждают сегодня