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 ответов

25 просмотров

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 чтобы при сканировании партов можно было ОЧЕНЬ БЫСТРО отбрость лишние

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

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

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
28
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
10
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
В clientsettings есть поле client_rates. В поле pagebuilder. Как получить то его?)
Andrey K
8
Здравствуйте, хочу сделать HelloWorld в консоли Дельфи, но функция API ничего не выводит, что я делаю не так? program Hello; {$APPTYPE CONSOLE} uses System.SysUtils, WinAPI.Wi...
Sergey Vinogradov
20
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
Карта сайта