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

Вот этот раздел тоже слабо в голове укладывается :(( Вроде слова

понятные, а по смыслу непонятно. Поясните пожалуйста на пальцах, что имеется ввиду:

For Replacing / Collapsing

You need to keep all ‘mutable’ columns outside of ORDER BY, and have some unique id (a base to collapse duplicates) inside. Typically the right-most column is some row identifier. And it’s often not needed in sparse index (so PRIMARY KEY can be a prefix of ORDER BY) The rest consideration are the same.

Examples:

ORDER BY (tenantid, site_id, eventid) -- utm_source is mutable, while tenantid, site_id is not PRIMARY KEY (tenantid, site_id) -- eventid is not used for filtering, needed only for collapsing duplicates

Ещё, подскажите пожалуйста,

Replacing - это когда мы заменяем секцию со старыми данными на секцию с актуальными?

А collapsing?

16 ответов

17 просмотров

Collapsing Схлопывает по sign все строки с одинаковым order by значениями полей

А replacing заменяет На любую строку И на последнюю если versioning

Tatiana Egorova-Egorova Автор вопроса
Slach [altinity]
Collapsing Схлопывает по sign все строки с одинак...

что значит схлопывает по SIGN? Когда это происходит, при селекте? Простите, совсем непонятно :((( возможно, чего-то базового не знаю.

Tatiana Egorova-Egorova Автор вопроса
Slach [altinity]
А replacing заменяет На любую строку И на последн...

Я думала replacing - это когда мы принудительно партицию стираем, а вместо нее другую из источника заливаем. Но, судя по ответу, это что-то другое. Поясните пожалуйста.

Tatiana Egorova Egorova
Я думала replacing - это когда мы принудительно па...

Я пояснил Перечитайте ещё раз Парты и партиции это разные вещи Почитайте про system.parts и system.partitions Парты иммутабельны Создаются при вставке Потом объединяются с другими более старыми партами в фоне Путём сортировкой слиянием Порождая новые парты А старые ставя как active=0 И удаляя через 480 секунд Разновидности движков это всего лишь логика которая действует при вставке и слияниях

ORDERBY секция используется мержами идентификации уникальных записей (типа первичный / уникальный), ReplacingMT в мержах остаются только один экземпляр для набора ORDERBY

Tatiana Egorova Egorova
что значит схлопывает по SIGN? Когда это происходи...

это в документации надо читать, тут вам напоют

Tatiana Egorova-Egorova Автор вопроса
Slach [altinity]
Я пояснил Перечитайте ещё раз Парты и партиции э...

Добрый вечер, вы пишите парты и партиции разные вещи, но в документации написано, что парты и есть партиции: https://clickhouse.com/docs/ru/operations/system-tables/parts/ Подскажите, где мне почитать о том, что они разные. Описание таблицы system.partitions также не нагуглила. Посоветуйте пожалуйста.

Tatiana Egorova Egorova
Добрый вечер, вы пишите парты и партиции разные ве...

так указано же, что в этой таблице в колонке name лежит имя парта, в колонке partition — имя партиции, к которой этот part принадлежит. и там разные значения.

Tatiana Egorova Egorova
Добрый вечер, вы пишите парты и партиции разные ве...

парты (куски) физическое представление таблицы (директории на диске) партиции логическое вы создаете таблицу partition by toYYYYMM(D) потом делаете insert ... ( D.... ) values ( 2020-01-01 .... ) insert ... ( D.... ) values ( 2020-01-02 .... ) insert ... ( D.... ) values ( 2021-01-01 .... ) создается 3 парта, в двух партициях (toYYYYMM(D)). парты (куски) сливаются /мержатся в бOльшие куски в рамках партиции т.е. в какой-то момент два первых превратятся в один станет два парта, по одному в партиции

Tatiana Egorova-Egorova Автор вопроса
Denny [Altinity]
парты (куски) физическое представление таблицы (ди...

Denny, я ведь не могу никак повлиять на parts? Они же мержатся в своей логике. И как бы это просто для информации, или нет? Если я, допустим, хочу какой-то кусок заменить. Я могу стереть партицию и внести ее заново.

Tatiana Egorova Egorova
Denny, я ведь не могу никак повлиять на parts? Они...

Можно detach делать партов и нужный кусок убирать

Tatiana Egorova-Egorova Автор вопроса
【D】【J】
Можно detach делать партов и нужный кусок убирать

Как это? Кусок же нужно логически выделить. Чтобы потом его заменить на аналогичный, но новый. А как по part понять, что в нем смержилось и чему он эквивалентен в источнике? По партиции-то понятно.

Tatiana Egorova Egorova
Как это? Кусок же нужно логически выделить. Чтобы...

Парт сам по себе - атомичен и неизменяем. Он мерджится в другие парты. Пока не смерджился - можно удалять детачем. Виртуальная колонка _part вернет информацию о парте

Tatiana Egorova Egorova
Denny, я ведь не могу никак повлиять на parts? Они...

на парты вы не должны хотеть влиять. есть варианты, можно сделать replace партции

Tatiana Egorova Egorova
Добрый вечер, вы пишите парты и партиции разные ве...

извините, но в ссылке которую вы прислали написано "кусок данных", кусок данных это не партиция partition это одно из полей этой таблицы грубо говорят, партиции это префикс в имени парта и еще minmax индекс внутри парта по полям из PARTITION BY чтобы при сканировании партов можно было ОЧЕНЬ БЫСТРО отбрость лишние

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

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

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта