записей) и периодически ее нужно полностью обновлять, на данный момент - я формирую новую таблицу, заполняю ее и в момент X делаю rename старой таблицы в запасную, а новой таблицы - в старую. Это решение выглядит жутко костыльным и хочется поскорее от него уйти. Помимо костыльности оно еще пугает (кажется) невозможностью человеческой репликации.
С моей точки зрения выглядит логичным добавление еще одного поля, например ver, которое будет обозначать "номер набора данных"
Т.е. было
create table test (a UInt32, b UInt32...) order by (a)
станет
create table test (ver UInt16, a UInt32, b UInt32....) order by (a) partition by ver
И все запросы меняются с select b from test where a=123 на select b from test where ver=15 and a=123
Вопросы:
1. логично ли это и есть ли более удобные методики?
2. замедлятся ли селекты, кажется, что партиционирование по отдельному столбцу должно бы спасти от деградации скорости, но я не уверен.
не подскажите по этому вопросу?
с версией хорошая идея.
Обсуждают сегодня