Политика условного хранения данных в Azure Data Explorer (Kusto)

Текущая политика хранения данных Kusto в основном основана на времени приема. Мне интересно, есть ли способ определить политику хранения данных, основанную на каком-либо другом условии, или какой-либо способ имитировать поведение политики условного хранения данных.

Например, я хочу удалить элемент из базы данных только в том случае, если есть более новая версия того же самого (например, определенного столбцом идентификатора) элемента, который был загружен; В противном случае я бы хотел, чтобы элемент сохранялся в базе данных независимо от времени его приема. Как этого добиться?


person Liang    schedule 23.03.2021    source источник


Ответы (1)


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

Вы можете подумать о создании материализованное представление, в котором используется summarize arg_max(version_column, *) by id_column - более старые записи не удаляются, но если вы запрашиваете представление вместо таблицы с необработанными данными, они не будут отображаться в ваших запросах.

person Yoni    schedule 23.03.2021
comment
Верно. Но поскольку мы фактически не отбрасывали данные, общий размер данных по-прежнему будет нашей проблемой. Я думаю, что Kusto предлагает только 4T max с точки зрения емкости данных. - person Liang; 23.03.2021
comment
Я думаю, что Kusto предлагает только 4T max с точки зрения емкости данных, ограничение, о котором вы упомянули, - это размер кеша на узел в некоторых SKU. это не ограничение на размер таблицы (такого ограничения не существует). для снижения затрат вы можете настроить политику кэширования для необработанной таблицы, чтобы она была минимальной, и в этом случае ее размер на диске будет меньше - person Yoni; 24.03.2021
comment
Это интересно. Возможно, это то, что мы искали. Спасибо! - person Liang; 24.03.2021