184 похожих чатов

Насколько справедливо утверждение "Because there is no such thing as

transaction isolation, any SELECT query that touches data in the middle of an UPDATE or DELETE modification (or a Collapse modification as we noted above) will get whatever data is currently in each part" из модной статьи https://blog.timescale.com/blog/what-is-clickhouse-how-does-it-compare-to-postgresql-and-timescaledb-and-how-does-it-perform-for-time-series-data/?utm_source=timescaledb&utm_medium=social&utm_campaign=abl-oct-2021&utm_content=clickhouse-benchmark-blog ?
Мне казалось, что select читает данные из партов, существовавших на момент начала запроса, и консистентность обеспечивается.

2 ответов

12 просмотров

парты иммутабельны. он либо есть либо нет. во время апдейта половина партов обновилась - другая нет - ваш селект вернет те парты что есть. поэтому мутации - сложная вещь которую лучше делать в бекграунде...

1. один select консистент. Сложные SELECT .... from t Join (select .... from t) // SELECT .... from t where in (select ..) -- не консистентны потому что это несколько селектов. Это решено в КХ транзакциях. (В том бенчмарке почти все запросы такие) 2. UPDATE or DELETE не атомарны, они обрабатывают партами, поэтому консистентный селект видит половину еще не удаленных строк и не видит половину удаленных

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта