а ReplcaingMergeTree с ключом для версий не подойдет? Например, время
ReplcaingMergeTree чистит данные в фоновом режиме. Пока данные не почистились они будут задвоены в отчетах. Например значения таблицы table_replacing: key_column value ver ———————————-- key_1 5 1 key_1 8 2
Тогда запрос к таблице для получения итогового значения select sum(value) from table_replacing where key_column = 'key_1' будет выдавать неожиданные результаты: до слияния 13, после слияния 8.
А мне нужно выдавать всегда последнее значение. И не важно тип поля ver UInt или Datetime
ReplcaingMergeTree чистит данные в фоновом режиме. Пока данные не почистились они будут задвоены в отчетах. Например значения таблицы table_replacing: key_column value ver ———————————-- key_1 5 1 key_1 8 2
Тогда запрос к таблице для получения итогового значения select sum(value) from table_replacing where key_column = 'key_1' будет выдавать неожиданные результаты: до слияния 13, после слияния 8.
А мне нужно выдавать всегда последнее значение. И не важно тип поля ver UInt или Datetime
можно написать группировку по ключу и max(ver) Но если вы прям хотите достать актуальную версию из коллапсинг мерж три, то можете написать что-то типа select fields from ur_table group fields_except_ver having sum(ver) > 0.
ReplcaingMergeTree чистит данные в фоновом режиме. Пока данные не почистились они будут задвоены в отчетах. Например значения таблицы table_replacing: key_column value ver ———————————-- key_1 5 1 key_1 8 2
Тогда запрос к таблице для получения итогового значения select sum(value) from table_replacing where key_column = 'key_1' будет выдавать неожиданные результаты: до слияния 13, после слияния 8.
А мне нужно выдавать всегда последнее значение. И не важно тип поля ver UInt или Datetime
если скорость не столь критична, можно использовать SELECT * FROM table FINAL
можно написать группировку по ключу и max(ver) Но если вы прям хотите достать актуальную версию из коллапсинг мерж три, то можете написать что-то типа select fields from ur_table group fields_except_ver having sum(ver) > 0.
можно написать группировку по ключу и max(ver) т.е. select key_column, value, max(ver) from table_replacing group by key_column вернет мне самую последнюю запись value с максимальной версией?
можно написать группировку по ключу и max(ver) т.е. select key_column, value, max(ver) from table_replacing group by key_column вернет мне самую последнюю запись value с максимальной версией?